omniroute 1.7.2 → 1.7.4

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 (843) hide show
  1. package/README.ar.md +4 -0
  2. package/README.bg.md +4 -0
  3. package/README.da.md +4 -0
  4. package/README.de.md +13 -9
  5. package/README.es.md +13 -9
  6. package/README.fi.md +4 -0
  7. package/README.fr.md +13 -9
  8. package/README.he.md +29 -25
  9. package/README.hu.md +4 -0
  10. package/README.id.md +4 -0
  11. package/README.in.md +4 -0
  12. package/README.it.md +13 -9
  13. package/README.ja.md +4 -0
  14. package/README.ko.md +29 -25
  15. package/README.md +45 -0
  16. package/README.ms.md +4 -0
  17. package/README.nl.md +4 -0
  18. package/README.no.md +4 -0
  19. package/README.phi.md +4 -0
  20. package/README.pl.md +4 -0
  21. package/README.pt-BR.md +29 -25
  22. package/README.pt.md +4 -0
  23. package/README.ro.md +4 -0
  24. package/README.ru.md +13 -9
  25. package/README.sk.md +4 -0
  26. package/README.sv.md +4 -0
  27. package/README.th.md +16 -12
  28. package/README.uk-UA.md +4 -0
  29. package/README.vi.md +4 -0
  30. package/README.zh-CN.md +26 -22
  31. package/app/.env +122 -0
  32. package/app/.next/BUILD_ID +1 -1
  33. package/app/.next/app-path-routes-manifest.json +30 -28
  34. package/app/.next/build-manifest.json +3 -3
  35. package/app/.next/prerender-manifest.json +3 -3
  36. package/app/.next/required-server-files.json +1 -1
  37. package/app/.next/routes-manifest.json +12 -0
  38. package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js +2 -2
  39. package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
  40. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page.js +2 -2
  42. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page.js.nft.json +1 -1
  43. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  44. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js +2 -2
  45. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js.nft.json +1 -1
  46. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +3 -3
  48. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  49. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  51. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  52. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/(dashboard)/dashboard/costs/page.js +2 -2
  54. package/app/.next/server/app/(dashboard)/dashboard/costs/page.js.nft.json +1 -1
  55. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  57. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  58. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/(dashboard)/dashboard/health/page.js +2 -2
  60. package/app/.next/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
  61. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/(dashboard)/dashboard/limits/page.js +2 -2
  63. package/app/.next/server/app/(dashboard)/dashboard/limits/page.js.nft.json +1 -1
  64. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/(dashboard)/dashboard/logs/page.js +2 -2
  66. package/app/.next/server/app/(dashboard)/dashboard/logs/page.js.nft.json +1 -1
  67. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/(dashboard)/dashboard/media/page.js +2 -2
  69. package/app/.next/server/app/(dashboard)/dashboard/media/page.js.nft.json +1 -1
  70. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js +2 -2
  72. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js.nft.json +1 -1
  73. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
  75. package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  76. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  77. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  78. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  79. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  80. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  81. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  82. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  84. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  85. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  86. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  87. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  88. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js +2 -2
  90. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
  91. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  92. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js +2 -2
  93. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
  94. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +3 -3
  96. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  97. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  98. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  99. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  100. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/_global-error/page.js +3 -3
  102. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/_global-error.html +2 -2
  104. package/app/.next/server/app/_global-error.rsc +4 -4
  105. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +4 -4
  106. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  107. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  108. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  109. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  110. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  111. package/app/.next/server/app/_not-found/page.js +2 -2
  112. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  113. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/auth/login/route.js +1 -1
  115. package/app/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  116. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/auth/logout/route.js +1 -1
  118. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  119. package/app/.next/server/app/api/auth/status/route.js +1 -1
  120. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  121. package/app/.next/server/app/api/cache/route.js +1 -1
  122. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  123. package/app/.next/server/app/api/cache/stats/route.js +1 -1
  124. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  126. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  127. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
  129. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/cli-tools/backups/route.js +2 -2
  131. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  133. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +2 -2
  135. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  136. package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  137. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  138. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
  139. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
  141. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route.js +1 -1
  143. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  144. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  145. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  147. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
  149. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/cli-tools/status/route.js +2 -2
  151. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/cloud/auth/route.js +1 -1
  153. package/app/.next/server/app/api/cloud/auth/route.js.nft.json +1 -1
  154. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  155. package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
  156. package/app/.next/server/app/api/cloud/credentials/update/route.js.nft.json +1 -1
  157. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
  159. package/app/.next/server/app/api/cloud/model/resolve/route.js.nft.json +1 -1
  160. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
  162. package/app/.next/server/app/api/cloud/models/alias/route.js.nft.json +1 -1
  163. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  165. package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
  166. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/combos/metrics/route.js +1 -1
  168. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/combos/route.js +1 -1
  170. package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
  171. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/combos/test/route.js +1 -1
  173. package/app/.next/server/app/api/combos/test/route.js.nft.json +1 -1
  174. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/compliance/audit-log/route.js +1 -1
  176. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/db-backups/export/route.js +1 -1
  178. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/db-backups/exportAll/route.js +1 -1
  180. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/db-backups/import/route.js +1 -1
  182. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  183. package/app/.next/server/app/api/db-backups/route.js +1 -1
  184. package/app/.next/server/app/api/db-backups/route.js.nft.json +1 -1
  185. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  186. package/app/.next/server/app/api/evals/[suiteId]/route.js +1 -1
  187. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/evals/route.js +1 -1
  189. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/api/fallback/chains/route.js +2 -2
  191. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  192. package/app/.next/server/app/api/init/route.js +1 -1
  193. package/app/.next/server/app/api/init/route.js.nft.json +1 -1
  194. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  195. package/app/.next/server/app/api/keys/[id]/route.js +1 -1
  196. package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
  197. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  198. package/app/.next/server/app/api/keys/route.js +1 -1
  199. package/app/.next/server/app/api/keys/route.js.nft.json +1 -1
  200. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/api/logs/console/route.js +1 -1
  202. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
  203. package/app/.next/server/app/api/models/alias/route.js +1 -1
  204. package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
  205. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  206. package/app/.next/server/app/api/models/availability/route.js +1 -1
  207. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  208. package/app/.next/server/app/api/models/catalog/route.js +2 -2
  209. package/app/.next/server/app/api/models/catalog/route.js.nft.json +1 -1
  210. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  211. package/app/.next/server/app/api/models/route.js +2 -2
  212. package/app/.next/server/app/api/models/route.js.nft.json +1 -1
  213. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  214. package/app/.next/server/app/api/monitoring/health/route.js +2 -2
  215. package/app/.next/server/app/api/monitoring/health/route.js.nft.json +1 -1
  216. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  217. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +2 -2
  218. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  219. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  220. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +1 -1
  221. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  222. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  223. package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  224. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  225. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  226. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  227. package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  228. package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  229. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  230. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  231. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  232. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  233. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  234. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  235. package/app/.next/server/app/api/policies/route.js +2 -2
  236. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  237. package/app/.next/server/app/api/pricing/defaults/route.js +1 -1
  238. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  239. package/app/.next/server/app/api/pricing/models/route.js +1 -1
  240. package/app/.next/server/app/api/pricing/models/route.js.nft.json +1 -1
  241. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  242. package/app/.next/server/app/api/pricing/route.js +1 -1
  243. package/app/.next/server/app/api/pricing/route.js.nft.json +1 -1
  244. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  245. package/app/.next/server/app/api/provider-metrics/route.js +2 -2
  246. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  247. package/app/.next/server/app/api/provider-models/route.js +1 -1
  248. package/app/.next/server/app/api/provider-models/route.js.nft.json +1 -1
  249. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  250. package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  251. package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  252. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  253. package/app/.next/server/app/api/provider-nodes/route.js +2 -2
  254. package/app/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
  255. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  256. package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
  257. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  258. package/app/.next/server/app/api/providers/[id]/models/route.js +2 -2
  259. package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  260. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  261. package/app/.next/server/app/api/providers/[id]/route.js +1 -1
  262. package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
  263. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  264. package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
  265. package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  266. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  267. package/app/.next/server/app/api/providers/client/route.js +1 -1
  268. package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
  269. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  270. package/app/.next/server/app/api/providers/route.js +2 -2
  271. package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
  272. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  273. package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
  274. package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  275. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  276. package/app/.next/server/app/api/providers/validate/route.js +1 -1
  277. package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
  278. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  279. package/app/.next/server/app/api/rate-limit/route.js +1 -1
  280. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  281. package/app/.next/server/app/api/rate-limits/route.js +1 -1
  282. package/app/.next/server/app/api/rate-limits/route.js.nft.json +1 -1
  283. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  284. package/app/.next/server/app/api/resilience/reset/route.js +1 -1
  285. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  286. package/app/.next/server/app/api/resilience/route.js +1 -1
  287. package/app/.next/server/app/api/resilience/route.js.nft.json +1 -1
  288. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  289. package/app/.next/server/app/api/restart/route.js +1 -1
  290. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  291. package/app/.next/server/app/api/sessions/route.js +1 -1
  292. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  293. package/app/.next/server/app/api/settings/background-degradation/route.js +1 -0
  294. package/app/.next/server/app/api/settings/background-degradation/route.js.nft.json +1 -0
  295. package/app/.next/server/app/api/settings/background-degradation/route_client-reference-manifest.js +1 -0
  296. package/app/.next/server/app/api/settings/combo-defaults/route.js +1 -1
  297. package/app/.next/server/app/api/settings/combo-defaults/route.js.nft.json +1 -1
  298. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  299. package/app/.next/server/app/api/settings/ip-filter/route.js +1 -1
  300. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  301. package/app/.next/server/app/api/settings/model-aliases/route.js +1 -0
  302. package/app/.next/server/app/api/settings/model-aliases/route.js.nft.json +1 -0
  303. package/app/.next/server/app/api/settings/model-aliases/route_client-reference-manifest.js +1 -0
  304. package/app/.next/server/app/api/settings/proxy/route.js +1 -1
  305. package/app/.next/server/app/api/settings/proxy/route.js.nft.json +1 -1
  306. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  307. package/app/.next/server/app/api/settings/proxy/test/route.js +1 -1
  308. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  309. package/app/.next/server/app/api/settings/require-login/route.js +1 -1
  310. package/app/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
  311. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  312. package/app/.next/server/app/api/settings/route.js +1 -1
  313. package/app/.next/server/app/api/settings/route.js.nft.json +1 -1
  314. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  315. package/app/.next/server/app/api/settings/system-prompt/route.js +1 -1
  316. package/app/.next/server/app/api/settings/system-prompt/route.js.nft.json +1 -1
  317. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  318. package/app/.next/server/app/api/settings/thinking-budget/route.js +1 -1
  319. package/app/.next/server/app/api/settings/thinking-budget/route.js.nft.json +1 -1
  320. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  321. package/app/.next/server/app/api/shutdown/route.js +1 -1
  322. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  323. package/app/.next/server/app/api/storage/health/route.js +1 -1
  324. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  325. package/app/.next/server/app/api/sync/cloud/route.js +1 -1
  326. package/app/.next/server/app/api/sync/cloud/route.js.nft.json +1 -1
  327. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  328. package/app/.next/server/app/api/sync/initialize/route.js +1 -1
  329. package/app/.next/server/app/api/sync/initialize/route.js.nft.json +1 -1
  330. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  331. package/app/.next/server/app/api/tags/route.js +1 -1
  332. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  333. package/app/.next/server/app/api/telemetry/summary/route.js +1 -1
  334. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  335. package/app/.next/server/app/api/token-health/route.js +1 -1
  336. package/app/.next/server/app/api/token-health/route.js.nft.json +1 -1
  337. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  338. package/app/.next/server/app/api/translator/detect/route.js +1 -1
  339. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  340. package/app/.next/server/app/api/translator/history/route.js +1 -1
  341. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  342. package/app/.next/server/app/api/translator/load/route.js +1 -1
  343. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  344. package/app/.next/server/app/api/translator/save/route.js +1 -1
  345. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  346. package/app/.next/server/app/api/translator/send/route.js +1 -1
  347. package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
  348. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  349. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  350. package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
  351. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  352. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  353. package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  354. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  355. package/app/.next/server/app/api/usage/analytics/route.js +1 -1
  356. package/app/.next/server/app/api/usage/analytics/route.js.nft.json +1 -1
  357. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  358. package/app/.next/server/app/api/usage/budget/route.js +2 -2
  359. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  360. package/app/.next/server/app/api/usage/call-logs/[id]/route.js +1 -1
  361. package/app/.next/server/app/api/usage/call-logs/[id]/route.js.nft.json +1 -1
  362. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  363. package/app/.next/server/app/api/usage/call-logs/route.js +1 -1
  364. package/app/.next/server/app/api/usage/call-logs/route.js.nft.json +1 -1
  365. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  366. package/app/.next/server/app/api/usage/history/route.js +1 -1
  367. package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
  368. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  369. package/app/.next/server/app/api/usage/logs/route.js +1 -1
  370. package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
  371. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  372. package/app/.next/server/app/api/usage/proxy-logs/route.js +1 -1
  373. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  374. package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
  375. package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  376. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  377. package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
  378. package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  379. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  380. package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
  381. package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  382. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  383. package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
  384. package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  385. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  386. package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
  387. package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  388. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  389. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  390. package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  391. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  392. package/app/.next/server/app/api/v1/images/generations/route.js +1 -1
  393. package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  394. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  395. package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
  396. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  397. package/app/.next/server/app/api/v1/messages/route.js +1 -1
  398. package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
  399. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  400. package/app/.next/server/app/api/v1/models/route.js +2 -2
  401. package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  402. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  403. package/app/.next/server/app/api/v1/moderations/route.js +1 -1
  404. package/app/.next/server/app/api/v1/moderations/route.js.nft.json +1 -1
  405. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  406. package/app/.next/server/app/api/v1/music/generations/route.js +1 -1
  407. package/app/.next/server/app/api/v1/music/generations/route.js.nft.json +1 -1
  408. package/app/.next/server/app/api/v1/music/generations/route_client-reference-manifest.js +1 -1
  409. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js +1 -1
  410. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js.nft.json +1 -1
  411. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  412. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js +1 -1
  413. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js.nft.json +1 -1
  414. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  415. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js +1 -1
  416. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js.nft.json +1 -1
  417. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  418. package/app/.next/server/app/api/v1/rerank/route.js +1 -1
  419. package/app/.next/server/app/api/v1/rerank/route.js.nft.json +1 -1
  420. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  421. package/app/.next/server/app/api/v1/responses/route.js +1 -1
  422. package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
  423. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  424. package/app/.next/server/app/api/v1/route.js +1 -1
  425. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  426. package/app/.next/server/app/api/v1/videos/generations/route.js +1 -1
  427. package/app/.next/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  428. package/app/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -1
  429. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  430. package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  431. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  432. package/app/.next/server/app/api/v1beta/models/route.js +2 -2
  433. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  434. package/app/.next/server/app/callback/page.js +2 -2
  435. package/app/.next/server/app/callback/page.js.nft.json +1 -1
  436. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  437. package/app/.next/server/app/docs/page.js +3 -3
  438. package/app/.next/server/app/docs/page.js.nft.json +1 -1
  439. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  440. package/app/.next/server/app/forbidden/page.js +2 -2
  441. package/app/.next/server/app/forbidden/page.js.nft.json +1 -1
  442. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  443. package/app/.next/server/app/forgot-password/page.js +2 -2
  444. package/app/.next/server/app/forgot-password/page.js.nft.json +1 -1
  445. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  446. package/app/.next/server/app/landing/page.js +2 -2
  447. package/app/.next/server/app/landing/page.js.nft.json +1 -1
  448. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  449. package/app/.next/server/app/login/page.js +2 -2
  450. package/app/.next/server/app/login/page.js.nft.json +1 -1
  451. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  452. package/app/.next/server/app/page.js +2 -2
  453. package/app/.next/server/app/page.js.nft.json +1 -1
  454. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  455. package/app/.next/server/app/privacy/page.js +2 -2
  456. package/app/.next/server/app/privacy/page.js.nft.json +1 -1
  457. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  458. package/app/.next/server/app/terms/page.js +2 -2
  459. package/app/.next/server/app/terms/page.js.nft.json +1 -1
  460. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  461. package/app/.next/server/app-paths-manifest.json +30 -28
  462. package/app/.next/server/chunks/1248.js +1 -1
  463. package/app/.next/server/chunks/1308.js +1 -1
  464. package/app/.next/server/chunks/1526.js +1 -1
  465. package/app/.next/server/chunks/1584.js +1 -1
  466. package/app/.next/server/chunks/1623.js +1 -1
  467. package/app/.next/server/chunks/1880.js +1 -1
  468. package/app/.next/server/chunks/1960.js +1 -1
  469. package/app/.next/server/chunks/1990.js +1 -1
  470. package/app/.next/server/chunks/2180.js +1 -1
  471. package/app/.next/server/chunks/2214.js +1 -1
  472. package/app/.next/server/chunks/2372.js +1 -1
  473. package/app/.next/server/chunks/2594.js +1 -1
  474. package/app/.next/server/chunks/2767.js +1 -1
  475. package/app/.next/server/chunks/2901.js +2 -2
  476. package/app/.next/server/chunks/2910.js +1 -1
  477. package/app/.next/server/chunks/3371.js +1 -1
  478. package/app/.next/server/chunks/3447.js +1 -1
  479. package/app/.next/server/chunks/3498.js +1 -1
  480. package/app/.next/server/chunks/3596.js +1 -1
  481. package/app/.next/server/chunks/3801.js +2 -0
  482. package/app/.next/server/chunks/3911.js +1 -1
  483. package/app/.next/server/chunks/4488.js +1 -1
  484. package/app/.next/server/chunks/4568.js +1 -1
  485. package/app/.next/server/chunks/496.js +1 -1
  486. package/app/.next/server/chunks/5047.js +1 -1
  487. package/app/.next/server/chunks/5094.js +1 -1
  488. package/app/.next/server/chunks/5097.js +1 -1
  489. package/app/.next/server/chunks/5521.js +1 -1
  490. package/app/.next/server/chunks/5945.js +1 -1
  491. package/app/.next/server/chunks/6118.js +1 -1
  492. package/app/.next/server/chunks/6930.js +1 -1
  493. package/app/.next/server/chunks/7011.js +1 -1
  494. package/app/.next/server/chunks/708.js +1 -1
  495. package/app/.next/server/chunks/7109.js +1 -1
  496. package/app/.next/server/chunks/7230.js +2 -2
  497. package/app/.next/server/chunks/7650.js +1 -1
  498. package/app/.next/server/chunks/8020.js +3 -3
  499. package/app/.next/server/chunks/8220.js +1 -1
  500. package/app/.next/server/chunks/8464.js +1 -1
  501. package/app/.next/server/chunks/8706.js +1 -1
  502. package/app/.next/server/chunks/8976.js +1 -1
  503. package/app/.next/server/chunks/9119.js +1 -1
  504. package/app/.next/server/chunks/944.js +1 -1
  505. package/app/.next/server/chunks/9548.js +1 -0
  506. package/app/.next/server/chunks/9679.js +1 -0
  507. package/app/.next/server/chunks/9824.js +2 -2
  508. package/app/.next/server/chunks/9837.js +1 -1
  509. package/app/.next/server/middleware-build-manifest.js +1 -1
  510. package/app/.next/server/middleware.js +3 -3
  511. package/app/.next/server/next-font-manifest.js +1 -1
  512. package/app/.next/server/next-font-manifest.json +1 -1
  513. package/app/.next/server/pages/500.html +2 -2
  514. package/app/.next/server/server-reference-manifest.js +1 -1
  515. package/app/.next/server/server-reference-manifest.json +1 -1
  516. package/app/.next/static/a624rqqXG_QtNPqv8ZMWa/_buildManifest.js +1 -0
  517. package/app/.next/static/chunks/5846-1dad4fadf761e0d8.js +2 -0
  518. package/app/.next/static/chunks/{993-035473765d7d1871.js → 993-9f36b0b069ca090e.js} +2 -2
  519. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/loading-ce5214cdf489c9df.js +1 -0
  520. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/{page-52f76c7c91444ec2.js → page-20786f2c7fdbab57.js} +1 -1
  521. package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-12d772841a253032.js +1 -0
  522. package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-c9b98846b8479f3f.js +1 -0
  523. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-5e34630a5dc32825.js +15 -0
  524. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-3dce7fccfcf177dd.js → page-85a3e6a423aceded.js} +1 -1
  525. package/app/.next/static/chunks/app/(dashboard)/dashboard/costs/{page-3ed2a7685adf9b91.js → page-cdb8071441476da9.js} +1 -1
  526. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-588b8bc3c4e631e0.js +1 -0
  527. package/app/.next/static/chunks/app/(dashboard)/dashboard/health/{page-9a6519bf1468f16e.js → page-b480b3cb318782d7.js} +1 -1
  528. package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-0ae1d6cc5fc4671f.js +1 -0
  529. package/app/.next/static/chunks/app/(dashboard)/dashboard/logs/{page-833d24f322a20f5a.js → page-ffdc1dcf074c7528.js} +1 -1
  530. package/app/.next/static/chunks/app/(dashboard)/dashboard/media/page-72b768421394b42c.js +1 -0
  531. package/app/.next/static/chunks/app/(dashboard)/dashboard/onboarding/{page-d424641c7e428be9.js → page-5378e9473a20cd6a.js} +1 -1
  532. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-5c87e49261a22fd5.js +1 -0
  533. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-6301a4ed902b878a.js +1 -0
  534. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-b38f2d03bae8166a.js +1 -0
  535. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{error-2f0177a2197dd556.js → error-f0730d6d62d02e82.js} +1 -1
  536. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{loading-99ab4d478260d53b.js → loading-59cbccd6d5185ca9.js} +1 -1
  537. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-a7fb36872be60fe0.js +1 -0
  538. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{page-1f022385b812b987.js → page-40dc5ac82df708e9.js} +1 -1
  539. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/{error-e844916e39172c8b.js → error-cc85c3ff1f63aea6.js} +1 -1
  540. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/{loading-bb068659ee679ff4.js → loading-19fc771a287bcb4c.js} +1 -1
  541. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-1550a2460948273c.js +1 -0
  542. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/pricing/{page-f10a8d4bb8236913.js → page-cbe9b21b62bbc2bd.js} +1 -1
  543. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/{page-83b07523f81d6282.js → page-534e13a69cb60a4f.js} +1 -1
  544. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/{page-9cc99ab874fc36e7.js → page-86a076d820931a30.js} +1 -1
  545. package/app/.next/static/chunks/app/(dashboard)/{layout-00d5d56af65098a9.js → layout-16302e54f9ef3d0e.js} +1 -1
  546. package/app/.next/static/chunks/app/_global-error/page-6301a4ed902b878a.js +1 -0
  547. package/app/.next/static/chunks/app/_not-found/page-6301a4ed902b878a.js +1 -0
  548. package/app/.next/static/chunks/app/api/auth/login/route-6301a4ed902b878a.js +1 -0
  549. package/app/.next/static/chunks/app/api/auth/logout/route-6301a4ed902b878a.js +1 -0
  550. package/app/.next/static/chunks/app/api/auth/status/route-6301a4ed902b878a.js +1 -0
  551. package/app/.next/static/chunks/app/api/cache/route-6301a4ed902b878a.js +1 -0
  552. package/app/.next/static/chunks/app/api/cache/stats/route-6301a4ed902b878a.js +1 -0
  553. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-6301a4ed902b878a.js +1 -0
  554. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-6301a4ed902b878a.js +1 -0
  555. package/app/.next/static/chunks/app/api/cli-tools/backups/route-6301a4ed902b878a.js +1 -0
  556. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-6301a4ed902b878a.js +1 -0
  557. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-6301a4ed902b878a.js +1 -0
  558. package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-6301a4ed902b878a.js +1 -0
  559. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-6301a4ed902b878a.js +1 -0
  560. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-6301a4ed902b878a.js +1 -0
  561. package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-6301a4ed902b878a.js +1 -0
  562. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-6301a4ed902b878a.js +1 -0
  563. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-6301a4ed902b878a.js +1 -0
  564. package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-6301a4ed902b878a.js +1 -0
  565. package/app/.next/static/chunks/app/api/cli-tools/status/route-6301a4ed902b878a.js +1 -0
  566. package/app/.next/static/chunks/app/api/cloud/auth/route-6301a4ed902b878a.js +1 -0
  567. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-6301a4ed902b878a.js +1 -0
  568. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-6301a4ed902b878a.js +1 -0
  569. package/app/.next/static/chunks/app/api/cloud/models/alias/route-6301a4ed902b878a.js +1 -0
  570. package/app/.next/static/chunks/app/api/combos/[id]/route-6301a4ed902b878a.js +1 -0
  571. package/app/.next/static/chunks/app/api/combos/metrics/route-6301a4ed902b878a.js +1 -0
  572. package/app/.next/static/chunks/app/api/combos/route-6301a4ed902b878a.js +1 -0
  573. package/app/.next/static/chunks/app/api/combos/test/route-6301a4ed902b878a.js +1 -0
  574. package/app/.next/static/chunks/app/api/compliance/audit-log/route-6301a4ed902b878a.js +1 -0
  575. package/app/.next/static/chunks/app/api/db-backups/export/route-6301a4ed902b878a.js +1 -0
  576. package/app/.next/static/chunks/app/api/db-backups/exportAll/route-6301a4ed902b878a.js +1 -0
  577. package/app/.next/static/chunks/app/api/db-backups/import/route-6301a4ed902b878a.js +1 -0
  578. package/app/.next/static/chunks/app/api/db-backups/route-6301a4ed902b878a.js +1 -0
  579. package/app/.next/static/chunks/app/api/evals/[suiteId]/route-6301a4ed902b878a.js +1 -0
  580. package/app/.next/static/chunks/app/api/evals/route-6301a4ed902b878a.js +1 -0
  581. package/app/.next/static/chunks/app/api/fallback/chains/route-6301a4ed902b878a.js +1 -0
  582. package/app/.next/static/chunks/app/api/init/route-6301a4ed902b878a.js +1 -0
  583. package/app/.next/static/chunks/app/api/keys/[id]/route-6301a4ed902b878a.js +1 -0
  584. package/app/.next/static/chunks/app/api/keys/route-6301a4ed902b878a.js +1 -0
  585. package/app/.next/static/chunks/app/api/logs/console/route-6301a4ed902b878a.js +1 -0
  586. package/app/.next/static/chunks/app/api/models/alias/route-6301a4ed902b878a.js +1 -0
  587. package/app/.next/static/chunks/app/api/models/availability/route-6301a4ed902b878a.js +1 -0
  588. package/app/.next/static/chunks/app/api/models/catalog/route-6301a4ed902b878a.js +1 -0
  589. package/app/.next/static/chunks/app/api/models/route-6301a4ed902b878a.js +1 -0
  590. package/app/.next/static/chunks/app/api/monitoring/health/route-6301a4ed902b878a.js +1 -0
  591. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-6301a4ed902b878a.js +1 -0
  592. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-6301a4ed902b878a.js +1 -0
  593. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-6301a4ed902b878a.js +1 -0
  594. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-6301a4ed902b878a.js +1 -0
  595. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-6301a4ed902b878a.js +1 -0
  596. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-6301a4ed902b878a.js +1 -0
  597. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-6301a4ed902b878a.js +1 -0
  598. package/app/.next/static/chunks/app/api/policies/route-6301a4ed902b878a.js +1 -0
  599. package/app/.next/static/chunks/app/api/pricing/defaults/route-6301a4ed902b878a.js +1 -0
  600. package/app/.next/static/chunks/app/api/pricing/models/route-6301a4ed902b878a.js +1 -0
  601. package/app/.next/static/chunks/app/api/pricing/route-6301a4ed902b878a.js +1 -0
  602. package/app/.next/static/chunks/app/api/provider-metrics/route-6301a4ed902b878a.js +1 -0
  603. package/app/.next/static/chunks/app/api/provider-models/route-6301a4ed902b878a.js +1 -0
  604. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-6301a4ed902b878a.js +1 -0
  605. package/app/.next/static/chunks/app/api/provider-nodes/route-6301a4ed902b878a.js +1 -0
  606. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-6301a4ed902b878a.js +1 -0
  607. package/app/.next/static/chunks/app/api/providers/[id]/models/route-6301a4ed902b878a.js +1 -0
  608. package/app/.next/static/chunks/app/api/providers/[id]/route-6301a4ed902b878a.js +1 -0
  609. package/app/.next/static/chunks/app/api/providers/[id]/test/route-6301a4ed902b878a.js +1 -0
  610. package/app/.next/static/chunks/app/api/providers/client/route-6301a4ed902b878a.js +1 -0
  611. package/app/.next/static/chunks/app/api/providers/route-6301a4ed902b878a.js +1 -0
  612. package/app/.next/static/chunks/app/api/providers/test-batch/route-6301a4ed902b878a.js +1 -0
  613. package/app/.next/static/chunks/app/api/providers/validate/route-6301a4ed902b878a.js +1 -0
  614. package/app/.next/static/chunks/app/api/rate-limit/route-6301a4ed902b878a.js +1 -0
  615. package/app/.next/static/chunks/app/api/rate-limits/route-6301a4ed902b878a.js +1 -0
  616. package/app/.next/static/chunks/app/api/resilience/reset/route-6301a4ed902b878a.js +1 -0
  617. package/app/.next/static/chunks/app/api/resilience/route-6301a4ed902b878a.js +1 -0
  618. package/app/.next/static/chunks/app/api/restart/route-6301a4ed902b878a.js +1 -0
  619. package/app/.next/static/chunks/app/api/sessions/route-6301a4ed902b878a.js +1 -0
  620. package/app/.next/static/chunks/app/api/settings/background-degradation/route-6301a4ed902b878a.js +1 -0
  621. package/app/.next/static/chunks/app/api/settings/combo-defaults/route-6301a4ed902b878a.js +1 -0
  622. package/app/.next/static/chunks/app/api/settings/ip-filter/route-6301a4ed902b878a.js +1 -0
  623. package/app/.next/static/chunks/app/api/settings/model-aliases/route-6301a4ed902b878a.js +1 -0
  624. package/app/.next/static/chunks/app/api/settings/proxy/route-6301a4ed902b878a.js +1 -0
  625. package/app/.next/static/chunks/app/api/settings/proxy/test/route-6301a4ed902b878a.js +1 -0
  626. package/app/.next/static/chunks/app/api/settings/require-login/route-6301a4ed902b878a.js +1 -0
  627. package/app/.next/static/chunks/app/api/settings/route-6301a4ed902b878a.js +1 -0
  628. package/app/.next/static/chunks/app/api/settings/system-prompt/route-6301a4ed902b878a.js +1 -0
  629. package/app/.next/static/chunks/app/api/settings/thinking-budget/route-6301a4ed902b878a.js +1 -0
  630. package/app/.next/static/chunks/app/api/shutdown/route-6301a4ed902b878a.js +1 -0
  631. package/app/.next/static/chunks/app/api/storage/health/route-6301a4ed902b878a.js +1 -0
  632. package/app/.next/static/chunks/app/api/sync/cloud/route-6301a4ed902b878a.js +1 -0
  633. package/app/.next/static/chunks/app/api/sync/initialize/route-6301a4ed902b878a.js +1 -0
  634. package/app/.next/static/chunks/app/api/tags/route-6301a4ed902b878a.js +1 -0
  635. package/app/.next/static/chunks/app/api/telemetry/summary/route-6301a4ed902b878a.js +1 -0
  636. package/app/.next/static/chunks/app/api/token-health/route-6301a4ed902b878a.js +1 -0
  637. package/app/.next/static/chunks/app/api/translator/detect/route-6301a4ed902b878a.js +1 -0
  638. package/app/.next/static/chunks/app/api/translator/history/route-6301a4ed902b878a.js +1 -0
  639. package/app/.next/static/chunks/app/api/translator/load/route-6301a4ed902b878a.js +1 -0
  640. package/app/.next/static/chunks/app/api/translator/save/route-6301a4ed902b878a.js +1 -0
  641. package/app/.next/static/chunks/app/api/translator/send/route-6301a4ed902b878a.js +1 -0
  642. package/app/.next/static/chunks/app/api/translator/translate/route-6301a4ed902b878a.js +1 -0
  643. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-6301a4ed902b878a.js +1 -0
  644. package/app/.next/static/chunks/app/api/usage/analytics/route-6301a4ed902b878a.js +1 -0
  645. package/app/.next/static/chunks/app/api/usage/budget/route-6301a4ed902b878a.js +1 -0
  646. package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-6301a4ed902b878a.js +1 -0
  647. package/app/.next/static/chunks/app/api/usage/call-logs/route-6301a4ed902b878a.js +1 -0
  648. package/app/.next/static/chunks/app/api/usage/history/route-6301a4ed902b878a.js +1 -0
  649. package/app/.next/static/chunks/app/api/usage/logs/route-6301a4ed902b878a.js +1 -0
  650. package/app/.next/static/chunks/app/api/usage/proxy-logs/route-6301a4ed902b878a.js +1 -0
  651. package/app/.next/static/chunks/app/api/usage/request-logs/route-6301a4ed902b878a.js +1 -0
  652. package/app/.next/static/chunks/app/api/v1/api/chat/route-6301a4ed902b878a.js +1 -0
  653. package/app/.next/static/chunks/app/api/v1/audio/speech/route-6301a4ed902b878a.js +1 -0
  654. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-6301a4ed902b878a.js +1 -0
  655. package/app/.next/static/chunks/app/api/v1/chat/completions/route-6301a4ed902b878a.js +1 -0
  656. package/app/.next/static/chunks/app/api/v1/embeddings/route-6301a4ed902b878a.js +1 -0
  657. package/app/.next/static/chunks/app/api/v1/images/generations/route-6301a4ed902b878a.js +1 -0
  658. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-6301a4ed902b878a.js +1 -0
  659. package/app/.next/static/chunks/app/api/v1/messages/route-6301a4ed902b878a.js +1 -0
  660. package/app/.next/static/chunks/app/api/v1/models/route-6301a4ed902b878a.js +1 -0
  661. package/app/.next/static/chunks/app/api/v1/moderations/route-6301a4ed902b878a.js +1 -0
  662. package/app/.next/static/chunks/app/api/v1/music/generations/route-6301a4ed902b878a.js +1 -0
  663. package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-6301a4ed902b878a.js +1 -0
  664. package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-6301a4ed902b878a.js +1 -0
  665. package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-6301a4ed902b878a.js +1 -0
  666. package/app/.next/static/chunks/app/api/v1/rerank/route-6301a4ed902b878a.js +1 -0
  667. package/app/.next/static/chunks/app/api/v1/responses/route-6301a4ed902b878a.js +1 -0
  668. package/app/.next/static/chunks/app/api/v1/route-6301a4ed902b878a.js +1 -0
  669. package/app/.next/static/chunks/app/api/v1/videos/generations/route-6301a4ed902b878a.js +1 -0
  670. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-6301a4ed902b878a.js +1 -0
  671. package/app/.next/static/chunks/app/api/v1beta/models/route-6301a4ed902b878a.js +1 -0
  672. package/app/.next/static/chunks/app/callback/{page-585a53f7dc6a30f1.js → page-0f0ebc0820dd18a5.js} +1 -1
  673. package/app/.next/static/chunks/app/docs/{page-2fe9dcbeb3f738c0.js → page-3658b3f15df3a19e.js} +1 -1
  674. package/app/.next/static/chunks/app/{error-0d59fc4efafbc38c.js → error-f918d9961a2368d3.js} +1 -1
  675. package/app/.next/static/chunks/app/forbidden/page-77657dfa95e61cd8.js +1 -0
  676. package/app/.next/static/chunks/app/forgot-password/page-be3bacc125c30a6b.js +1 -0
  677. package/app/.next/static/chunks/app/global-error-504ff9093e2a997d.js +1 -0
  678. package/app/.next/static/chunks/app/landing/page-75b0c988db383cfc.js +1 -0
  679. package/app/.next/static/chunks/app/{layout-108592eafb959363.js → layout-070972eb026af319.js} +1 -1
  680. package/app/.next/static/chunks/app/login/{page-121c612ee459e7c2.js → page-6c769465e407368f.js} +1 -1
  681. package/app/.next/static/chunks/app/not-found-11b712c853d93172.js +1 -0
  682. package/app/.next/static/chunks/app/page-6301a4ed902b878a.js +1 -0
  683. package/app/.next/static/chunks/app/privacy/{page-2fe9dcbeb3f738c0.js → page-3658b3f15df3a19e.js} +1 -1
  684. package/app/.next/static/chunks/app/terms/{page-2fe9dcbeb3f738c0.js → page-3658b3f15df3a19e.js} +1 -1
  685. package/app/.next/static/chunks/{main-app-c9da11a8061df107.js → main-app-ae230f6bf51a5edb.js} +1 -1
  686. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-6301a4ed902b878a.js +1 -0
  687. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-6301a4ed902b878a.js +1 -0
  688. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-6301a4ed902b878a.js +1 -0
  689. package/app/.next/static/css/bcd1741aee9d39ab.css +1 -0
  690. package/app/package.json +1 -1
  691. package/app/server.js +1 -1
  692. package/package.json +1 -1
  693. package/app/.next/server/chunks/5248.js +0 -1
  694. package/app/.next/server/chunks/5393.js +0 -2
  695. package/app/.next/static/chunks/5846-9e0f1f3afcbfb08c.js +0 -2
  696. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/loading-6f1750506292c630.js +0 -1
  697. package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-1dd4d0c348a7b0a6.js +0 -1
  698. package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-e5bf8955e7b9a4f5.js +0 -1
  699. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-77ab26722f5c56c7.js +0 -15
  700. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-1420c3ca376f1585.js +0 -1
  701. package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-f4a2d6d07df5ddc4.js +0 -1
  702. package/app/.next/static/chunks/app/(dashboard)/dashboard/media/page-1d0ca9b5d3eaf7cd.js +0 -1
  703. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-388840686801f3f5.js +0 -1
  704. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-cab2fb7f592d3c36.js +0 -1
  705. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-9c8ffb212f855704.js +0 -1
  706. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-31cdb6e15134d8c2.js +0 -1
  707. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-1393d4935fc087cf.js +0 -1
  708. package/app/.next/static/chunks/app/_global-error/page-cab2fb7f592d3c36.js +0 -1
  709. package/app/.next/static/chunks/app/_not-found/page-cab2fb7f592d3c36.js +0 -1
  710. package/app/.next/static/chunks/app/api/auth/login/route-cab2fb7f592d3c36.js +0 -1
  711. package/app/.next/static/chunks/app/api/auth/logout/route-cab2fb7f592d3c36.js +0 -1
  712. package/app/.next/static/chunks/app/api/auth/status/route-cab2fb7f592d3c36.js +0 -1
  713. package/app/.next/static/chunks/app/api/cache/route-cab2fb7f592d3c36.js +0 -1
  714. package/app/.next/static/chunks/app/api/cache/stats/route-cab2fb7f592d3c36.js +0 -1
  715. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-cab2fb7f592d3c36.js +0 -1
  716. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-cab2fb7f592d3c36.js +0 -1
  717. package/app/.next/static/chunks/app/api/cli-tools/backups/route-cab2fb7f592d3c36.js +0 -1
  718. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-cab2fb7f592d3c36.js +0 -1
  719. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-cab2fb7f592d3c36.js +0 -1
  720. package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-cab2fb7f592d3c36.js +0 -1
  721. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-cab2fb7f592d3c36.js +0 -1
  722. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-cab2fb7f592d3c36.js +0 -1
  723. package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-cab2fb7f592d3c36.js +0 -1
  724. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-cab2fb7f592d3c36.js +0 -1
  725. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-cab2fb7f592d3c36.js +0 -1
  726. package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-cab2fb7f592d3c36.js +0 -1
  727. package/app/.next/static/chunks/app/api/cli-tools/status/route-cab2fb7f592d3c36.js +0 -1
  728. package/app/.next/static/chunks/app/api/cloud/auth/route-cab2fb7f592d3c36.js +0 -1
  729. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-cab2fb7f592d3c36.js +0 -1
  730. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-cab2fb7f592d3c36.js +0 -1
  731. package/app/.next/static/chunks/app/api/cloud/models/alias/route-cab2fb7f592d3c36.js +0 -1
  732. package/app/.next/static/chunks/app/api/combos/[id]/route-cab2fb7f592d3c36.js +0 -1
  733. package/app/.next/static/chunks/app/api/combos/metrics/route-cab2fb7f592d3c36.js +0 -1
  734. package/app/.next/static/chunks/app/api/combos/route-cab2fb7f592d3c36.js +0 -1
  735. package/app/.next/static/chunks/app/api/combos/test/route-cab2fb7f592d3c36.js +0 -1
  736. package/app/.next/static/chunks/app/api/compliance/audit-log/route-cab2fb7f592d3c36.js +0 -1
  737. package/app/.next/static/chunks/app/api/db-backups/export/route-cab2fb7f592d3c36.js +0 -1
  738. package/app/.next/static/chunks/app/api/db-backups/exportAll/route-cab2fb7f592d3c36.js +0 -1
  739. package/app/.next/static/chunks/app/api/db-backups/import/route-cab2fb7f592d3c36.js +0 -1
  740. package/app/.next/static/chunks/app/api/db-backups/route-cab2fb7f592d3c36.js +0 -1
  741. package/app/.next/static/chunks/app/api/evals/[suiteId]/route-cab2fb7f592d3c36.js +0 -1
  742. package/app/.next/static/chunks/app/api/evals/route-cab2fb7f592d3c36.js +0 -1
  743. package/app/.next/static/chunks/app/api/fallback/chains/route-cab2fb7f592d3c36.js +0 -1
  744. package/app/.next/static/chunks/app/api/init/route-cab2fb7f592d3c36.js +0 -1
  745. package/app/.next/static/chunks/app/api/keys/[id]/route-cab2fb7f592d3c36.js +0 -1
  746. package/app/.next/static/chunks/app/api/keys/route-cab2fb7f592d3c36.js +0 -1
  747. package/app/.next/static/chunks/app/api/logs/console/route-cab2fb7f592d3c36.js +0 -1
  748. package/app/.next/static/chunks/app/api/models/alias/route-cab2fb7f592d3c36.js +0 -1
  749. package/app/.next/static/chunks/app/api/models/availability/route-cab2fb7f592d3c36.js +0 -1
  750. package/app/.next/static/chunks/app/api/models/catalog/route-cab2fb7f592d3c36.js +0 -1
  751. package/app/.next/static/chunks/app/api/models/route-cab2fb7f592d3c36.js +0 -1
  752. package/app/.next/static/chunks/app/api/monitoring/health/route-cab2fb7f592d3c36.js +0 -1
  753. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-cab2fb7f592d3c36.js +0 -1
  754. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-cab2fb7f592d3c36.js +0 -1
  755. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-cab2fb7f592d3c36.js +0 -1
  756. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-cab2fb7f592d3c36.js +0 -1
  757. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-cab2fb7f592d3c36.js +0 -1
  758. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-cab2fb7f592d3c36.js +0 -1
  759. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-cab2fb7f592d3c36.js +0 -1
  760. package/app/.next/static/chunks/app/api/policies/route-cab2fb7f592d3c36.js +0 -1
  761. package/app/.next/static/chunks/app/api/pricing/defaults/route-cab2fb7f592d3c36.js +0 -1
  762. package/app/.next/static/chunks/app/api/pricing/models/route-cab2fb7f592d3c36.js +0 -1
  763. package/app/.next/static/chunks/app/api/pricing/route-cab2fb7f592d3c36.js +0 -1
  764. package/app/.next/static/chunks/app/api/provider-metrics/route-cab2fb7f592d3c36.js +0 -1
  765. package/app/.next/static/chunks/app/api/provider-models/route-cab2fb7f592d3c36.js +0 -1
  766. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-cab2fb7f592d3c36.js +0 -1
  767. package/app/.next/static/chunks/app/api/provider-nodes/route-cab2fb7f592d3c36.js +0 -1
  768. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-cab2fb7f592d3c36.js +0 -1
  769. package/app/.next/static/chunks/app/api/providers/[id]/models/route-cab2fb7f592d3c36.js +0 -1
  770. package/app/.next/static/chunks/app/api/providers/[id]/route-cab2fb7f592d3c36.js +0 -1
  771. package/app/.next/static/chunks/app/api/providers/[id]/test/route-cab2fb7f592d3c36.js +0 -1
  772. package/app/.next/static/chunks/app/api/providers/client/route-cab2fb7f592d3c36.js +0 -1
  773. package/app/.next/static/chunks/app/api/providers/route-cab2fb7f592d3c36.js +0 -1
  774. package/app/.next/static/chunks/app/api/providers/test-batch/route-cab2fb7f592d3c36.js +0 -1
  775. package/app/.next/static/chunks/app/api/providers/validate/route-cab2fb7f592d3c36.js +0 -1
  776. package/app/.next/static/chunks/app/api/rate-limit/route-cab2fb7f592d3c36.js +0 -1
  777. package/app/.next/static/chunks/app/api/rate-limits/route-cab2fb7f592d3c36.js +0 -1
  778. package/app/.next/static/chunks/app/api/resilience/reset/route-cab2fb7f592d3c36.js +0 -1
  779. package/app/.next/static/chunks/app/api/resilience/route-cab2fb7f592d3c36.js +0 -1
  780. package/app/.next/static/chunks/app/api/restart/route-cab2fb7f592d3c36.js +0 -1
  781. package/app/.next/static/chunks/app/api/sessions/route-cab2fb7f592d3c36.js +0 -1
  782. package/app/.next/static/chunks/app/api/settings/combo-defaults/route-cab2fb7f592d3c36.js +0 -1
  783. package/app/.next/static/chunks/app/api/settings/ip-filter/route-cab2fb7f592d3c36.js +0 -1
  784. package/app/.next/static/chunks/app/api/settings/proxy/route-cab2fb7f592d3c36.js +0 -1
  785. package/app/.next/static/chunks/app/api/settings/proxy/test/route-cab2fb7f592d3c36.js +0 -1
  786. package/app/.next/static/chunks/app/api/settings/require-login/route-cab2fb7f592d3c36.js +0 -1
  787. package/app/.next/static/chunks/app/api/settings/route-cab2fb7f592d3c36.js +0 -1
  788. package/app/.next/static/chunks/app/api/settings/system-prompt/route-cab2fb7f592d3c36.js +0 -1
  789. package/app/.next/static/chunks/app/api/settings/thinking-budget/route-cab2fb7f592d3c36.js +0 -1
  790. package/app/.next/static/chunks/app/api/shutdown/route-cab2fb7f592d3c36.js +0 -1
  791. package/app/.next/static/chunks/app/api/storage/health/route-cab2fb7f592d3c36.js +0 -1
  792. package/app/.next/static/chunks/app/api/sync/cloud/route-cab2fb7f592d3c36.js +0 -1
  793. package/app/.next/static/chunks/app/api/sync/initialize/route-cab2fb7f592d3c36.js +0 -1
  794. package/app/.next/static/chunks/app/api/tags/route-cab2fb7f592d3c36.js +0 -1
  795. package/app/.next/static/chunks/app/api/telemetry/summary/route-cab2fb7f592d3c36.js +0 -1
  796. package/app/.next/static/chunks/app/api/token-health/route-cab2fb7f592d3c36.js +0 -1
  797. package/app/.next/static/chunks/app/api/translator/detect/route-cab2fb7f592d3c36.js +0 -1
  798. package/app/.next/static/chunks/app/api/translator/history/route-cab2fb7f592d3c36.js +0 -1
  799. package/app/.next/static/chunks/app/api/translator/load/route-cab2fb7f592d3c36.js +0 -1
  800. package/app/.next/static/chunks/app/api/translator/save/route-cab2fb7f592d3c36.js +0 -1
  801. package/app/.next/static/chunks/app/api/translator/send/route-cab2fb7f592d3c36.js +0 -1
  802. package/app/.next/static/chunks/app/api/translator/translate/route-cab2fb7f592d3c36.js +0 -1
  803. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-cab2fb7f592d3c36.js +0 -1
  804. package/app/.next/static/chunks/app/api/usage/analytics/route-cab2fb7f592d3c36.js +0 -1
  805. package/app/.next/static/chunks/app/api/usage/budget/route-cab2fb7f592d3c36.js +0 -1
  806. package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-cab2fb7f592d3c36.js +0 -1
  807. package/app/.next/static/chunks/app/api/usage/call-logs/route-cab2fb7f592d3c36.js +0 -1
  808. package/app/.next/static/chunks/app/api/usage/history/route-cab2fb7f592d3c36.js +0 -1
  809. package/app/.next/static/chunks/app/api/usage/logs/route-cab2fb7f592d3c36.js +0 -1
  810. package/app/.next/static/chunks/app/api/usage/proxy-logs/route-cab2fb7f592d3c36.js +0 -1
  811. package/app/.next/static/chunks/app/api/usage/request-logs/route-cab2fb7f592d3c36.js +0 -1
  812. package/app/.next/static/chunks/app/api/v1/api/chat/route-cab2fb7f592d3c36.js +0 -1
  813. package/app/.next/static/chunks/app/api/v1/audio/speech/route-cab2fb7f592d3c36.js +0 -1
  814. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-cab2fb7f592d3c36.js +0 -1
  815. package/app/.next/static/chunks/app/api/v1/chat/completions/route-cab2fb7f592d3c36.js +0 -1
  816. package/app/.next/static/chunks/app/api/v1/embeddings/route-cab2fb7f592d3c36.js +0 -1
  817. package/app/.next/static/chunks/app/api/v1/images/generations/route-cab2fb7f592d3c36.js +0 -1
  818. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-cab2fb7f592d3c36.js +0 -1
  819. package/app/.next/static/chunks/app/api/v1/messages/route-cab2fb7f592d3c36.js +0 -1
  820. package/app/.next/static/chunks/app/api/v1/models/route-cab2fb7f592d3c36.js +0 -1
  821. package/app/.next/static/chunks/app/api/v1/moderations/route-cab2fb7f592d3c36.js +0 -1
  822. package/app/.next/static/chunks/app/api/v1/music/generations/route-cab2fb7f592d3c36.js +0 -1
  823. package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-cab2fb7f592d3c36.js +0 -1
  824. package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-cab2fb7f592d3c36.js +0 -1
  825. package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-cab2fb7f592d3c36.js +0 -1
  826. package/app/.next/static/chunks/app/api/v1/rerank/route-cab2fb7f592d3c36.js +0 -1
  827. package/app/.next/static/chunks/app/api/v1/responses/route-cab2fb7f592d3c36.js +0 -1
  828. package/app/.next/static/chunks/app/api/v1/route-cab2fb7f592d3c36.js +0 -1
  829. package/app/.next/static/chunks/app/api/v1/videos/generations/route-cab2fb7f592d3c36.js +0 -1
  830. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-cab2fb7f592d3c36.js +0 -1
  831. package/app/.next/static/chunks/app/api/v1beta/models/route-cab2fb7f592d3c36.js +0 -1
  832. package/app/.next/static/chunks/app/forbidden/page-df886dfa2d5bd9fa.js +0 -1
  833. package/app/.next/static/chunks/app/forgot-password/page-2a495f0b0c653ab4.js +0 -1
  834. package/app/.next/static/chunks/app/global-error-41eef2a698918fc1.js +0 -1
  835. package/app/.next/static/chunks/app/landing/page-9d540ab1716f8e3e.js +0 -1
  836. package/app/.next/static/chunks/app/not-found-1dbd8c3e506fe00f.js +0 -1
  837. package/app/.next/static/chunks/app/page-cab2fb7f592d3c36.js +0 -1
  838. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-cab2fb7f592d3c36.js +0 -1
  839. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-cab2fb7f592d3c36.js +0 -1
  840. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-cab2fb7f592d3c36.js +0 -1
  841. package/app/.next/static/css/b77490a14619ffbb.css +0 -1
  842. package/app/.next/static/ozfkuTtQLl3_rnlOdkSZi/_buildManifest.js +0 -1
  843. /package/app/.next/static/{ozfkuTtQLl3_rnlOdkSZi → a624rqqXG_QtNPqv8ZMWa}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=5094,exports.ids=[5094],exports.modules={85094:a=>{a.exports=JSON.parse('{"common":{"save":"Spara","cancel":"Avbryt","delete":"Ta bort","loading":"Laddar...","error":"Ett fel uppstod","success":"Framg\xe5ng","confirm":"\xc4r du s\xe4ker?","refresh":"Uppdatera","close":"St\xe4ng","add":"L\xe4gg till","edit":"Redigera","search":"S\xf6k","back":"Tillbaka","next":"N\xe4sta","submit":"Skicka in","reset":"\xc5terst\xe4ll","copy":"Kopiera","copied":"Kopierade!","enabled":"Aktiverad","disabled":"Inaktiverad","active":"Aktiv","inactive":"Inaktiv","noData":"Inga data tillg\xe4ngliga","configure":"Konfigurera","manage":"Hantera","name":"Namn","actions":"\xc5tg\xe4rder","status":"Status","type":"Typ","model":"Modell","models":"modeller","provider":"Leverant\xf6r","account":"konto","time":"Tid","details":"Detaljer","created":"Skapad","lastUsed":"Senast anv\xe4nd","loadMore":"Ladda mer","noResults":"Inga resultat hittades","reloadPage":"Ladda om sidan","connected":"Ansluten","disconnected":"Fr\xe5nkopplad","notConfigured":"Ej konfigurerad","testConnection":"Testa anslutningen","enable":"Aktivera","disable":"Inaktivera","columns":"Kolumner","newest":"Nyaste","oldest":"\xc4ldst","all":"Alla","none":"Inga","yes":"Ja","no":"Nej","warning":"Varning","note":"Obs","free":"Gratis","skipToContent":"Hoppa till inneh\xe5llet"},"sidebar":{"home":"Hem","dashboard":"Instrumentpanel","providers":"Leverant\xf6rer","combos":"Combos","usage":"Anv\xe4ndning","analytics":"Analytics","costs":"Kostnader","health":"H\xe4lsa","limits":"Gr\xe4nser och kvoter","cliTools":"CLI-verktyg","settings":"Inst\xe4llningar","translator":"\xd6vers\xe4ttare","docs":"Dokument","issues":"fr\xe5gor","endpoint":"Slutpunkt","apiManager":"API-hanterare","logs":"Loggar","auditLog":"Revisionslogg","shutdown":"Avst\xe4ngning","restart":"Starta om","shutdownConfirm":"St\xe4nga av OmniRoute?","restartConfirm":"Starta om OmniRoute?","version":"v{version}","debug":"Fels\xf6k","system":"System","help":"Hj\xe4lp","serverDisconnected":"Server fr\xe5nkopplad","serverDisconnectedMsg":"Proxyservern har stoppats eller startar om.","expandSidebar":"Expandera sidof\xe4ltet","collapseSidebar":"D\xf6lj sidof\xe4ltet"},"header":{"logout":"Logga ut","language":"Spr\xe5k","providers":"Leverant\xf6rer","providerDescription":"Hantera dina AI-leverant\xf6rsanslutningar","combos":"Combos","comboDescription":"Modellkombo med reserv","usage":"Anv\xe4ndning & analys","usageDescription":"\xd6vervaka din API-anv\xe4ndning, tokenf\xf6rbrukning och f\xf6rfr\xe5gningsloggar","analytics":"Analytics","analyticsDescription":"Diagram, trender och utv\xe4rderingsinsikter","cliTools":"CLI-verktyg","cliToolsDescription":"Konfigurera CLI-verktyg","home":"Hem","homeDescription":"V\xe4lkommen till OmniRoute","endpoint":"Slutpunkt","endpointDescription":"API-slutpunktskonfiguration","settings":"Inst\xe4llningar","settingsDescription":"Hantera dina preferenser","openaiCompatible":"OpenAI-kompatibel","anthropicCompatible":"Antropisk kompatibel"},"home":{"quickStart":"Snabbstart","quickStartDesc":"Kom ig\xe5ng i 4 steg. Anslut leverant\xf6rer, ruttmodeller, \xf6vervaka allt.","fullDocs":"Fullst\xe4ndiga dokument","step1Title":"1. Skapa API-nyckel","step1Desc":"G\xe5 till <endpoint>Endpoint</endpoint> -> Registrerade nycklar. Generera en nyckel per milj\xf6.","step2Title":"2. Anslut leverant\xf6rer","step2Desc":"L\xe4gg till konton i <providers>Providers</providers>. St\xf6der OAuth, API Key och gratis niv\xe5er.","step3Title":"3. Peka din klient","step3Desc":"St\xe4ll in bas-URL till {url} i din IDE- eller API-klient.","step4Title":"4. \xd6vervaka och optimera","step4Desc":"Sp\xe5ra tokens, kostnader och fel i <logs>Request Logs</logs> och <analytics>Analytics</analytics>.","providersOverview":"Leverant\xf6rs\xf6versikt","configuredOf":"{configured} konfigurerad av {total} tillg\xe4ngliga leverant\xf6rer","noModelsAvailable":"Inga modeller tillg\xe4ngliga f\xf6r denna leverant\xf6r.","configureFirst":"Konfigurera en anslutning f\xf6rst i {providers}","configureProvider":"Konfigurera leverant\xf6r","modelAvailable":"{count} modell tillg\xe4nglig","modelsAvailable":"{count} modeller tillg\xe4ngliga","connectionsActive":"{count} anslutning aktiv","connectionsActivePlural":"{count} anslutningar aktiva","copyModelName":"Kopiera modellnamn","documentation":"Dokumentation","healthMonitor":"H\xe4lso\xf6vervakare","reportIssue":"Rapportera problem","activeError":"{active} aktiv \xb7 {errors} fel","oauthLabel":"OAuth","apiKeyLabel":"API-nyckel","requestsShort":"{count} krav","providerModelsTitle":"{provider} - Modeller","copiedModel":"Kopierat: {model}","aliasLabel":"alias"},"analytics":{"title":"Analytics","overviewDescription":"\xd6vervaka dina API-anv\xe4ndningsm\xf6nster, tokenf\xf6rbrukning, kostnader och aktivitetstrender f\xf6r alla leverant\xf6rer och modeller.","evalsDescription":"K\xf6r utv\xe4rderingssviter f\xf6r att testa och validera dina LLM-slutpunkter. J\xe4mf\xf6r modellkvalitet, uppt\xe4ck regressioner och benchmark latens.","overview":"\xd6versikt","evals":"Evals"},"apiManager":{"title":"API-nycklar","createKey":"Skapa API-nyckel","key":"Nyckel","revokeKey":"\xc5terkalla nyckel","revokeConfirm":"\xc4r du s\xe4ker p\xe5 att du vill \xe5terkalla denna API-nyckel?","noKeys":"Inga API-nycklar \xe4nnu","noKeysDesc":"Skapa din f\xf6rsta API-nyckel f\xf6r att autentisera f\xf6rfr\xe5gningar till din slutpunkt","keyLabel":"Nyckeletikett","permissions":"Beh\xf6righeter","expiresAt":"Upph\xf6r att g\xe4lla","never":"Aldrig","revoke":"\xc5terkalla","showKey":"Visa nyckel","hideKey":"D\xf6lj nyckel","copyKey":"Kopiera API-nyckel","allModels":"Alla modeller","selectedModels":"Utvalda modeller","readOnly":"Endast l\xe4s","fullAccess":"Full tillg\xe5ng","keyManagement":"API-nyckelhantering","keyManagementDesc":"Skapa och hantera API-nycklar f\xf6r autentisering av f\xf6rfr\xe5gningar till din slutpunkt","totalKeys":"Totalt nycklar","restricted":"Begr\xe4nsad","totalRequests":"Totalt antal f\xf6rfr\xe5gningar","modelsAvailable":"Tillg\xe4ngliga modeller","registeredKeys":"Registrerade nycklar","keysRegistered":"{count} nycklar registrerade","keyRegistered":"{count} nyckel registrerad","keysSecurityNote":"Varje nyckel isolerar anv\xe4ndningssp\xe5rning och kan \xe5terkallas oberoende. Nycklar \xe4r maskerade efter skapande f\xf6r s\xe4kerhet.","createFirstKey":"Skapa din f\xf6rsta nyckel","name":"Namn","usage":"Anv\xe4ndning","created":"Skapad","actions":"\xc5tg\xe4rder","reqs":"reqs","neverUsed":"Aldrig anv\xe4nd","deleteConfirm":"Vill du ta bort denna API-nyckel?","usageTips":"Anv\xe4ndningstips","tipAuth":"Anv\xe4nd API-nycklar i auktoriseringshuvudet som B\xe4rare YOUR_KEY","tipSecure":"Nycklar visas bara en g\xe5ng under skapandet – f\xf6rvara dem s\xe4kert","tipSeparate":"Skapa separata nycklar f\xf6r olika klienter eller milj\xf6er","tipRestrict":"Begr\xe4nsa nycklar till specifika modeller f\xf6r b\xe4ttre s\xe4kerhet och kostnadskontroll","keyName":"Nyckelnamn","keyNamePlaceholder":"t.ex. produktionsnyckel, utvecklingsnyckel","keyNameDesc":"V\xe4lj ett beskrivande namn f\xf6r att identifiera denna nyckels syfte","keyCreated":"API-nyckel skapad","keyCreatedSuccess":"Nyckel skapad framg\xe5ngsrikt!","keyCreatedNote":"Kopiera och lagra den h\xe4r nyckeln nu – den kommer inte att visas igen.","done":"Klart","savePermissions":"Spara beh\xf6righeter","allowAll":"Till\xe5t alla","restrict":"Begr\xe4nsa","allowAllInfo":"Denna nyckel kan komma \xe5t alla tillg\xe4ngliga modeller.","restrictInfo":"Denna nyckel kan komma \xe5t {selected} av {total} modeller.","selected":"{count} har valts","all":"Alla","clear":"Rensa","searchModels":"S\xf6k modeller efter namn eller leverant\xf6r...","noModelsFound":"Inga modeller hittades","keyNameRequired":"Nyckelnamn kr\xe4vs","keyNameTooLong":"Nyckelnamnet m\xe5ste vara h\xf6gst {max} tecken","keyNameInvalid":"Nyckelnamn kan bara inneh\xe5lla bokst\xe4ver, siffror, mellanslag, bindestreck och understreck","invalidKeyName":"Ogiltigt nyckelnamn","failedCreateKey":"Det gick inte att skapa nyckel","failedCreateKeyRetry":"Det gick inte att skapa nyckel. F\xf6rs\xf6k igen.","invalidKeyId":"Ogiltigt nyckel-ID","failedDeleteKey":"Det gick inte att radera nyckel","failedDeleteKeyRetry":"Det gick inte att radera nyckel. F\xf6rs\xf6k igen.","invalidModelsSelection":"Ogiltigt modellval","cannotSelectMoreThanModels":"Kan inte v\xe4lja fler \xe4n {max} modeller","failedUpdatePermissions":"Det gick inte att uppdatera beh\xf6righeter","failedUpdatePermissionsRetry":"Det gick inte att uppdatera beh\xf6righeter. F\xf6rs\xf6k igen.","unknownProvider":"ok\xe4nt","copyMaskedKey":"Kopiera maskerad nyckel","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Senaste: {date}","editPermissions":"Redigera beh\xf6righeter","deleteKey":"Ta bort nyckel","model":"{count} modell","models":"{count} modeller","permissionsTitle":"Beh\xf6righeter: {name}","allowAllDesc":"Denna nyckel kan komma \xe5t alla tillg\xe4ngliga modeller.","restrictDesc":"Denna nyckel kan komma \xe5t {selectedCount} av {totalModels} modeller.","selectedCount":"{count} har valts"},"auditLog":{"title":"Revisionslogg","searchPlaceholder":"S\xf6k\xe5tg\xe4rder...","action":"\xc5tg\xe4rd","actor":"Sk\xe5despelare","target":"M\xe5l","ipAddress":"IP-adress","timestamp":"Tidsst\xe4mpel","noEntries":"Inga revisionsposter hittades","filterByAction":"Filtrera efter \xe5tg\xe4rd...","filterByActor":"Filtrera efter sk\xe5despelare...","filterEntriesAria":"Filtrera granskningsloggposter","filterByActionTypeAria":"Filtrera efter \xe5tg\xe4rdstyp","filterByActorAria":"Filtrera efter sk\xe5despelare","refreshAuditLogAria":"Uppdatera granskningsloggen","tableAria":"Granskningsloggposter","failedFetchAuditLog":"Det gick inte att h\xe4mta granskningsloggen","notAvailable":"—","description":"Administrativa \xe5tg\xe4rder och s\xe4kerhetsh\xe4ndelser","showing":"Visar {count} poster (offset {offset})","previous":"F\xf6reg\xe5ende"},"cliTools":{"title":"CLI-verktyg","noActiveProviders":"Inga aktiva leverant\xf6rer","noActiveProvidersDesc":"L\xe4gg till och anslut f\xf6rst leverant\xf6rer f\xf6r att konfigurera CLI-verktyg.","mapModels":"Kartmodeller","testConnection":"Testa anslutningen","connectionStatus":"Anslutningsstatus","configureEndpoint":"Konfigurera slutpunkt","instructions":"Instruktioner","modelMapping":"Modellkartl\xe4ggning","baseUrl":"Bas-URL","apiKey":"API-nyckel","configured":"Konfigurerad","notConfigured":"Ej konfigurerad","notInstalled":"Ej installerad","custom":"Anpassad","unknown":"Ok\xe4nd","lastSavedAt":"Senast sparad: {date}","never":"Aldrig","justNow":"just nu","minutesAgoShort":"{count}m sedan","hoursAgoShort":"{count}h sedan","daysAgoShort":"{count}d sedan","monthsAgoShort":"{count}m\xe5n sedan","yearsAgoShort":"{count}y sedan","runtimeCheckFailed":"K\xf6rtidskontroll misslyckades","yourApiKeyPlaceholder":"din-api-nyckel","modelPlaceholder":"leverant\xf6r/modell-id","configurationSaved":"Konfigurationen har sparats.","failedToSave":"Det gick inte att spara konfigurationen.","noApiKeysCreateOne":"Inga API-nycklar - Skapa en p\xe5 sidan Nycklar","defaultOmnirouteKey":"sk_omniroute (standard)","selectModel":"V\xe4lj modell","selectModelForAlias":"V\xe4lj modell f\xf6r {alias}","selectModelForTool":"V\xe4lj modell f\xf6r {tool}","select":"V\xe4lj","clear":"Rensa","comingSoon":"Kommer snart","checkingRuntime":"Kontrollerar k\xf6rtidsstatus...","guideOnlyIntegration":"Integrering endast guide (ingen lokal k\xf6rtid kr\xe4vs)","cliRuntimeDetected":"CLI-k\xf6rtid uppt\xe4ckt och klar","cliFoundNotRunnable":"CLI hittades men inte k\xf6rbar{reason}","cliRuntimeNotDetected":"CLI-k\xf6rtid har inte uppt\xe4ckts","binary":"Bin\xe4r","configPath":"Konfigurationsv\xe4g","configPathShort":"Konfig","failedCheckRuntimeStatus":"Det gick inte att kontrollera k\xf6rtidsstatus.","copy":"Kopiera","copied":"Kopierade","copyConfig":"Kopiera Config","saveConfig":"Spara konfiguration","selectionSaved":"Valet har sparats","guide":"Guide","detected":"Uppt\xe4ckt","notReady":"Inte redo","active":"Aktiv","inactive":"Inaktiv","startMitm":"Starta MITM","stopMitm":"Stoppa MITM","mitmStarted":"MITM startade framg\xe5ngsrikt!","mitmStopped":"MITM stoppade framg\xe5ngsrikt!","failedStart":"Det gick inte att starta MITM","failedStop":"Det gick inte att stoppa MITM","saveMappings":"Spara mappningar","mappingsSaved":"Mappningar sparade!","failedSaveMappings":"Det gick inte att spara mappningar","howItWorks":"Hur det fungerar:","antigravityHowWorksDesc":"Antigravity skickar f\xf6rfr\xe5gningar till Googles slutpunkt. MITM f\xe5ngar upp och omdirigerar dem till OmniRoute.","antigravityStep1":"1. Starta MITM f\xf6r att dirigera f\xf6rfr\xe5gningar genom OmniRoute.","antigravityStep2Prefix":"2. L\xe4gg till","antigravityStep2Suffix":"till din hosts-fil som 127.0.0.1.","antigravityStep3":"3. \xd6ppna Antigravity och f\xf6rfr\xe5gningar kommer att skickas som proxy.","sudoPasswordRequiredTitle":"Sudo-l\xf6senord kr\xe4vs","sudoPasswordHint":"Administrat\xf6rsl\xf6senord kr\xe4vs f\xf6r att \xe4ndra v\xe4rdens fil- och systemproxyinst\xe4llningar.","enterSudoPassword":"Ange sudo l\xf6senord","sudoPasswordRequiredError":"Sudo-l\xf6senord kr\xe4vs.","cancel":"Avbryt","confirm":"Bekr\xe4fta","settingsApplied":"Inst\xe4llningarna har till\xe4mpats!","failedApplySettings":"Det gick inte att till\xe4mpa inst\xe4llningarna","settingsReset":"Inst\xe4llningarna har \xe5terst\xe4llts!","failedResetSettings":"Det gick inte att \xe5terst\xe4lla inst\xe4llningarna","backupRestored":"S\xe4kerhetskopieringen \xe5terst\xe4lld!","failedRestore":"Det gick inte att \xe5terst\xe4lla","checkingCli":"Kontrollerar {tool} CLI...","cliNotRunnable":"{tool} CLI installerat men inte k\xf6rbart","cliNotInstalled":"{tool} CLI inte installerat","cliNotDetected":"{tool} CLI inte uppt\xe4ckt","cliDetectedReady":"{tool} CLI uppt\xe4ckt och redo","cliFoundFailedHealthcheck":"{tool} CLI hittades men misslyckades med runtime healthcheck{reason}.","installCliPrompt":"Installera {tool} CLI f\xf6r att anv\xe4nda den h\xe4r funktionen.","installCodexPrompt":"Installera Codex CLI f\xf6r att anv\xe4nda funktionen f\xf6r automatisk applicering.","hide":"G\xf6m","howToInstall":"Hur man installerar","installationGuide":"Installationsguide","platforms":"macOS / Linux / Windows:","afterInstallationRun":"Efter installationen, k\xf6r","toVerify":"att verifiera.","current":"Aktuell","baseUrlPlaceholder":"https://.../v1","resetToDefault":"\xc5terst\xe4ll till standard","providerModelPlaceholder":"leverant\xf6r/modell-id","apply":"Ans\xf6k","reset":"\xc5terst\xe4ll","manualConfig":"Manuell konfiguration","backups":"S\xe4kerhetskopieringar","configBackups":"Konfigurera s\xe4kerhetskopior","noBackupsYet":"Inga s\xe4kerhetskopior \xe4nnu. S\xe4kerhetskopieringar skapas automatiskt f\xf6re varje applicering eller \xe5terst\xe4llning.","restore":"\xc5terst\xe4ll","backupRestoredReloading":"S\xe4kerhetskopieringen \xe5terst\xe4lld! Laddar om status...","failedRestoreBackup":"Det gick inte att \xe5terst\xe4lla s\xe4kerhetskopian","applied":"Ans\xf6kt!","failed":"Misslyckades","resetDone":"\xc5terst\xe4ll!","omnirouteConfiguredOpenAiCompatible":"OmniRoute \xe4r konfigurerad som OpenAI-kompatibel leverant\xf6r","provider":"Leverant\xf6r","model":"Modell","providers":"Leverant\xf6rer","auth":"Auth","noApiKeysAvailable":"Inga API-nycklar tillg\xe4ngliga","usingDefaultOmniroute":"Anv\xe4nder standard: sk_omniroute","updateConfig":"Uppdatera Config","applyConfig":"Anv\xe4nd Config","noBackupsAvailable":"Inga s\xe4kerhetskopior tillg\xe4ngliga.","profileSaved":"Profilen \\"{name}\\" har sparats!","failedSaveProfile":"Det gick inte att spara profilen","profileActivated":"Profilen aktiverad!","failedActivateProfile":"Det gick inte att aktivera profilen","profiles":"Profiler","savedProfiles":"Sparade profiler","noProfilesYet":"Inga profiler sparade \xe4nnu. Spara aktuell konfiguration som en profil nedan.","activate":"Aktivera","deleteProfile":"Ta bort profil","profileNamePlaceholder":"Profilnamn (t.ex. personligt konto)","saveCurrent":"Spara aktuell","codexAuthNotePrefix":"Codex anv\xe4nder","codexAuthNoteMiddle":"med","codexAuthNoteSuffix":"Klicka p\xe5 \\"Apply\\" f\xf6r att automatiskt konfigurera.","claudeManualConfiguration":"Claude CLI - Manuell konfiguration","codexManualConfiguration":"Codex CLI - Manuell konfiguration","droidManualConfiguration":"Factory Droid - Manuell konfiguration","openClawManualConfiguration":"\xd6ppna Claw - Manuell konfiguration","clineManualConfiguration":"Cline manuell konfiguration","kiloManualConfiguration":"Kilokod manuell konfiguration","toolDescriptions":{"antigravity":"Google Antigravity IDE med MITM","claude":"Antropisk Claude Code CLI","codex":"OpenAI Codex CLI","droid":"Factory Droid AI Assistant","openclaw":"\xd6ppna Claw AI Assistant","cline":"Cline AI Coding Assistant CLI","kilo":"Kilokod AI Assistant CLI","cursor":"Cursor AI Code Editor","continue":"Forts\xe4tt AI Assistant"},"guides":{"cursor":{"notes":{"0":"Kr\xe4ver ett Cursor Pro-konto f\xf6r att anv\xe4nda den h\xe4r funktionen.","1":"Mark\xf6ren dirigerar f\xf6rfr\xe5gningar genom sin egen server, s\xe5 lokal slutpunkt st\xf6ds inte. V\xe4nligen aktivera Cloud Endpoint i Inst\xe4llningar."},"steps":{"1":{"title":"\xd6ppna Inst\xe4llningar","desc":"G\xe5 till Inst\xe4llningar -> Modeller"},"2":{"title":"Aktivera OpenAI API","desc":"Aktivera alternativet \\"OpenAI API-nyckel\\"."},"3":{"title":"Bas-URL"},"4":{"title":"API-nyckel"},"5":{"title":"L\xe4gg till anpassad modell","desc":"Klicka p\xe5 \\"Visa alla modeller\\" -> \\"L\xe4gg till anpassad modell\\""},"6":{"title":"V\xe4lj modell"}}},"continue":{"steps":{"1":{"title":"\xd6ppna Config","desc":"\xd6ppna Forts\xe4tt konfigurationsfil"},"2":{"title":"API-nyckel"},"3":{"title":"V\xe4lj modell"},"4":{"title":"L\xe4gg till Model Config","desc":"L\xe4gg till f\xf6ljande konfiguration till din modellarray:"}}}}},"combos":{"title":"Combos","description":"Skapa modellkombinationer med viktad routing och reservst\xf6d","createCombo":"Skapa Combo","editCombo":"Redigera kombination","deleteCombo":"Ta bort Combo","noModels":"Inga modeller","noModelsYet":"Inga modeller har lagts till \xe4nnu","addModel":"L\xe4gg till modell","addModelToCombo":"L\xe4gg till modell till Combo","routingStrategy":"Routingstrategi","maxRetries":"Max f\xf6rs\xf6ker igen","timeout":"Timeout (ms)","healthcheck":"H\xe4lsokontroll","priority":"Prioritet","fallback":"Fallback","roundRobin":"Round Robin","random":"Slumpm\xe4ssigt","leastLatency":"Minsta latens","comboName":"Kombinationsnamn","comboNamePlaceholder":"min-kombo","deleteConfirm":"Vill du ta bort den h\xe4r kombinationen?","noCombosYet":"Inga kombinationer \xe4n","comboCreated":"Kombinationen skapades framg\xe5ngsrikt","comboUpdated":"Kombinationen har uppdaterats","comboDeleted":"Combo raderad","failedCreate":"Det gick inte att skapa en kombination","failedUpdate":"Det gick inte att uppdatera kombinationen","errorCreating":"Det gick inte att skapa kombination","errorUpdating":"Fel vid uppdatering av kombination","errorDeleting":"Fel vid borttagning av kombination","testFailed":"Testbeg\xe4ran misslyckades","failedToggle":"Det gick inte att v\xe4xla kombination","testResults":"Testresultat — {name}","resolvedBy":"L\xf6st av:","more":"+{count} till","reqs":"reqs","success":"framg\xe5ng","proxyConfigured":"Proxy konfigurerad","copyComboName":"Kopiera kombinationsnamn","enableCombo":"Aktivera kombination","disableCombo":"Inaktivera kombination","testCombo":"Testkombo","duplicate":"Duplicera","proxyConfig":"Proxykonfiguration","nameRequired":"Namn kr\xe4vs","nameInvalid":"Endast bokst\xe4ver, siffror, -, _, / och . till\xe5tet","nameHint":"Bokst\xe4ver, siffror, -, _, / och . till\xe5tet","priorityDesc":"Sekventiell reserv: provar modell 1 f\xf6rst, sedan 2 osv.","weightedDesc":"F\xf6rdelar trafik efter viktprocent med reserv","roundRobinDesc":"Cirkul\xe4r distribution: varje beg\xe4ran g\xe5r till n\xe4sta modell i rotation","randomDesc":"Enhetligt slumpm\xe4ssigt urval, sedan fallback till \xe5terst\xe5ende modeller","leastUsedDesc":"V\xe4ljer modellen med minst f\xf6rfr\xe5gningar, balanserar belastningen \xf6ver tiden","costOptimizedDesc":"Rutter till den billigaste modellen f\xf6rst baserat p\xe5 priss\xe4ttning","models":"Modeller","autoBalance":"Automatisk balansering","advancedSettings":"Avancerade inst\xe4llningar","retryDelay":"F\xf6rs\xf6k igen f\xf6rdr\xf6jning (ms)","concurrencyPerModel":"Samtidighet / Modell","queueTimeout":"Timeout f\xf6r k\xf6 (ms)","advancedHint":"L\xe4mna tomt om du vill anv\xe4nda globala standardinst\xe4llningar. Dessa \xe5sidos\xe4tter inst\xe4llningarna per leverant\xf6r.","moveUp":"Flytta upp\xe5t","moveDown":"Flytta ner","removeModel":"Ta bort","saving":"Sparar...","weighted":"Viktad","leastUsed":"Minst anv\xe4nda","costOpt":"Cost-Opt"},"costs":{"title":"Kostnader","budget":"Budget","totalCost":"Total kostnad","breakdown":"Kostnadsf\xf6rdelning","noData":"Inga kostnadsdata","byModel":"Efter modell","byProvider":"Av leverant\xf6r"},"endpoint":{"title":"API-slutpunkt","available":"Tillg\xe4ngliga slutpunkter","cloudProxy":"Molnproxy","disableConfirm":"\xc4r du s\xe4ker p\xe5 att du vill inaktivera molnproxy?","baseUrl":"Bas-URL","apiKeyLabel":"API-nyckel","registeredKeys":"Registrerade nycklar","chatCompletions":"Chattavslut","responses":"Svar","listModels":"Lista modeller","usingCloudProxy":"Anv\xe4nder Cloud Proxy","usingLocalServer":"Anv\xe4nder lokal server","machineId":"Maskin-ID: {id}...","disableCloud":"Inaktivera Cloud","enableCloud":"Aktivera Cloud","modelsAcrossEndpoints":"{models} modeller \xf6ver {endpoints} slutpunkter","chatDesc":"Str\xf6mmande och icke-str\xf6mmande chatt med alla leverant\xf6rer","embeddings":"Inb\xe4ddningar","embeddingsDesc":"Textinb\xe4ddningar f\xf6r s\xf6k- och RAG-pipelines","imageGeneration":"Bildgenerering","imageDesc":"Generera bilder fr\xe5n textmeddelanden","rerank":"Rangordna om","rerankDesc":"Rangordna om dokument efter relevans f\xf6r en fr\xe5ga","audioTranscription":"Ljudtranskription","audioTranscriptionDesc":"Transkribera ljudfiler till text (Viska)","textToSpeech":"Text till tal","textToSpeechDesc":"Konvertera text till naturligt klingande tal","moderations":"Moderationer","moderationsDesc":"Inneh\xe5llsmoderering och s\xe4kerhetsklassificering","enableCloudTitle":"Aktivera Cloud Proxy","whatYouGet":"Vad du kommer att f\xe5","cloudBenefitAccess":"F\xe5 \xe5tkomst till ditt API fr\xe5n var som helst i v\xe4rlden","cloudBenefitShare":"Dela enkelt slutpunkten med ditt team","cloudBenefitPorts":"Inget behov av att \xf6ppna portar eller konfigurera brandv\xe4gg","cloudBenefitEdge":"Snabbt globalt kantn\xe4tverk","cloudSessionNote":"Cloud kommer att beh\xe5lla din autentiseringssession i 1 dag. Om den inte anv\xe4nds kommer den att raderas automatiskt.","cloudUnstableNote":"Cloud \xe4r f\xf6r n\xe4rvarande instabilt med Claude Code OAuth i vissa fall.","cloudConnected":"Cloud Proxy ansluten!","connectingToCloud":"Ansluter till molnet...","verifyingConnection":"Verifierar anslutning...","connecting":"Ansluter...","verifying":"Verifierar...","connected":"Ansluten!","disableCloudTitle":"Inaktivera molnproxy","disableWarning":"Alla autentiseringssessioner kommer att raderas fr\xe5n molnet.","syncingData":"Synkroniserar senaste data...","disablingCloud":"Inaktiverar molnet...","syncing":"Synkroniseras...","disabling":"Inaktiverar...","cloudConnectedVerified":"Cloud Proxy ansluten och verifierad!","connectedVerificationPending":"Ansluten — verifiering v\xe4ntar","connectedVerificationPendingWithError":"Ansluten — verifiering v\xe4ntar: {error}","cloudDisabledSuccess":"Molnet har inaktiverats","syncedSuccess":"Synkroniserad framg\xe5ngsrikt","failedDisable":"Det gick inte att inaktivera molnet","failedEnable":"Det gick inte att aktivera molnet","cloudRequestTimeout":"Timeout f\xf6r molnbeg\xe4ran","cloudRequestFailed":"Molnbeg\xe4ran misslyckades","cloudWorkerUnreachable":"Det gick inte att n\xe5 molnarbetaren. Se till att molntj\xe4nsten k\xf6rs (npm k\xf6r dev i /moln).","connectionFailed":"Anslutning misslyckades","syncFailed":"Det gick inte att synkronisera molndata","providerModelsTitle":"{provider} — Modeller","noModelsForProvider":"Inga modeller tillg\xe4ngliga f\xf6r denna leverant\xf6r.","chat":"Chatta","embedding":"Inb\xe4ddning","image":"Bild","custom":"anpassad","modelsCount":"{count, plural, one {# model} other {# models}}"},"health":{"title":"Systemh\xe4lsa","description":"Realtids\xf6vervakning av din OmniRoute-instans","healthy":"Frisk","degraded":"F\xf6rs\xe4mrad","down":"Ner","uptime":"Upptid","memory":"Minne","memoryRss":"Minne (RSS)","heap":"H\xf6g","cpu":"CPU","database":"Databas","version":"Version","lastCheck":"Sista kontrollen","providerHealth":"Leverant\xf6rsh\xe4lsa","systemMetrics":"Systemm\xe5tt","tokenHealth":"Token Health","refreshAll":"Uppdatera alla","checkNow":"Kontrollera nu","loadingHealth":"L\xe4ser in h\xe4lsodata...","failedToLoad":"Det gick inte att l\xe4sa in h\xe4lsodata: {error}","retry":"F\xf6rs\xf6k igen","allOperational":"Alla system i drift","issuesDetected":"Systemproblem uppt\xe4cktes","updatedAt":"Uppdaterad {time}","latency":"Latens","latencyP50":"p50","latencyP95":"s 95","latencyP99":"s 99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Totalt antal f\xf6rfr\xe5gningar","noDataYet":"Inga uppgifter \xe4nnu","promptCache":"Fr\xe5ga Cache","entries":"Inl\xe4gg","hitRate":"Tr\xe4fffrekvens","hitsMisses":"Tr\xe4ffar/missar","signatureCache":"Signaturcache","signatureDefaults":"Standardv\xe4rden","signatureTool":"Verktyg","signatureFamily":"Familj","signatureSession":"Session","recovering":"\xc5terh\xe4mtar sig","noCBData":"Inga str\xf6mbrytardata tillg\xe4ngliga. G\xf6r n\xe5gra f\xf6rfr\xe5gningar f\xf6rst.","providerHealthStatusAria":"Leverant\xf6rens h\xe4lsostatus","issuesLabel":"Problem uppt\xe4ckta","operational":"Operativt","providers":"Leverant\xf6rer","healthyCount":"{count} frisk","nodeVersion":"Nod {version}","failures":"{count} fel","failuresPlural":"{count} fel","lastFailure":"Sist","rateLimitStatus":"Beloppsgr\xe4nsstatus","activeLimiters":"{count} aktiv begr\xe4nsare","activeLimitersPlural":"{count} aktiva begr\xe4nsare","queued":"I k\xf6","queuedCount":"{count} i k\xf6","running":"l\xf6pning","runningCount":"{count} ig\xe5ng","ok":"OK","activeLockouts":"Aktiva lockouter","resetConfirm":"\xc5terst\xe4lla alla str\xf6mbrytare till friskt tillst\xe5nd? Detta kommer att radera alla felr\xe4kningar och \xe5terst\xe4lla alla leverant\xf6rer till driftstatus.","resetAllTitle":"\xc5terst\xe4ll alla str\xf6mbrytare till friskt tillst\xe5nd","resetting":"\xc5terst\xe4ller...","resetAll":"\xc5terst\xe4ll alla","until":"Tills {time}"},"limits":{"title":"Gr\xe4nser och kvoter","rateLimit":"Prisgr\xe4ns","remaining":"Kvar","requestsPerMinute":"\xd6nskem\xe5l/min","tokensPerMinute":"Poletter/min","dailyLimit":"Daglig gr\xe4ns"},"logs":{"title":"Loggar","requestLogs":"Beg\xe4r loggar","proxyLogs":"Proxyloggar","auditLog":"Revisionslogg","console":"Konsol","auditLogDesc":"Administrativa \xe5tg\xe4rder och s\xe4kerhetsh\xe4ndelser","loading":"Laddar...","refresh":"Uppdatera","filterByAction":"Filtrera efter \xe5tg\xe4rd...","filterByActor":"Filtrera efter sk\xe5despelare...","filterEntriesAria":"Filtrera granskningsloggposter","filterByActionTypeAria":"Filtrera efter \xe5tg\xe4rdstyp","filterByActorAria":"Filtrera efter sk\xe5despelare","refreshAuditLogAria":"Uppdatera granskningsloggen","tableAria":"Granskningsloggposter","failedFetchAuditLog":"Det gick inte att h\xe4mta granskningsloggen","showing":"Visar {count} poster (offset {offset})","search":"S\xf6k","timestamp":"Tidsst\xe4mpel","action":"\xc5tg\xe4rd","actor":"Sk\xe5despelare","target":"M\xe5l","details":"Detaljer","ipAddress":"IP-adress","notAvailable":"—","noEntries":"Inga granskningsloggposter hittades","previous":"F\xf6reg\xe5ende","next":"N\xe4sta"},"onboarding":{"welcome":"V\xe4lkommen","security":"S\xe4kerhet","test":"Testa","ready":"Klart!","setPassword":"Ange l\xf6senord","addProvider":"L\xe4gg till din f\xf6rsta leverant\xf6r","getStarted":"Kom ig\xe5ng","skip":"Hoppa \xf6ver","skipWizard":"Hoppa \xf6ver guiden helt","skipPassword":"Hoppa \xf6ver l\xf6senordsinst\xe4llningar","skipAndContinue":"Hoppa \xf6ver och forts\xe4tt","passwordLabel":"L\xf6senord","confirmPassword":"Bekr\xe4fta l\xf6senord","enterPassword":"Ange l\xf6senord","confirmPasswordPlaceholder":"Bekr\xe4fta l\xf6senord","passwordsMismatch":"L\xf6senord st\xe4mmer inte \xf6verens","setupComplete":"Installationen \xe4r klar!","goToDashboard":"G\xe5 till Dashboard →","welcomeDesc":"OmniRoute \xe4r din lokala AI API-proxy. Den dirigerar f\xf6rfr\xe5gningar till flera AI-leverant\xf6rer med lastbalansering, failover och anv\xe4ndningssp\xe5rning.","multiProvider":"Flera leverant\xf6rer","usageTracking":"Anv\xe4ndningssp\xe5rning","apiKeyMgmt":"API Key Mgmt","securityDesc":"St\xe4ll in ett l\xf6senord f\xf6r att skydda din instrumentpanel, eller hoppa \xf6ver nu.","providerDesc":"Anslut din f\xf6rsta AI-leverant\xf6r. Du kan l\xe4gga till mer senare.","apiKeyRequired":"API-nyckel (kr\xe4vs)","customUrlOptional":"Anpassad webbadress (valfritt)","testDesc":"L\xe5t oss verifiera att din leverant\xf6rsanslutning fungerar.","runTest":"K\xf6r anslutningstest","testingConnection":"Testar anslutning...","connectionSuccessful":"Anslutningen lyckades! Din leverant\xf6r \xe4r redo.","noProviderFound":"Ingen leverant\xf6r hittades. Du kan l\xe4gga till en fr\xe5n instrumentpanelen senare.","testFailed":"Testet misslyckades, men du kan konfigurera detta senare.","couldNotTest":"Kunde inte testa just nu. Du kan testa fr\xe5n instrumentpanelen.","doneDesc":"Du \xe4r redo! Din OmniRoute-instans \xe4r konfigurerad och redo att proxy AI-f\xf6rfr\xe5gningar.","yourEndpoint":"Din slutpunkt:","continue":"Forts\xe4tt","retry":"F\xf6rs\xf6k igen","failedSetPassword":"Det gick inte att ange l\xf6senord. F\xf6rs\xf6k igen.","failedAddProvider":"Det gick inte att l\xe4gga till leverant\xf6r. F\xf6rs\xf6k igen.","connectionError":"Anslutningsfel. F\xf6rs\xf6k igen.","provider":"Leverant\xf6r"},"providers":{"title":"Leverant\xf6rer","addProvider":"L\xe4gg till leverant\xf6r","editProvider":"Redigera leverant\xf6r","deleteProvider":"Ta bort leverant\xf6r","noProviders":"Inga leverant\xf6rer har konfigurerats","modelAvailability":"Modelltillg\xe4nglighet","accounts":"konton","newAccount":"Nytt konto","deleteConfirm":"\xc4r du s\xe4ker p\xe5 att du vill ta bort den h\xe4r leverant\xf6ren?","testing":"Testar...","testConnection":"Testa anslutningen","testSuccess":"Anslutningen lyckades","testFailed":"Anslutning misslyckades","available":"Tillg\xe4nglig","cooldown":"Nedkylning","unavailable":"Ej tillg\xe4nglig","unknown":"Ok\xe4nd","oauthLabel":"OAuth","compatibleLabel":"Kompatibel","chat":"Chatta","responses":"Svar","messages":"Meddelanden","oauthProviders":"OAuth-leverant\xf6rer","freeProviders":"Gratis leverant\xf6rer","apiKeyProviders":"API-nyckelleverant\xf6rer","compatibleProviders":"API-nyckelkompatibla leverant\xf6rer","testAll":"Testa alla","testAllOAuth":"Testa alla OAuth-anslutningar","testAllFree":"Testa alla gratisanslutningar","testAllApiKey":"Testa alla API-nyckelanslutningar","testAllCompatible":"Testa alla kompatibla anslutningar","connected":"{count} Ansluten","errorCount":"{count} Fel ({code})","errorCountNoCode":"{count} Fel","noConnections":"Inga anslutningar","disabled":"Inaktiverad","enableProvider":"Aktivera leverant\xf6r","disableProvider":"Inaktivera leverant\xf6r","testResults":"Testresultat","noCompatibleYet":"Inga kompatibla leverant\xf6rer har lagts till \xe4nnu","compatibleHint":"Anv\xe4nd knapparna ovan f\xf6r att l\xe4gga till OpenAI- eller Anthropic-kompatibla slutpunkter","addOpenAICompatible":"L\xe4gg till OpenAI-kompatibel","addAnthropicCompatible":"L\xe4gg till Antropisk kompatibel","addNewProvider":"L\xe4gg till ny leverant\xf6r","backToProviders":"Tillbaka till leverant\xf6rer","configureNewProvider":"Konfigurera en ny AI-leverant\xf6r att anv\xe4nda med dina applikationer.","providerLabel":"Leverant\xf6r","selectProvider":"V\xe4lj en leverant\xf6r","selectedProvider":"Vald leverant\xf6r","authMethod":"Autentiseringsmetod","apiKeyLabel":"API-nyckel","apiKeyRequired":"API-nyckel kr\xe4vs","selectProviderRequired":"V\xe4lj en leverant\xf6r","enterApiKey":"Ange din API-nyckel","apiKeySecure":"Din API-nyckel kommer att krypteras och lagras s\xe4kert.","oauth2Connect":"Anslut med OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Anslut ditt konto med OAuth2-autentisering.","displayName":"Visningsnamn","displayNamePlaceholder":"t.ex. Production API, Dev Environment","displayNameHint":"Valfritt. Ett v\xe4nligt namn f\xf6r att identifiera denna konfiguration.","active":"Aktiv","activeDescription":"Aktivera denna leverant\xf6r f\xf6r anv\xe4ndning i dina applikationer","cancel":"Avbryt","createProvider":"Skapa leverant\xf6r","failedCreate":"Det gick inte att skapa leverant\xf6r","errorOccurred":"Ett fel uppstod. F\xf6rs\xf6k igen.","modelStatus":"Modellstatus","allModelsOperational":"Alla modeller i drift","modelsWithIssues":"{count} modell(er) med problem","allModelsNormal":"Alla modeller svarar normalt.","cooldownCleared":"Nedkylning rensad f\xf6r {model}","failedClearCooldown":"Det gick inte att rensa nedkylningen","loadingAvailability":"Laddar modelltillg\xe4nglighet...","clearCooldown":"Rensa","clearing":"Rensar...","until":"Tills {time}","providerTestFailed":"Providertestet misslyckades","modeTest":"{mode} Test","passedCount":"{count} godk\xe4nd","failedCount":"{count} misslyckades","testedCount":"{count} testad","millisecondsAbbr":"{value}ms","okShort":"OK","errorShort":"FEL","noActiveConnectionsInGroup":"Inga aktiva anslutningar hittades f\xf6r den h\xe4r gruppen.","allTestsPassed":"Alla {total} tester godk\xe4nda","testSummary":"{passed}/{total} godk\xe4nd, {failed} misslyckades","nameLabel":"Namn","prefixLabel":"Prefix","baseUrlLabel":"Bas-URL","apiTypeLabel":"API-typ","prefixHint":"Obligatoriskt. Unikt prefix f\xf6r modellnamn.","nameHint":"Obligatoriskt. En v\xe4nlig etikett f\xf6r denna nod.","baseUrlHint":"Obligatoriskt.  Providers API-basadress.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Validera anslutning","validating":"Validerar...","connectionValid":"Anslutningen \xe4r giltig!","connectionFailed":"Anslutning misslyckades. Kontrollera URL och nyckel.","testKeyLabel":"Testa API-nyckel","testKeyPlaceholder":"sk-... (endast f\xf6r validering)","providerNotFound":"Det gick inte att hitta leverant\xf6ren","deleteConnectionConfirm":"Vill du ta bort den h\xe4r anslutningen?","failedSetAlias":"Det gick inte att ange alias","failedSaveConnection":"Det gick inte att spara anslutningen","failedSaveConnectionRetry":"Det gick inte att spara anslutningen. F\xf6rs\xf6k igen.","failedRetestConnection":"Det gick inte att testa om anslutningen","deleteCompatibleNodeConfirm":"Ta bort denna {type} kompatibla nod?","anthropicCompatibleDetails":"Antropiska kompatibla detaljer","openaiCompatibleDetails":"OpenAI-kompatibla detaljer","messagesApi":"Messages API","responsesApi":"Responses API","chatCompletions":"Chattavslut","importingModels":"Importerar...","importFromModels":"Importera fr\xe5n /models","addConnectionToImport":"L\xe4gg till en anslutning f\xf6r att aktivera import.","noModelsConfigured":"Inga modeller har konfigurerats","connectionCount":"{count} anslutning(ar)","fetchingModels":"H\xe4mtar tillg\xe4ngliga modeller...","failedFetchModels":"Det gick inte att h\xe4mta modeller","noModelsFound":"Inga modeller hittades","importFailed":"Importen misslyckades","noNewModelsAdded":"Inga nya modeller tillkom.","adding":"L\xe4gger till...","importingModelsTitle":"Importera modeller","copyModel":"Kopiera modell","removeModel":"Ta bort modellen","rateLimitProtected":"Skyddad","rateLimitUnprotected":"Oskyddad","enableRateLimitProtection":"Klicka f\xf6r att aktivera hastighetsgr\xe4nsskydd","disableRateLimitProtection":"Klicka f\xf6r att inaktivera skyddet f\xf6r hastighetsgr\xe4nsen","productionKey":"Produktionsnyckel","enterNewApiKey":"Ange ny API-nyckel","optional":"Valfritt","anthropicCompatibleName":"Antropisk kompatibel","openaiCompatibleName":"OpenAI-kompatibel","failedImportModels":"Det gick inte att importera modeller","noModelsReturnedFromEndpoint":"Inga modeller returnerades fr\xe5n /models endpoint.","importingModelsProgress":"Importerar {current} av {total} modeller...","foundModelsStartingImport":"Hittade {count} modeller. Startar import...","importingModelById":"Importerar {modelId}...","importSuccessCount":"{count, plural, one {# model} other {# models}} har importerats framg\xe5ngsrikt!","noNewModelsAddedExisting":"Inga nya modeller har lagts till (alla finns redan).","importDoneCount":"✓ Klart! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Ett ov\xe4ntat fel intr\xe4ffade","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"meddelanden","responsesPath":"svar","chatCompletionsPath":"chatt/avslut","add":"L\xe4gg till","edit":"Redigera","delete":"Ta bort","anthropic":"Antropisk","openai":"OpenAI","singleConnectionPerCompatible":"Endast en anslutning till\xe5ts per kompatibel nod. L\xe4gg till ytterligare en nod om du beh\xf6ver fler anslutningar.","connections":"Anslutningar","providerProxyTitleConfigured":"Leverant\xf6rsproxy: {host}","configured":"konfigurerad","providerProxyConfigureHint":"Konfigurera proxy f\xf6r alla anslutningar fr\xe5n denna leverant\xf6r","providerProxy":"Leverant\xf6rs proxy","noConnectionsYet":"Inga anslutningar \xe4n","addFirstConnectionHint":"L\xe4gg till din f\xf6rsta anslutning f\xf6r att komma ig\xe5ng","addConnection":"L\xe4gg till anslutning","availableModels":"Tillg\xe4ngliga modeller","pageAutoRefresh":"Sidan uppdateras automatiskt...","statusDisabled":"funktionshindrade","statusConnected":"ansluten","statusRuntimeIssue":"k\xf6rtidsproblem","statusAuthFailed":"auth misslyckades","statusRateLimited":"sats begr\xe4nsad","statusNetworkIssue":"n\xe4tverksproblem","statusTestUnsupported":"testet st\xf6ds inte","statusUnavailable":"otillg\xe4nglig","statusFailed":"misslyckades","statusError":"fel","oauthAccount":"OAuth-konto","errorTypeRuntime":"Lokal k\xf6rtid","errorTypeUpstreamAuth":"Uppstr\xf6ms auth","errorTypeMissingCredential":"Saknar legitimation","errorTypeRefreshFailed":"Uppdateringen misslyckades","errorTypeTokenExpired":"Token har l\xf6pt ut","errorTypeRateLimited":"Begr\xe4nsat pris","errorTypeUpstreamUnavailable":"Uppstr\xf6ms ej tillg\xe4nglig","errorTypeNetworkError":"N\xe4tverksfel","errorTypeTestUnsupported":"Testet st\xf6ds inte","errorTypeUpstreamError":"Uppstr\xf6msfel","proxySourceGlobal":"Global","proxySourceProvider":"Leverant\xf6r","proxySourceKey":"Nyckel","proxyConfiguredBySource":"Proxy ({source}): {host}","autoPriority":"Auto: {priority}","proxy":"Proxy","retestAuthentication":"Testa om autentisering","retest":"Testa igen","disableConnection":"Inaktivera anslutningen","enableConnection":"Aktivera anslutning","reauthenticateConnection":"Autentisera den h\xe4r anslutningen igen","proxyConfig":"Proxykonfiguration","aliasExistsAlert":"Aliaset \\"{alias}\\" finns redan. Anv\xe4nd en annan modell eller redigera befintligt alias.","openRouterAnyModelHint":"OpenRouter st\xf6der alla modeller. L\xe4gg till modeller och skapa alias f\xf6r snabb \xe5tkomst.","modelIdFromOpenRouter":"Modell-ID (fr\xe5n OpenRouter)","openRouterModelPlaceholder":"antropisk/claude-3-opus","customModels":"Anpassade modeller","customModelsHint":"L\xe4gg till modell-ID:n som inte finns i standardlistan. Dessa kommer att vara tillg\xe4ngliga f\xf6r routing.","modelId":"Modell ID","customModelPlaceholder":"t.ex. gpt-4.5-turbo","loading":"Laddar...","removeCustomModel":"Ta bort anpassad modell","noCustomModels":"Inga anpassade modeller har lagts till \xe4nnu.","allSuggestedAliasesExist":"Alla f\xf6reslagna alias finns redan. V\xe4lj en annan modell eller ta bort motstridiga alias.","failedSaveCustomModel":"Det gick inte att spara anpassad modell","modelAddedSuccess":"Modellen {modelId} har lagts till","failedAddModelTryAgain":"Det gick inte att l\xe4gga till modell. F\xf6rs\xf6k igen.","failedSaveImportedModel":"Det gick inte att spara importerad modell till anpassad databas","failedImportModelsTryAgain":"Det gick inte att importera modeller. F\xf6rs\xf6k igen.","failedRemoveModelFromDatabase":"Det gick inte att ta bort modellen fr\xe5n databasen","modelRemovedSuccess":"Modellen har tagits bort","failedDeleteModelTryAgain":"Det gick inte att ta bort modellen. F\xf6rs\xf6k igen.","compatibleModelsDescription":"L\xe4gg till {type}-kompatibla modeller manuellt eller importera dem fr\xe5n /models-slutpunkten.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"API-nyckelvalidering misslyckades. Kontrollera din nyckel och f\xf6rs\xf6k igen.","addProviderApiKeyTitle":"L\xe4gg till {provider} API-nyckel","checking":"Kontrollerar...","check":"Kontrollera","valid":"Giltigt","invalid":"Ogiltig","creating":"Skapar...","validationChecksAnthropicCompatible":"Validering kontrollerar {provider} genom att verifiera API-nyckeln.","validationChecksOpenAiCompatible":"Valideringskontroller {provider} via /models p\xe5 din bas-URL.","priorityLabel":"Prioritet","saving":"Sparar...","save":"Spara","editConnection":"Redigera anslutning","accountName":"Kontonamn","email":"E-post","healthCheckMinutes":"H\xe4lsokontroll (min)","healthCheckHint":"Proaktivt uppdateringsintervall f\xf6r token. 0 = inaktiverad.","failedTestConnection":"Det gick inte att testa anslutningen","failed":"Misslyckades","leaveBlankKeepCurrentApiKey":"L\xe4mna tomt f\xf6r att beh\xe5lla den aktuella API-nyckeln.","editCompatibleTitle":"Redigera {type} Kompatibel","compatibleBaseUrlHint":"Anv\xe4nd basadressen (som slutar p\xe5 /v1) f\xf6r ditt {type}-kompatibla API.","apiKeyForCheck":"API-nyckel (f\xf6r kontroll)","compatibleProdPlaceholder":"{type} Kompatibel (Prod)"},"settings":{"title":"Inst\xe4llningar","general":"Allm\xe4nt","security":"S\xe4kerhet","appearance":"Utseende","routing":"Routing","cache":"Cache","resilience":"Motst\xe5ndskraft","systemPrompt":"Systemprompt","thinkingBudget":"T\xe4nkande budget","proxy":"Proxy","pricing":"Priss\xe4ttning","storage":"F\xf6rvaring","policies":"Policyer","ipFilter":"IP-filter","comboDefaults":"Combo standard","fallbackChains":"Reservkedjor","changePassword":"\xc4ndra l\xf6senord","enablePassword":"Aktivera l\xf6senord","darkMode":"M\xf6rkt l\xe4ge","lightMode":"Ljusl\xe4ge","systemTheme":"Systemtema","enableCache":"Aktivera cache","cacheTTL":"Cache TTL","maxCacheSize":"Max cachestorlek","clearCache":"Rensa cache","cacheHits":"Cachetr\xe4ffar","cacheMisses":"Cache missar","hitRate":"Tr\xe4fffrekvens","cacheEntries":"Cacheposter","circuitBreaker":"Str\xf6mbrytare","retryPolicy":"F\xf6rs\xf6k igen","maxRetries":"Max f\xf6rs\xf6ker igen","retryDelay":"F\xf6rs\xf6k igen F\xf6rdr\xf6jning","timeoutMs":"Timeout (ms)","enableSystemPrompt":"Aktivera System Prompt","systemPromptText":"Systemprompttext","enableThinking":"Aktivera t\xe4nkande","maxThinkingTokens":"Max Thinking Tokens","enableProxy":"Aktivera proxy","proxyUrl":"Proxy-URL","pricingRates":"Priser Format","currentPricing":"Aktuell pris\xf6versikt","loadingPricing":"Laddar prisinformation...","noPricing":"Inga prisuppgifter tillg\xe4ngliga","input":"Ing\xe5ng","output":"Utg\xe5ng","cached":"Cachad","reasoning":"Resonemang","cacheCreation":"Skapande av cache","customPricing":"Anpassad priss\xe4ttning","databaseSize":"Databasstorlek","backupDb":"S\xe4kerhetskopiera databas","restoreDb":"\xc5terst\xe4ll databas","exportData":"Exportera data","importData":"Importera data","clearData":"Rensa alla data","clearDataConfirm":"Detta kommer att radera all data permanent. \xc4r du s\xe4ker?","enableRequestLogs":"Aktivera f\xf6rfr\xe5gningsloggar","logRetention":"Logglagring","ipWhitelist":"IP vitlista","ipBlacklist":"IP Blacklist","addIP":"L\xe4gg till IP","savedSuccessfully":"Inst\xe4llningarna har sparats","ai":"AI","advanced":"Avancerat","localMode":"Lokalt l\xe4ge — All data lagrad p\xe5 din maskin","settingsSectionsAria":"Inst\xe4llningar","switchThemes":"V\xe4xla mellan ljusa och m\xf6rka teman","themeSelectionAria":"Temaval","themeLight":"Ljus","themeDark":"M\xf6rkt","themeSystem":"System","hideHealthLogs":"D\xf6lj loggar f\xf6r h\xe4lsokontroll","hideHealthLogsDesc":"N\xe4r P\xc5, d\xe4mpa [HealthCheck]-meddelanden i serverkonsolen","promptCache":"Fr\xe5ga Cache","flushCache":"Spola cachen","flushing":"Spolar...","size":"Storlek","hits":"Tr\xe4ffar","evictions":"Vr\xe4kningar","loadingCacheStats":"Laddar cachestatistik...","globalProxy":"Global proxy","globalProxyDesc":"Konfigurera en global utg\xe5ende proxy f\xf6r alla API-anrop. Enskilda leverant\xf6rer, kombinationer och nycklar kan \xe5sidos\xe4tta detta.","noGlobalProxy":"Ingen global proxy konfigurerad","globalLabel":"Global","configure":"Konfigurera","globalSystemPrompt":"Global System Prompt","systemPromptDesc":"Injiceras i alla f\xf6rfr\xe5gningar p\xe5 proxyniv\xe5","saved":"Sparad","systemPromptPlaceholder":"Ange systemuppmaning f\xf6r att injicera i alla f\xf6rfr\xe5gningar...","systemPromptHint":"Denna prompt l\xe4ggs till systemmeddelandet f\xf6r varje beg\xe4ran. Anv\xe4nd f\xf6r globala instruktioner, s\xe4kerhetsriktlinjer eller regler f\xf6r svarsformatering.","chars":"{count} tecken","thinkingBudgetTitle":"T\xe4nkande budget","thinkingBudgetDesc":"Kontrollera anv\xe4ndningen av AI-resonemangstoken \xf6ver alla f\xf6rfr\xe5gningar","passthrough":"Genomg\xe5ng","passthroughDesc":"Inga f\xf6r\xe4ndringar – kunden styr tankebudgeten","auto":"Auto","autoDesc":"Ta bort alla tankeinst\xe4llningar – l\xe5t leverant\xf6ren best\xe4mma","custom":"Anpassad","customDesc":"St\xe4ll in en fast tokenbudget f\xf6r alla f\xf6rfr\xe5gningar","adaptive":"Adaptiv","adaptiveDesc":"Skala budget baserat p\xe5 beg\xe4rans komplexitet","effortNone":"Inga (0 tokens)","effortLow":"L\xe5g (1K tokens)","effortMedium":"Medium (10 000 tokens)","effortHigh":"H\xf6g (128 000 tokens)","tokenBudget":"Token budget","tokens":"polletter","baseEffortLevel":"Basinsatsniv\xe5","adaptiveHint":"Adaptivt l\xe4ge skalas fr\xe5n denna basniv\xe5 baserat p\xe5 antal meddelanden, verktygsanv\xe4ndning och promptl\xe4ngd.","requireLogin":"Kr\xe4v inloggning","requireLoginDesc":"N\xe4r P\xc5 kr\xe4ver instrumentpanelen l\xf6senord. N\xe4r AV, \xe5tkomst utan inloggning.","currentPassword":"Aktuellt l\xf6senord","enterCurrentPassword":"Ange aktuellt l\xf6senord","newPassword":"Nytt l\xf6senord","enterNewPassword":"Ange nytt l\xf6senord","confirmPassword":"Bekr\xe4fta nytt l\xf6senord","confirmPasswordPlaceholder":"Bekr\xe4fta nytt l\xf6senord","passwordsNoMatch":"L\xf6senord st\xe4mmer inte \xf6verens","passwordUpdated":"L\xf6senordet har uppdaterats","failedUpdatePassword":"Det gick inte att uppdatera l\xf6senordet","errorOccurred":"Ett fel uppstod","updatePassword":"Uppdatera l\xf6senord","setPassword":"Ange l\xf6senord","apiEndpointProtection":"API-\xe4ndpunktsskydd","requireAuthModels":"Kr\xe4v API-nyckel f\xf6r /modeller","requireAuthModelsDesc":"N\xe4r P\xc5, returnerar /v1/models-slutpunkten 404 f\xf6r oautentiserade f\xf6rfr\xe5gningar. F\xf6rhindrar modelluppt\xe4ckt av obeh\xf6riga anv\xe4ndare.","blockedProviders":"Blockerade leverant\xf6rer","blockedProvidersDesc":"D\xf6lj specifika leverant\xf6rer fr\xe5n /v1/models-svaret. Blockerade leverant\xf6rer visas inte i modelllistorna.","providersBlocked":"{count} leverant\xf6r(er) blockerade fr\xe5n /modeller","blockProviderTitle":"Blockera {provider}","unblockProviderTitle":"Avblockera {provider}","routingStrategy":"Routingstrategi","fillFirst":"Fyll f\xf6rst","fillFirstDesc":"Anv\xe4nd konton i prioritetsordning","roundRobin":"Round Robin","roundRobinDesc":"G\xe5 igenom alla konton","p2c":"P2C","p2cDesc":"V\xe4lj 2 slumpm\xe4ssigt, anv\xe4nd den h\xe4lsosammare","random":"Slumpm\xe4ssigt","randomDesc":"Slumpm\xe4ssigt konto varje beg\xe4ran","leastUsed":"Minst anv\xe4nda","leastUsedDesc":"V\xe4lj minst senast anv\xe4nda konto","costOpt":"Kostnad Opt","costOptDesc":"F\xf6redrar billigaste tillg\xe4ngliga konto","stickyLimit":"Sticky Limit","stickyLimitDesc":"Samtal per konto innan byte","modelAliases":"Modellalias","modelAliasesDesc":"Jokerteckenm\xf6nster f\xf6r att mappa om modellnamn • Anv\xe4nd * och ?","aliasPatternPlaceholder":"claude-sonnett-*","aliasTargetPlaceholder":"claude-sonnet-4-20250514","pattern":"M\xf6nster","targetModel":"M\xe5lmodell","add":"+ L\xe4gg till","session":"Session","sessionDetailsAria":"Sessionsdetaljer","status":"Status","authenticated":"Autentiserad","guest":"G\xe4st","loginTime":"Inloggningstid","sessionAge":"Sessions\xe5lder","browser":"Webbl\xe4sare","clearLocalData":"Rensa lokal data","logout":"Logga ut","clearLocalDataConfirm":"Rensa alla lokala data? Detta kommer att \xe5terst\xe4lla dina inst\xe4llningar.","unknown":"Ok\xe4nd","systemActor":"systemet","ipAccessControl":"IP-\xe5tkomstkontroll","ipAccessControlDesc":"Blockera eller till\xe5t specifika IP-adresser","ipModeDisabled":"Inaktiverad","ipModeBlacklist":"Svartlista","ipModeWhitelist":"Vitlista","ipModeWhitelistPriority":"WL-prioritet","addIpAddress":"L\xe4gg till IP-adress","ipAddressPlaceholder":"192.168.1.0/24 eller 10.0.*.*","block":"+ Blockera","allow":"+ Till\xe5t","blocked":"Blockerad ({count})","allowed":"Till\xe5tet ({count})","temporaryBans":"Tillf\xe4lliga f\xf6rbud ({count})","minLeft":"{min}m kvar","auditLog":"Revisionslogg","searchAuditLogs":"S\xf6k granskningsloggar...","failedLoadAuditLog":"Det gick inte att l\xe4sa in granskningsloggen","noAuditEvents":"Inga granskningsh\xe4ndelser hittades","action":"\xc5tg\xe4rd","actor":"Sk\xe5despelare","details":"Detaljer","time":"Tid","fallbackChainsTitle":"Reservkedjor","fallbackChainsDesc":"Definiera reservorder f\xf6r leverant\xf6rer per modell","addChain":"+ L\xe4gg till kedja","modelName":"Modellnamn","modelNamePlaceholder":"claude-sonnet-4-20250514","providersCommaSeparated":"Leverant\xf6rer (kommaseparerade, i prioriterad ordning)","providersCommaSeparatedPlaceholder":"antropisk, openai, gemini","createChain":"Skapa kedja","noFallbackChains":"Inga reservkedjor","noFallbackChainsDesc":"Skapa en kedja f\xf6r att definiera leverant\xf6rs reservorder f\xf6r en modell.","loadingFallbackChains":"Laddar reservkedjor...","deleteChainConfirm":"Vill du ta bort reservkedjan f\xf6r \\"{model}\\"?","chainCreated":"Kedja skapad f\xf6r {model}","chainDeleted":"Kedjan raderad f\xf6r {model}","failedCreateChain":"Det gick inte att skapa kedja","failedDeleteChain":"Det gick inte att ta bort kedjan","deleteChain":"Ta bort kedja","fillModelAndProviders":"V\xe4nligen fyll i modellnamn och leverant\xf6rer","addAtLeastOneProvider":"L\xe4gg till minst en leverant\xf6r","comboDefaultsTitle":"Combo standard","globalComboConfig":"Global kombinationskonfiguration","defaultStrategy":"Standardstrategi","defaultStrategyDesc":"Till\xe4mpas p\xe5 nya kombinationer utan explicit strategi","comboStrategyAria":"Kombinationsstrategi","priority":"Prioritet","weighted":"Viktad","maxRetriesLabel":"Max f\xf6rs\xf6ker igen","retryDelayLabel":"F\xf6rs\xf6k igen f\xf6rdr\xf6jning (ms)","timeoutLabel":"Timeout (ms)","healthCheck":"H\xe4lsokontroll","healthCheckDesc":"Kontrollera leverant\xf6rens tillg\xe4nglighet i f\xf6rv\xe4g","trackMetrics":"Sp\xe5ra m\xe4tv\xe4rden","trackMetricsDesc":"Spela in m\xe4tv\xe4rden per kombinationsbeg\xe4ran","providerOverrides":"Provider \xe5sidos\xe4tter","providerOverridesDesc":"\xc5sidos\xe4tt timeout och f\xf6rs\xf6k igen per leverant\xf6r. Leverant\xf6rsinst\xe4llningar \xe5sidos\xe4tter globala standardinst\xe4llningar.","providerMaxRetriesAria":"{provider} max f\xf6rs\xf6k","providerTimeoutAria":"{provider} timeout ms","removeProviderOverrideAria":"Ta bort \xe5sidos\xe4ttningen {provider}","newProviderNamePlaceholder":"t.ex. google, \xf6ppna...","newProviderNameAria":"Nytt leverant\xf6rsnamn","retries":"f\xf6rs\xf6k igen","ms":"ms","saveComboDefaults":"Spara Combo Defaults","maxNestingDepth":"Max h\xe4ckningsdjup","concurrencyPerModel":"Samtidighet / Modell","queueTimeout":"Timeout f\xf6r k\xf6 (ms)","providerProfiles":"Leverant\xf6rsprofiler","providerProfilesDesc":"Separata inst\xe4llningar f\xf6r motst\xe5ndskraft f\xf6r OAuth (sessionsbaserad) och API Key (m\xe4tad) leverant\xf6rer. OAuth-leverant\xf6rer har str\xe4ngare tr\xf6sklar p\xe5 grund av l\xe4gre prisgr\xe4nser.","oauthProviders":"OAuth-leverant\xf6rer","apiKeyProviders":"API-nyckelleverant\xf6rer","transientCooldown":"\xd6verg\xe5ende nedkylning","rateLimitCooldown":"Rate Limit Cooldown","maxBackoffLevel":"Max Backoff Level","cbThreshold":"CB-tr\xf6skel","cbResetTime":"CB-\xe5terst\xe4llningstid","rateLimiting":"Prisbegr\xe4nsande","rateLimitingDesc":"API-nyckelleverant\xf6rer \xe4r automatiskt hastighetsbegr\xe4nsade med s\xe4kra standardinst\xe4llningar. Gr\xe4nser l\xe4rs fr\xe5n svarsrubriker och anpassas \xf6ver tid.","defaultSafetyNet":"Standards\xe4kerhetsn\xe4t","rpm":"RPM","minGap":"Min Gap","maxConcurrent":"Max Samtidigt","activeLimiters":"Aktiva begr\xe4nsningar","noActiveLimiters":"Inga aktiva hastighetsbegr\xe4nsare \xe4n.","reservoir":"Reservoar","running":"L\xf6pning","queued":"I k\xf6","circuitBreakers":"Str\xf6mbrytare","breakerStateClosed":"St\xe4ngt","breakerStateOpen":"\xd6ppna","breakerStateHalfOpen":"Halv\xf6ppet","tripped":"{count} utl\xf6stes","healthy":"{count} frisk","resetAll":"\xc5terst\xe4ll alla","noCircuitBreakers":"Inga str\xf6mbrytare aktiva \xe4n. De skapas automatiskt n\xe4r f\xf6rfr\xe5gningar fl\xf6dar genom den kombinerade pipelinen.","failures":"{count} fel(er)","policiesLocked":"Policyer och l\xe5sta identifierare","allOperational":"Alla system \xe4r i drift — inga l\xe5sningar eller utl\xf6sta brytare","loadingPolicies":"L\xe4ser in policyer...","lockedIdentifiers":"L\xe5sta identifierare","unlockedIdentifier":"Uppl\xe5st: {identifier}","sinceDate":"sedan {date}","forceUnlock":"Tvinga uppl\xe5sning","unlocking":"L\xe5ser upp...","failedUnlock":"Det gick inte att l\xe5sa upp","failedLoadWithStatus":"Det gick inte att ladda: {status}","failedLoadResilience":"Det gick inte att l\xe4sa in resiliensstatus","saveFailed":"Det gick inte att spara","resetFailed":"\xc5terst\xe4llningen misslyckades","loadingResilience":"Laddar resiliensstatus...","retry":"F\xf6rs\xf6k igen","systemStorage":"System & lagring","allDataLocal":"All data lagrad lokalt p\xe5 din maskin","databasePath":"Databasv\xe4g","exportDatabase":"Exportera databas","exportAll":"Exportera alla (.tar.gz)","importDatabase":"Importera databas","confirmDbImport":"Bekr\xe4fta databasimport","confirmDbImportDesc":"Detta kommer att ers\xe4tta all aktuell data med inneh\xe5llet fr\xe5n {file}. En s\xe4kerhetskopia skapas automatiskt f\xf6re importen.","yesImport":"Ja, importera","lastBackup":"Senaste s\xe4kerhetskopieringen","noBackupYet":"Ingen backup \xe4nnu","backupNow":"S\xe4kerhetskopiera nu","backupRestore":"S\xe4kerhetskopiera och \xe5terst\xe4lla","viewBackups":"Visa s\xe4kerhetskopior","hide":"G\xf6m","backupRetentionDesc":"Databas\xf6gonblicksbilder skapas automatiskt f\xf6re \xe5terst\xe4llning och var 15:e minut n\xe4r data \xe4ndras. Retention: 24 timmar per timme + 30 dagliga backuper med smart rotation.","loadingBackups":"Laddar s\xe4kerhetskopior...","noBackupsYet":"Inga s\xe4kerhetskopior tillg\xe4ngliga \xe4nnu. S\xe4kerhetskopieringar skapas automatiskt n\xe4r data \xe4ndras.","backupsAvailable":"{count} s\xe4kerhetskopior tillg\xe4ngliga","refresh":"Uppdatera","confirm":"Bekr\xe4fta?","yes":"Ja","no":"Nej","restore":"\xc5terst\xe4ll","invalidFileType":"Ogiltig filtyp. Endast .sqlite-filer accepteras.","exportFailed":"Exporten misslyckades","exportFailedWithError":"Export misslyckades: {error}","fullExportFailedWithError":"Fullst\xe4ndig export misslyckades: {error}","backupCreated":"S\xe4kerhetskopiering skapad: {file}","restoreSuccess":"\xc5terst\xe4lld! {connections} anslutningar, {nodes} noder, {combos} kombinationer, {apiKeys} API-nycklar.","importSuccess":"Databas importerad! {connections} anslutningar, {nodes} noder, {combos} kombinationer, {apiKeys} API-nycklar.","justNow":"just nu","minutesAgo":"{count}m sedan","hoursAgo":"{count}h sedan","daysAgo":"{count}d sedan","backupReasonManual":"handbok","backupReasonPreRestore":"f\xf6r\xe5terst\xe4llning","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Inga \xe4ndringar sedan senaste s\xe4kerhetskopiering","backupFailed":"S\xe4kerhetskopieringen misslyckades","restoreFailed":"\xc5terst\xe4llningen misslyckades","importFailed":"Importen misslyckades","errorDuringRestore":"Ett fel uppstod under \xe5terst\xe4llning","errorDuringImport":"Ett fel uppstod under importen","modelPricing":"Modellpriss\xe4ttning","modelPricingDesc":"Konfigurera kostnadssatser per modell • Alla priser i $/1M tokens","providers":"Leverant\xf6rer","registry":"Registret","priced":"Prissatt","searchProvidersModels":"S\xf6k efter leverant\xf6rer eller modeller...","showAll":"Visa alla","noProvidersMatch":"Inga leverant\xf6rer matchar din s\xf6kning.","howPricingWorks":"Hur priss\xe4ttning fungerar","cacheWrite":"Cache Skriv","unsaved":"osparade","resetDefaults":"\xc5terst\xe4ll standardv\xe4rden","saveProvider":"Spara leverant\xf6r","saving":"Sparar...","model":"Modell","models":"modeller","moreProviders":"{count} fler leverant\xf6rer","withPricing":"med konfigurerad priss\xe4ttning","policiesCircuitBreakers":"Policyer och str\xf6mbrytare","activeIssuesDetected":"Aktiva problem uppt\xe4cktes","off":"Av","resetPricingConfirm":"Vill du \xe5terst\xe4lla alla priser f\xf6r {provider} till standardv\xe4rdena?","pricingDescInput":"Indata: tokens skickas till modellen","pricingDescOutput":"Utdata: tokens genererade","pricingDescCached":"Cachad: \xe5teranv\xe4nd indata (~50 % av inmatningshastighet)","pricingDescReasoning":"Resonemang: t\xe4nkande tokens (faller tillbaka till Output)","pricingDescCacheWrite":"Cache Write: skapa cache-poster (faller tillbaka till Input)","pricingDescFormula":"Kostnad = (ing\xe5ng \xd7 input_rate) + (output \xd7 output_rate) + (cachad \xd7 cached_rate) per miljon tokens.","pricingSettingsTitle":"Prisinst\xe4llningar","totalModels":"Totalt antal modeller","active":"Aktiv","costCalculation":"Kostnadsber\xe4kning","costCalculationDesc":"Kostnaderna ber\xe4knas baserat p\xe5 tokenanv\xe4ndning och priss\xe4ttning som konfigurerats f\xf6r varje modell.","pricingFormat":"Prisformat","pricingFormatDesc":"Alla priser \xe4r i $/1M tokens (dollar per miljon tokens).","tokenTypes":"Tokentyper","inputTokenDesc":"Standard prompt tokens","outputTokenDesc":"Kompletterande/svars-tokens","cachedTokenDesc":"Cachade indatatokens (vanligtvis 50 % av inmatningshastigheten)","reasoningTokenDesc":"S\xe4rskilda resonemang/t\xe4nketokens (\xe5terg\xe5ng till produktionshastighet)","cacheCreationTokenDesc":"Tokens som anv\xe4nds f\xf6r att skapa cacheposter (\xe5terg\xe5ng till inmatningshastighet)","customPricingNote":"Du kan \xe5sidos\xe4tta standardpriser f\xf6r specifika modeller. Anpassade \xe5sidos\xe4ttningar har prioritet framf\xf6r automatiskt identifierade priser.","editPricing":"Redigera priss\xe4ttning","viewFullDetails":"Visa fullst\xe4ndiga detaljer"},"translator":{"title":"\xd6vers\xe4ttare","metaTitle":"\xd6vers\xe4ttare Lekplats | OmniRoute","metaDescription":"Fels\xf6k, testa och visualisera API-format\xf6vers\xe4ttningar mellan leverant\xf6rer","playgroundTitle":"\xd6vers\xe4ttare Lekplats","playground":"Lekplats","realtime":"\xd6vers\xe4ttningsaktivitet i realtid","chatTester":"Chattestare","testBench":"Testb\xe4nk","liveMonitor":"Live Monitor","modeDescriptionPlayground":"Klistra in valfri API-beg\xe4ran och se hur OmniRoute \xf6vers\xe4tter den mellan leverant\xf6rsformat (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)","modeDescriptionChatTester":"Skicka riktiga chattf\xf6rfr\xe5gningar via OmniRoute och inspektera hela tur och retur: indata, \xf6versatt beg\xe4ran, leverant\xf6rssvar och \xf6versatt utdata.","modeDescriptionTestBench":"K\xf6r f\xf6rdefinierade scenarier och j\xe4mf\xf6r kompatibilitet mellan leverant\xf6rer och modeller.","modeDescriptionLiveMonitor":"Se \xf6vers\xe4ttningsh\xe4ndelser i realtid n\xe4r f\xf6rfr\xe5gningar fl\xf6dar genom OmniRoute.","modeDescriptionFallback":"Fels\xf6k, testa och visualisera hur OmniRoute \xf6vers\xe4tter API-f\xf6rfr\xe5gningar mellan leverant\xf6rer.","recentTranslations":"Nya \xf6vers\xe4ttningar","noTranslations":"Inga \xf6vers\xe4ttningar \xe4nnu","source":"K\xe4lla","target":"M\xe5l","time":"Tid","model":"Modell","status":"Status","latency":"Latens","totalTranslations":"Totala \xf6vers\xe4ttningar","successful":"Framg\xe5ngsrik","errors":"Fel","avgLatency":"Genomsnittlig latens","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Live — Automatisk uppdatering","paused":"Pausad","eventsAppearHint":"\xd6vers\xe4ttningsh\xe4ndelser visas h\xe4r n\xe4r f\xf6rfr\xe5gningar fl\xf6dar genom OmniRoute. Anv\xe4nd n\xe5gon av dessa metoder f\xf6r att generera h\xe4ndelser:","chatTesterTab":"Fliken Chattestare","testBenchTab":"Fliken Testb\xe4nk","externalApiCalls":"Externa API-anrop","ideCliIntegrations":"IDE/CLI-integrationer","inMemoryNote":"Obs: H\xe4ndelser lagras i minnet och \xe5terst\xe4lls n\xe4r servern startar om.","ok":"OK","errorShort":"ERR","formatConverter":"Formatomvandlare","formatConverterDescription":"Klistra in eller skriv en JSON-beg\xe4ran. \xd6vers\xe4ttaren kommer att automatiskt uppt\xe4cka k\xe4llformatet och konvertera det till m\xe5lformatet. Anv\xe4nd detta f\xf6r att fels\xf6ka hur OmniRoute \xf6vers\xe4tter f\xf6rfr\xe5gningar mellan format (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Ing\xe5ng","output":"Utg\xe5ng","auto":"Auto","swapFormats":"Byt format","translateAction":"\xd6vers\xe4tt","clear":"Rensa","inputPlaceholder":"Klistra in en f\xf6rfr\xe5gningstext h\xe4r eller v\xe4lj en mall nedan...","exampleTemplates":"Exempel mallar","exampleTemplatesHint":"— Klicka f\xf6r att ladda","templateLoadHint":"Mallen laddar beg\xe4ran i formatet {format}. \xc4ndra k\xe4llformat f\xf6r att ladda i ett annat format.","compatibilityTester":"Kompatibilitetstestare","compatibilityReport":"Kompatibilitetsrapport","testBenchDescription":"K\xf6r f\xf6rdefinierade scenarier (Simple Chat, Tool Calling, etc.) f\xf6r att verifiera \xf6vers\xe4ttning och leverant\xf6rskompatibilitet. V\xe4lj ett k\xe4llformat och m\xe5lleverant\xf6r och k\xf6r sedan alla tester f\xf6r att se en kompatibilitetsprocent. Anv\xe4nd det h\xe4r f\xf6r att ta reda p\xe5 vilka funktioner som fungerar mellan olika leverant\xf6rer.","targetProvider":"M\xe5lleverant\xf6r","runAllTests":"K\xf6r alla tester","runTest":"K\xf6r test","reRun":"K\xf6r igen","running":"K\xf6r...","passed":"godk\xe4nd","failed":"misslyckades","passedIconLabel":"✅ Godk\xe4nd","chunks":"bitar","scenarioSimpleChat":"Enkel chatt","scenarioToolCalling":"Verktygsanrop","scenarioMultiTurn":"Flervarv","scenarioThinking":"T\xe4nker","scenarioSystemPrompt":"Systemprompt","scenarioStreaming":"Streaming","templateNames":{"simple-chat":"Enkel chatt","tool-calling":"Verktygsanrop","multi-turn":"Flervarv","thinking":"T\xe4nker","system-prompt":"Systemprompt","streaming":"Streaming"},"templateDescriptions":{"simple-chat":"Grundl\xe4ggande textmeddelande","tool-calling":"Funktion/verktygsanrop","multi-turn":"Samtal med historien","thinking":"Ut\xf6kat t\xe4nkande/resonemang","system-prompt":"Komplexa systeminstruktioner","streaming":"SSE-str\xf6mningsf\xf6rfr\xe5gan"},"templatePayloads":{"simpleChat":{"system":"Du \xe4r en hj\xe4lpsam assistent.","userGreeting":"Hej! Hur m\xe5r du idag?"},"toolCalling":{"userWeather":"Hur \xe4r v\xe4dret i S\xe3o Paulo?","toolDescription":"F\xe5 aktuellt v\xe4der f\xf6r en plats","cityNameDescription":"Stadsnamn"},"multiTurn":{"system":"Du \xe4r en kodningsassistent.","userInitial":"Skriv en funktion f\xf6r att sortera en array i Python.","assistantExample":"H\xe4r \xe4r en enkel sorteringsfunktion:\\n\\n``` python\\ndef sort_array(arr):\\n return sorterad(arr)\\n```","userFollowUp":"Sortera det nu i fallande ordning."},"thinking":{"question":"Vad \xe4r summan av de f\xf6rsta 100 primtalen?"},"systemPrompt":{"systemInstruction":"Du \xe4r en senior mjukvaruingenj\xf6r specialiserad p\xe5 distribuerade system. Svara p\xe5 fr\xe5gor kortfattat med hj\xe4lp av branschens b\xe4sta praxis. Ge alltid kodexempel n\xe4r det \xe4r relevant. Formatera dina svar med markdown.","question":"Hur implementerar jag ett str\xf6mbrytarm\xf6nster?"},"streaming":{"prompt":"Ber\xe4tta en kort historia om en robot som l\xe4r sig m\xe5la."}},"openaiCompatibleLabel":"OpenAI-kompatibel","anthropicCompatibleLabel":"Antropisk kompatibel","noTemplateForFormat":"Ingen mall f\xf6r detta format","translationFailed":"\xd6vers\xe4ttning misslyckades: {error}","pipelineDebugger":"Pipeline Debugger","translationPipeline":"\xd6vers\xe4ttning pipeline","pipelineVisualization":"Visualisering av pipeline","pipelineVisualizationHint":"Skicka ett meddelande f\xf6r att se hur din f\xf6rfr\xe5gan flyter genom uppt\xe4ckt → \xf6vers\xe4ttning → leverant\xf6rssamtal.","chatTesterDescription":"Skicka meddelanden som ett specifikt klientformat och inspektera varje steg i \xf6vers\xe4ttningspipelinen.","chatTesterFlow":"Klientf\xf6rfr\xe5gan → Formatdetektion → OpenAI Intermediate → Leverant\xf6rsformat → Svar","clickStepToInspect":"Klicka p\xe5 valfritt steg f\xf6r att inspektera data i det stadiet.","clientFormat":"Klientformat","provider":"Leverant\xf6r","modelPlaceholder":"V\xe4lj eller skriv ett modellnamn...","sendMessageToSeePipeline":"Skicka ett meddelande f\xf6r att se \xf6vers\xe4ttningspipeline","chatMessageHintPrefix":"Ditt meddelande kommer att formateras som en","chatMessageHintSuffix":"beg\xe4ran, \xf6versatt genom pipelinen och skickad till den valda leverant\xf6ren.","youWithFormat":"Du ({format})","assistant":"Assistent","typeMessage":"Skriv ett meddelande...","send":"Skicka","clientRequest":"Kundf\xf6rfr\xe5gan","clientRequestDescription":"Beg\xe4ran som din klient skulle skicka den","formatDetected":"Format uppt\xe4ckt","formatDetectedDescription":"OmniRoute uppt\xe4cker automatiskt API-formatet fr\xe5n f\xf6rfr\xe5gningsstrukturen","openaiIntermediate":"OpenAI Intermediate","openaiIntermediateDescription":"Alla format normaliseras f\xf6rst till OpenAI-format (den universella bryggan)","providerFormat":"Leverant\xf6rsformat","providerFormatDescription":"OpenAI-formatet \xf6vers\xe4tts till leverant\xf6rens ursprungliga format","providerResponse":"Leverant\xf6rens svar","providerResponseRawDescription":"Det r\xe5a svaret fr\xe5n leverant\xf6rens API","providerResponseSseDescription":"Den r\xe5a SSE-str\xf6mmen fr\xe5n leverant\xf6rens API","unexpectedError":"Ett ov\xe4ntat fel intr\xe4ffade","error":"Fel","errorMessage":"Fel: {message}","requestFailed":"Beg\xe4ran misslyckades","noTextExtracted":"(Ingen text extraherad)","liveMonitorDescriptionPrefix":"Visar \xf6vers\xe4ttningsh\xe4ndelser n\xe4r API-anrop flyter genom OmniRoute. H\xe4ndelser kommer fr\xe5n minnesbufferten (\xe5terst\xe4lls vid omstart). Anv\xe4nd","liveMonitorDescriptionSuffix":", eller externa API-anrop f\xf6r att generera h\xe4ndelser."},"usage":{"title":"Anv\xe4ndning","loggerTab":"Logger","proxyTab":"Proxy","budgetManagement":"Budgethantering","budgetSaved":"Budgetgr\xe4nser sparade","budgetSaveFailed":"Det gick inte att spara budget","loadingBudgetData":"Laddar budgetdata...","noApiKeysTitle":"Inga API-nycklar","noApiKeysDescription":"L\xe4gg f\xf6rst till API-nycklar f\xf6r att st\xe4lla in budgetgr\xe4nser.","apiKey":"API-nyckel","todaysSpend":"Dagens utgifter","thisMonth":"Denna m\xe5nad","setLimits":"St\xe4ll in gr\xe4nser","dailyLimitUsd":"Daglig gr\xe4ns (USD)","monthlyLimitUsd":"M\xe5nadsgr\xe4ns (USD)","warningThresholdPercent":"Varningstr\xf6skel (%)","dailyLimitPlaceholder":"t.ex. 5.00","monthlyLimitPlaceholder":"t.ex. 50.00","warningThresholdPlaceholder":"80","saveLimits":"Spara gr\xe4nser","budgetOk":"Budget OK — {remaining} kvar","budgetExceeded":"Budget \xf6verskriden — f\xf6rfr\xe5gningar kan blockeras","totalRequests":"Totalt antal f\xf6rfr\xe5gningar","noDataYet":"Inga uppgifter \xe4nnu","latency":"Latens","latencyP50":"p50","latencyP95":"s 95","latencyP99":"s 99","promptCache":"Fr\xe5ga Cache","systemHealth":"Systemh\xe4lsa","entries":"Inl\xe4gg","activeCount":"{count} aktiv","openCircuitBreakersDetected":"\xd6ppen str\xf6mbrytare uppt\xe4ckt","hitRate":"Tr\xe4fffrekvens","hitsMisses":"Tr\xe4ffar/missar","circuitBreakers":"Str\xf6mbrytare","lockedIPs":"L\xe5sta IP-adresser","lockoutsAutoRefreshHint":"L\xe5s f\xf6r hastighetsgr\xe4ns per modell • Automatisk uppdatering 10s","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} kvar","howItWorks":"Hur det fungerar","howItWorksSubtitle":"L\xe4r dig hur utv\xe4rderingar validerar dina LLM-svar","define":"Definiera","defineStepDescription":"Skapa testfall med indatameddelanden och f\xf6rv\xe4ntade utdatakriterier med hj\xe4lp av strategier som inneh\xe5ller, regex eller exakt matchning.","run":"K\xf6r","runStepDescription":"Utf\xf6r testfall mot dina LLM-slutpunkter genom OmniRoute. Varje \xe4rende skickas som en riktig API-f\xf6rfr\xe5gan.","evaluate":"Utv\xe4rdera","evaluateStepDescription":"Svar j\xe4mf\xf6rs mot f\xf6rv\xe4ntade kriterier. Se godk\xe4nt/underk\xe4nt f\xf6r varje fall med latensstatistik och detaljerad feedback.","evalSuites":"Utv\xe4rderingssviter","evalSuitesHint":"Klicka p\xe5 en svit f\xf6r att se testfall och k\xf6r sedan f\xf6r att utv\xe4rdera dina LLM-slutpunkter","evalsLoading":"Laddar eval-sviter...","noEvalSuitesFound":"Inga Eval Suites hittades","noEvalSuitesDescription":"Eval-sviter kan definieras via API:t eller i kod. De testar modellutdata mot f\xf6rv\xe4ntade resultat med hj\xe4lp av strategier som inneh\xe5ller, regex, exakt matchning och anpassade funktioner.","columnCase":"Fall","columnStatus":"Status","columnLatency":"Latens","columnDetails":"Detaljer","columnModel":"Modell","columnStrategy":"Strategi","columnExpected":"F\xf6rv\xe4ntat","statsSuites":"Sviter","statsTestCases":"Testfall","statsModels":"Modeller","statsCoverage":"T\xe4ckning","statsStrategiesCount":"{count} strategier","evaluationStrategies":"Utv\xe4rderingsstrategier","modelsUnderTest":"Modeller under test","searchSuitesPlaceholder":"S\xf6k efter sviter...","passSuffix":"passera","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"K\xf6r Eval","runningProgress":"K\xf6r {current}/{total}...","passRate":"genomslagsfrekvens","summaryBreakdown":"{passed} godk\xe4nd \xb7 {failed} misslyckades \xb7 {total} totalt","passedIconLabel":"✅ Godk\xe4nd","failedIconLabel":"❌ Misslyckades","detailsContains":"Inneh\xe5ller: \\"{term}\\"","detailsRegex":"Regex: {pattern}","detailsExpected":"F\xf6rv\xe4ntat: \\"{expected}\\"","noResultsYet":"Inga resultat \xe4nnu","testCasesCount":"Testfall ({count})","noTestCasesDefined":"Inga testfall definierade","runEvalHint":"Klicka p\xe5 \\"K\xf6r Eval\\" f\xf6r att k\xf6ra alla \xe4renden mot din LLM-slutpunkt. Varje test skickar en riktig f\xf6rfr\xe5gan via OmniRoute.","notifyNoTestCases":"Inga testfall har definierats f\xf6r denna svit","notifyAllCasesPassed":"Alla {total} fall godk\xe4ndes ✅","notifySomeCasesFailed":"{passed}/{total} godk\xe4nd, {failed} misslyckades","notifyEvalRunFailed":"Evalk\xf6rningen misslyckades","notifyEvalTitle":"Eval: {name}","modelEvals":"Modellutv\xe4rderingar","evalsHeroDescription":"Testa och validera dina LLM-slutpunkter genom att k\xf6ra f\xf6rdefinierade utv\xe4rderingssviter. Varje svit inneh\xe5ller testfall som skickar riktiga uppmaningar genom OmniRoute och j\xe4mf\xf6r svar mot f\xf6rv\xe4ntade kriterier – vilket hj\xe4lper dig att uppt\xe4cka regressioner, j\xe4mf\xf6ra modeller och s\xe4kerst\xe4lla svarskvalitet mellan leverant\xf6rer.","qualityValidation":"Kvalitetsvalidering","modelComparison":"Modellj\xe4mf\xf6relse","regressionDetection":"Regressionsdetektering","latencyBenchmarks":"Latency Benchmarks","modelLockouts":"Modell Lockouter","noLockouts":"Inga modeller \xe4r f\xf6r n\xe4rvarande l\xe5sta","activeSessions":"Aktiva sessioner","noSessions":"Inga aktiva sessioner","sessionsHint":"Sessioner visas n\xe4r f\xf6rfr\xe5gningar fl\xf6dar genom proxyn","sessionsTrackedHint":"Sp\xe5ras via beg\xe4ran om fingeravtryck • Automatisk uppdatering 5s","session":"Session","age":"\xc5lder","requests":"F\xf6rfr\xe5gningar","connection":"Anslutning","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Leverant\xf6rsgr\xe4nser","noProviders":"Inga leverant\xf6rer anslutna","connectProvidersForQuota":"Anslut till leverant\xf6rer med OAuth f\xf6r att sp\xe5ra dina API-kvotgr\xe4nser och anv\xe4ndning.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(filtrerad fr\xe5n {count})","autoRefresh":"Automatisk uppdatering","refreshAll":"Uppdatera alla","loadingQuotas":"Laddar...","account":"konto","modelQuotas":"Modellkvoter","lastUsed":"Senast anv\xe4nd","actions":"\xc5tg\xe4rder","refreshQuota":"Uppdatera kvoten","today":"Idag","tomorrow":"Imorgon","dayTimeFormat":"{day}, {time}","inDuration":"i {duration}","notApplicable":"N/A","rawPlanWithValue":"R\xe5 plan: {plan}","noPlanFromProvider":"Ingen plan fr\xe5n leverant\xf6ren","noQuotaData":"Inga kvotdata","noQuotaDataAvailable":"Inga kvotdata tillg\xe4ngliga","noAccountsForTierFilter":"Inga konton hittades f\xf6r niv\xe5filter","tierAll":"Alla","tierEnterprise":"F\xf6retag","tierTeam":"Team","tierBusiness":"Business","tierUltra":"Ultra","tierPro":"Pro","tierPlus":"Plus","tierFree":"Gratis","tierUnknown":"Ok\xe4nd"},"modals":{"waitingAuth":"V\xe4ntar p\xe5 auktorisering","verificationUrl":"Verifierings-URL","yourCode":"Din kod","remoteAccess":"Fj\xe4rr\xe5tkomst:","connectedSuccess":"Ansluten framg\xe5ngsrikt!","connectionFailed":"Anslutningen misslyckades","chooseAuthMethod":"V\xe4lj din autentiseringsmetod:","awsBuilderId":"AWS Builder ID","awsIamIdentity":"AWS IAM Identity Center","googleAccount":"Google-konto","githubAccount":"GitHub-konto","importToken":"Importera token","pasteToken":"Klistra in uppdateringstoken fr\xe5n Kiro IDE.","awsRegion":"AWS-regionen","autoDetecting":"Identifierar tokens automatiskt...","readingFromCache":"L\xe4ser fr\xe5n AWS SSO-cache","readingFromCursor":"L\xe4ser fr\xe5n Cursor IDE-databas","initializing":"Initierar...","pricingConfig":"Priskonfiguration","loadingPricing":"Laddar prisinformation...","pricingRatesFormat":"Priser Format","noPricingData":"Inga prisuppgifter tillg\xe4ngliga","noModelsFound":"Inga modeller hittades"},"loggers":{"allProviders":"Alla leverant\xf6rer","allModels":"Alla modeller","allAccounts":"Alla konton","allApiKeys":"Alla API-nycklar","allTypes":"Alla typer","allLevels":"Alla niv\xe5er","modelAZ":"Modell A-Z","modelZA":"Modell Z-A","loadingLogs":"Laddar loggar...","loadingProxyLogs":"Laddar proxyloggar...","noLogEntries":"Inga loggposter hittades","noPayloadData":"Ingen nyttolastdata tillg\xe4nglig f\xf6r denna loggpost.","proxyEvent":"Proxyh\xe4ndelse","proxy":"Proxy","level":"Niv\xe5","directNative":"Direkt (inf\xf6dd)","combo":"Combo","inputTokens":"jag:","outputTokens":"O:"},"stats":{"usageOverview":"Anv\xe4ndnings\xf6versikt","outputTokens":"Output Tokens","totalCost":"Total kostnad","usageByModel":"Anv\xe4ndning efter modell","usageByAccount":"Anv\xe4ndning per konto","failedToLoad":"Det gick inte att l\xe4sa in anv\xe4ndningsstatistik.","tokenHealth":"Token Health","totalOAuth":"Totalt OAuth","healthy":"Frisk","warning":"Varning","errored":"Fel","lastCheck":"Sista kontrollen","noData":"Inga data","share":"Dela","unableToLoad":"Det gick inte att l\xe4sa in systemstatistik","product":"Produkt","resources":"Resurser","company":"F\xf6retag"},"auth":{"welcome":"V\xe4lkommen","signIn":"Logga in","enterPassword":"Ange ditt l\xf6senord f\xf6r att forts\xe4tta","password":"L\xf6senord","unifiedProxy":"Unified AI API Proxy","unifiedAiApiProxy":"Unified AI API Proxy","unifiedAiApiProxyDesc":"Dirigera f\xf6rfr\xe5gningar till flera AI-leverant\xf6rer via en enda slutpunkt. Lastbalansering, failover och anv\xe4ndningssp\xe5rning inbyggd.","passwordNotEnabled":"L\xf6senordsskydd \xe4r inte aktiverat","loading":"Laddar...","invalidPassword":"Ogiltigt l\xf6senord","errorOccurredRetry":"Ett fel uppstod. F\xf6rs\xf6k igen.","configureInstance":"L\xe5t oss konfigurera din OmniRoute-instans","runOnboardingWizard":"K\xf6r introduktionsguiden f\xf6r att st\xe4lla in ditt l\xf6senord och ansluta din f\xf6rsta AI-leverant\xf6r.","startOnboarding":"B\xf6rja onboarding","secureYourInstance":"S\xe4kra din instans","setPasswordDescription":"Ange ett l\xf6senord f\xf6r att skydda din instrumentpanel och skydda dina API-slutpunkter fr\xe5n obeh\xf6rig \xe5tkomst.","configurePassword":"Konfigurera l\xf6senord","continue":"Forts\xe4tt","windowWillClose":"Det h\xe4r f\xf6nstret st\xe4ngs automatiskt...","closeTabNow":"Du kan st\xe4nga den h\xe4r fliken nu.","copyUrlManual":"Kopiera URL:en fr\xe5n adressf\xe4ltet och klistra in den i programmet.","accessDeniedDescription":"Du har inte beh\xf6righet att komma \xe5t den h\xe4r resursen. Kontrollera din API-nyckel eller kontakta administrat\xf6ren.","goToDashboard":"G\xe5 till Dashboard","featureMultiProviderTitle":"Flera leverant\xf6rer","featureMultiProviderDesc":"OpenAI, Anthropic, Google och mer","featureLoadBalancingTitle":"Lastbalansering","featureLoadBalancingDesc":"F\xf6rdela f\xf6rfr\xe5gningar intelligent","featureUsageTrackingTitle":"Anv\xe4ndningssp\xe5rning","featureUsageTrackingDesc":"\xd6vervaka kostnader och tokens","resetPassword":"\xc5terst\xe4ll l\xf6senord","resetDescription":"V\xe4lj en metod f\xf6r att \xe5terst\xe4lla \xe5tkomst till din instrumentpanel","stopServer":"Stoppa OmniRoute-servern","processing":"Bearbetar...","pleaseWait":"V\xe4nta medan vi slutf\xf6r auktoriseringen.","authSuccess":"Auktoriseringen lyckades!","copyUrl":"Kopiera denna URL","accessDenied":"\xc5tkomst nekad","methodCliTitle":"Metod 1: CLI-\xe5terst\xe4llning","methodCliDescription":"K\xf6r f\xf6ljande kommando p\xe5 servern d\xe4r OmniRoute k\xf6rs:","methodCliHint":"Detta kommer att uppmana dig att ange ett nytt l\xf6senord. Servern m\xe5ste stoppas f\xf6rst.","methodManualTitle":"Metod 2: Manuell \xe5terst\xe4llning","methodManualDescription":"Ta bort l\xf6senordet fr\xe5n databasen och st\xe4ll in ett nytt vid start:","setPasswordInYour":"Ange ett nytt l\xf6senord i din","fileLabelSuffix":"fil:","newPasswordPlaceholder":"ditt_nya_l\xf6senord","deleteSettingsFile":"Ta bort","orRemovePasswordHashField":"eller ta bort f\xe4ltet passwordHash","restartServerWithNewPassword":"Starta om servern - den kommer att anv\xe4nda det nya l\xf6senordet","backToLogin":"Tillbaka till inloggning","forgotPassword":"Gl\xf6mt l\xf6senordet?"},"landing":{"brandName":"OmniRoute","navigateHome":"Navigera till hem","toggleMenu":"V\xe4xla meny","featuresLink":"Funktioner","docsLink":"Dokument","github":"GitHub","versionLive":"v1.0 \xe4r nu live","oneEndpoint":"En slutpunkt f\xf6r","allProviders":"Alla AI-leverant\xf6rer","heroDescription":"AI-slutpunktsproxy med webbinstrumentpanel - En JavaScript-port f\xf6r CLIProxyAPI. Fungerar s\xf6ml\xf6st med Claude Code, OpenAI Codex, Cline, RooCode och andra CLI-verktyg.","getStarted":"Kom ig\xe5ng","viewOnGithub":"Visa p\xe5 GitHub","powerfulFeatures":"Kraftfulla funktioner","featuresSubtitle":"Allt du beh\xf6ver f\xf6r att hantera din AI-infrastruktur p\xe5 ett st\xe4lle, byggt f\xf6r skala.","featureUnifiedEndpointTitle":"Unified Endpoint","featureUnifiedEndpointDesc":"F\xe5 tillg\xe5ng till alla leverant\xf6rer via en enda standard API-URL.","featureEasySetupTitle":"Enkel installation","featureEasySetupDesc":"Kom ig\xe5ng p\xe5 n\xe5gra minuter med npx-kommandot.","featureModelFallbackTitle":"Modell Fallback","featureModelFallbackDesc":"Byt leverant\xf6r automatiskt vid fel eller h\xf6g latens.","featureUsageTrackingTitle":"Anv\xe4ndningssp\xe5rning","featureUsageTrackingDesc":"Detaljerad analys och kostnads\xf6vervakning \xf6ver alla modeller.","featureOAuthApiKeysTitle":"OAuth- och API-nycklar","featureOAuthApiKeysDesc":"Hantera autentiseringsuppgifter p\xe5 ett s\xe4kert s\xe4tt i ett valv.","featureCloudSyncTitle":"Molnsynkronisering","featureCloudSyncDesc":"Synkronisera dina konfigurationer mellan enheter direkt.","featureCliSupportTitle":"CLI Support","featureCliSupportDesc":"Fungerar med Claude Code, Codex, Cline, Cursor och mer.","featureDashboardTitle":"Instrumentpanel","featureDashboardDesc":"Visuell instrumentpanel f\xf6r trafikanalys i realtid.","howItWorks":"Hur OmniRoute fungerar","howItWorksDescription":"Data fl\xf6dar s\xf6ml\xf6st fr\xe5n din applikation genom v\xe5rt intelligenta routinglager till den b\xe4sta leverant\xf6ren f\xf6r jobbet.","howItWorksStep1Title":"1. CLI & SDK:er","howItWorksStep1Description":"Dina f\xf6rfr\xe5gningar utg\xe5r fr\xe5n dina favoritverktyg eller v\xe5r enhetliga SDK. \xc4ndra bara webbadressen.","howItWorksStep2Title":"2. OmniRoute Hub","howItWorksStep2Description":"V\xe5r motor analyserar uppmaningen, kontrollerar leverant\xf6rens h\xe4lsa och rutter f\xf6r l\xe4gsta latens eller kostnad.","howItWorksStep3Title":"3. AI-leverant\xf6rer","howItWorksStep3Description":"Beg\xe4ran uppfylls av OpenAI, Anthropic, Gemini eller andra omedelbart.","getStartedIn30Seconds":"Kom ig\xe5ng p\xe5 30 sekunder","getStartedDescription":"Installera OmniRoute, konfigurera dina leverant\xf6rer via webbinstrumentpanelen och b\xf6rja dirigera AI-f\xf6rfr\xe5gningar.","installOmniRoute":"Installera OmniRoute","installStepDescription":"K\xf6r npx-kommandot f\xf6r att starta servern direkt","openDashboard":"\xd6ppna Dashboard","openDashboardStepDescription":"Konfigurera leverant\xf6rer och API-nycklar via webbgr\xe4nssnitt","routeRequests":"Ruttf\xf6rfr\xe5gningar","routeRequestsStepDescription":"Rikta dina CLI-verktyg till {endpoint}","terminal":"terminal","copy":"Kopiera","copied":"✓ Kopierat","startingOmniRoute":"Startar OmniRoute...","serverRunningOnLabel":"Server k\xf6rs p\xe5","dashboardLabel":"Instrumentpanel","readyToRoute":"Redo att f\xe4rdas! ✓","configureProvidersNote":"\uD83D\uDCDD Konfigurera leverant\xf6rer i instrumentpanelen eller anv\xe4nd milj\xf6variabler","dataLocation":"Dataplats:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Windows:","product":"Produkt","dashboardLink":"Instrumentpanel","changelog":"\xc4ndringslogg","resources":"Resurser","documentation":"Dokumentation","npm":"NPM","legal":"Lagligt","mitLicense":"MIT-licens","footerTagline":"Den enhetliga slutpunkten f\xf6r AI-generering. Anslut, dirigera och hantera dina AI-leverant\xf6rer med l\xe4tthet.","copyright":"\xa9 {year} OmniRoute. Alla r\xe4ttigheter reserverade.","flowToolClaudeCode":"Claude Code","flowToolOpenAICodex":"OpenAI Codex","flowToolCline":"Cline","flowToolCursor":"Mark\xf6r","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Antropisk","flowProviderGemini":"Tvillingarna","flowProviderGithubCopilot":"GitHub Copilot","interactiveDiagram":"Interaktivt diagram synligt p\xe5 skrivbordet","ctaTitle":"\xc4r du redo att f\xf6renkla din AI-infrastruktur?","ctaDescription":"G\xe5 med utvecklare som effektiviserar sina AI-integrationer med OmniRoute. \xd6ppen k\xe4llkod och gratis att starta.","startFree":"B\xf6rja gratis","readDocumentation":"L\xe4s dokumentation"},"docs":{"title":"Dokumentation","quickStart":"Snabbstart","features":"Funktioner","supportedProviders":"Leverant\xf6rer som st\xf6ds","supportedProvidersToc":"Leverant\xf6rer","commonUseCases":"Vanliga anv\xe4ndningsfall","clientCompatibility":"Klientkompatibilitet","apiReference":"API-referens","method":"Metod","path":"V\xe4g","notes":"Anteckningar","modelPrefixes":"Modellprefix","prefix":"Prefix","troubleshooting":"Fels\xf6kning","supportsChat":"St\xf6der b\xe5de chatt- och svarsslutpunkter.","oauthAutoRefresh":"OAuth-anslutning med automatisk tokenuppdatering.","fullStreaming":"Fullst\xe4ndigt streamingst\xf6d f\xf6r alla modeller.","docsLabel":"Dokument","docsHeroDescription":"AI-gateway f\xf6r LLM:er med flera leverant\xf6rer. En slutpunkt f\xf6r OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor och 20+ leverant\xf6rer till.","openDashboard":"\xd6ppna Dashboard","endpointPage":"Slutpunktssida","github":"GitHub","reportIssue":"Rapportera problem","onThisPage":"P\xe5 den h\xe4r sidan","documentationVersion":"Dokumentation - v{version}","quickStartStep1Title":"1. Installera och k\xf6r","quickStartStep1Prefix":"K\xf6r","quickStartStep1Middle":"eller klona fr\xe5n GitHub och k\xf6r","quickStartStep2Title":"2. Skapa API-nyckel","quickStartStep2Text":"G\xe5 till Endpoint -> Registrerade nycklar. Generera en nyckel per milj\xf6.","quickStartStep3Title":"3. Anslut leverant\xf6rer","quickStartStep3Text":"L\xe4gg till leverant\xf6rskonton via OAuth-inloggning, API-nyckel eller automatisk anslutning p\xe5 fri niv\xe5.","quickStartStep4Title":"4. St\xe4ll in klientbasens URL","quickStartStep4Prefix":"Peka din IDE- eller API-klient till","quickStartStep4Suffix":"Anv\xe4nd till exempel leverant\xf6rsprefix","featureRoutingTitle":"Routing f\xf6r flera leverant\xf6rer","featureRoutingText":"Dirigera f\xf6rfr\xe5gningar till 30+ AI-leverant\xf6rer via en enda OpenAI-kompatibel slutpunkt. St\xf6der chatt, svar, ljud och bild-API:er.","featureCombosTitle":"Kombinationer och balansering","featureCombosText":"Skapa modellkombinationer med reservkedjor och balanseringsstrategier: round-robin, prioritet, slumpm\xe4ssigt, minst anv\xe4nda och kostnadsoptimerat.","featureUsageTitle":"Anv\xe4ndnings- och kostnadssp\xe5rning","featureUsageText":"Tokenr\xe4kning i realtid, kostnadsber\xe4kning per leverant\xf6r/modell och detaljerad anv\xe4ndningsuppdelning efter API-nyckel och konto.","featureAnalyticsTitle":"Analysinstrumentpanel","featureAnalyticsText":"Visuell analys med diagram f\xf6r f\xf6rfr\xe5gningar, tokens, fel, latens, kostnader och modellpopularitet \xf6ver tid.","featureHealthTitle":"H\xe4lso\xf6vervakning","featureHealthText":"Live h\xe4lsokontroller, leverant\xf6rsstatus, str\xf6mbrytartillst\xe5nd och automatisk hastighetsgr\xe4nsdetektering med exponentiell backoff.","featureCliTitle":"CLI-verktyg","featureCliText":"Hantera IDE-konfigurationer, exportera/importera s\xe4kerhetskopior, uppt\xe4ck codex-profiler och konfigurera inst\xe4llningar fr\xe5n instrumentpanelen.","featureSecurityTitle":"S\xe4kerhet och policyer","featureSecurityText":"API-nyckelautentisering, IP-filtrering, promptinjektionsskydd, dom\xe4npolicyer, sessionshantering och granskningsloggning.","featureCloudSyncTitle":"Molnsynkronisering","featureCloudSyncText":"Synkronisera din konfiguration med Cloudflare Workers f\xf6r fj\xe4rr\xe5tkomst med krypterade autentiseringsuppgifter och automatisk failover.","providersAcrossConnectionTypes":"{count} leverant\xf6rer \xf6ver tre anslutningstyper.","manageProviders":"Hantera leverant\xf6rer","providersCount":"{count} leverant\xf6rer","providerTypeFree":"Gratis niv\xe5","providerTypeOAuth":"OAuth","providerTypeApiKey":"API-nyckel","useCaseSingleEndpointTitle":"En enda slutpunkt f\xf6r m\xe5nga leverant\xf6rer","useCaseSingleEndpointText":"Peka klienter till en basadress och dirigera efter modellprefix (till exempel: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Reserv- och modellbyte med kombinationer","useCaseFallbackText":"Skapa kombinationsmodeller i Dashboard och h\xe5ll klientkonfigurationen stabil medan leverant\xf6rerna roterar internt.","useCaseUsageVisibilityTitle":"Anv\xe4ndning, kostnad och fels\xf6kningssynlighet","useCaseUsageVisibilityText":"Sp\xe5ra tokens och kostnader efter leverant\xf6r, konto och API-nyckel p\xe5 flikarna Anv\xe4ndning och Analytics.","clientCherryStudioTitle":"Cherry Studio","baseUrlLabel":"Bas-URL","chatEndpointLabel":"Chattslutpunkt","modelRecommendationLabel":"Modellrekommendation: explicit prefix","clientCodexTitle":"Codex / GitHub Copilot-modeller","clientCodexBullet1":"Anv\xe4nd modell-ID med","clientCodexBullet2":"Codex-familjens modeller dirigeras automatiskt till","clientCodexBullet3":"Icke-Codex-modeller forts\xe4tter","clientCursorTitle":"Mark\xf6r IDE","clientCursorBullet1":"Anv\xe4nd","clientCursorBullet1Suffix":"prefix f\xf6r Cursor-modeller.","clientCursorBullet2":"OAuth-anslutning - logga in fr\xe5n sidan Leverant\xf6rer.","clientClaudeTitle":"Claude Code / Antigravitation","clientClaudeBullet1Prefix":"Anv\xe4nd","clientClaudeBullet1Middle":"(Claude) eller","clientClaudeBullet1Suffix":"(Antigravitation) prefix.","endpointChatNote":"OpenAI-kompatibel chattslutpunkt (standard).","endpointResponsesNote":"Responses API-slutpunkt (Codex, o-serien).","endpointModelsNote":"Modellkatalog f\xf6r alla anslutna leverant\xf6rer.","endpointAudioNote":"Ljudtranskription (Deepgram, AssemblyAI).","endpointImagesNote":"Bildgenerering (NanoBanana).","endpointRewriteChatNote":"Omskrivningshj\xe4lp f\xf6r klienter utan /v1.","endpointRewriteResponsesNote":"Skriv om hj\xe4lpare f\xf6r svar utan /v1.","endpointRewriteModelsNote":"Omskrivningshj\xe4lp f\xf6r modelluppt\xe4ckt utan /v1.","modelPrefixesDescriptionStart":"Anv\xe4nd leverant\xf6rsprefixet f\xf6re modellnamnet f\xf6r att dirigera till en specifik leverant\xf6r. Exempel:","modelPrefixesDescriptionEnd":"rutter till GitHub Copilot.","provider":"Leverant\xf6r","type":"Typ","troubleshootingModelRouting":"Om klienten misslyckas med modellrouting, anv\xe4nd explicit leverant\xf6r/modell (till exempel: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Om du f\xe5r tvetydiga modellfel v\xe4ljer du ett leverant\xf6rsprefix ist\xe4llet f\xf6r ett blott modell-ID.","troubleshootingCodexFamily":"F\xf6r GitHub Codex-familjens modeller, beh\xe5ll modellen som gh/<codex-model>; routern v\xe4ljer /svarar automatiskt.","troubleshootingTestConnection":"Anv\xe4nd Dashboard > Leverant\xf6rer > Testa anslutning innan du testar fr\xe5n IDE:er eller externa klienter.","troubleshootingCircuitBreaker":"Om en leverant\xf6r visar att str\xf6mbrytaren \xe4r \xf6ppen, v\xe4nta p\xe5 nedkylning eller kolla Health-sidan f\xf6r detaljer.","troubleshootingOAuth":"F\xf6r OAuth-leverant\xf6rer, autentisera p\xe5 nytt om tokens l\xf6per ut. Kontrollera leverant\xf6rskortets statusindikator."},"legal":{"privacyPolicy":"Sekretesspolicy","termsOfService":"Anv\xe4ndarvillkor","providerConfigurations":"Leverant\xf6rskonfigurationer","apiKeys":"API-nycklar","usageLogs":"Anv\xe4ndningsloggar","applicationSettings":"Applikationsinst\xe4llningar","viewExportAnalytics":"Visa och exportera anv\xe4ndningsanalyser","clearHistory":"Rensa anv\xe4ndningshistorik n\xe4r som helst","configureRetention":"Konfigurera logglagringspolicyer","backupRestore":"S\xe4kerhetskopiera och \xe5terst\xe4ll din databas","privacyMetadataTitle":"Sekretesspolicy | OmniRoute","privacyMetadataDescription":"Sekretesspolicy f\xf6r OmniRoute AI API-proxyroutern.","termsMetadataTitle":"Anv\xe4ndarvillkor | OmniRoute","termsMetadataDescription":"Anv\xe4ndarvillkor f\xf6r OmniRoute AI API-proxyroutern.","backToHome":"Tillbaka till hemmet","lastUpdated":"Senast uppdaterad: {date}","policyLastUpdatedDate":"13 februari 2026","listSeparator":"-","questionsVisit":"Fr\xe5gor? Bes\xf6k v\xe5r","githubRepository":"GitHub-f\xf6rr\xe5d","privacySection1Title":"1. Lokal-f\xf6rst arkitektur","privacySection1Text":"OmniRoute \xe4r designad som en lokal-f\xf6rst-applikation. All databehandling och lagring sker helt och h\xe5llet p\xe5 din maskin. Det finns ingen centraliserad server som samlar in din information.","privacySection2Title":"2. Data vi lagrar","privacyDataStoredIn":"F\xf6ljande data lagras lokalt i","privacyDataProviderConfigurationsDesc":"anslutningsadresser, leverant\xf6rstyper och prioritetsinst\xe4llningar","privacyDataApiKeysDesc":"krypterad och lagrad lokalt f\xf6r autentisering med AI-leverant\xf6rer","privacyDataUsageLogsDesc":"antal beg\xe4randen, tokenanv\xe4ndning, modellnamn, tidsst\xe4mplar och svarstider","privacyDataApplicationSettingsDesc":"temapreferenser, routingstrategi och kombinationskonfigurationer","privacySection3Title":"3. Ingen telemetri","privacySection3Text":"OmniRoute samlar inte in telemetri-, analys- eller kraschrapporter. Ingen data skickas till oss eller n\xe5gon tredje part. Dina anv\xe4ndningsm\xf6nster, API-anrop och konfigurationer f\xf6rblir helt privata.","privacySection4Title":"4. Tredjeparts AI-leverant\xf6rer","privacySection4Text":"N\xe4r du g\xf6r API-anrop via OmniRoute vidarebefordras dina f\xf6rfr\xe5gningar till de AI-leverant\xf6rer du har konfigurerat (till exempel: OpenAI, Anthropic, Google). Dessa leverant\xf6rer har sina egna integritetspolicyer som styr hur de hanterar din data. V\xe4nligen granska:","privacyOpenAiPolicy":"OpenAI Sekretesspolicy","privacyAnthropicPolicy":"Antropisk sekretesspolicy","privacyGooglePolicy":"Googles sekretesspolicy","privacySection5Title":"5. Molnsynkronisering (valfritt)","privacySection5Text":"Om du aktiverar den valfria molnsynkroniseringsfunktionen kan leverant\xf6rskonfigurationer och API-nycklar \xf6verf\xf6ras till en konfigurerad molnslutpunkt. Den h\xe4r funktionen \xe4r inaktiverad som standard och kr\xe4ver explicit opt-in.","privacySection6Title":"6. Loggning","privacyLoggingIntro":"Beg\xe4ran loggar kan konfigureras via instrumentpanelens inst\xe4llningar. Du kan:","privacySection7Title":"7. Dina r\xe4ttigheter","privacySection7TextStart":"Eftersom all data lagras lokalt har du full kontroll. Du kan radera dina uppgifter n\xe4r som helst genom att ta bort","privacySection7TextEnd":"katalogen eller anv\xe4nda funktionerna f\xf6r s\xe4kerhetskopiering och \xe5terst\xe4llning av databasen i instrumentpanelen.","termsSection1Title":"1. \xd6versikt","termsSection1Text":"OmniRoute \xe4r en lokalt f\xf6rsta AI API-proxyrouter som fungerar helt p\xe5 din maskin. Den dirigerar f\xf6rfr\xe5gningar till flera AI-leverant\xf6rer med lastbalansering, failover och anv\xe4ndningssp\xe5rning.","termsSection2Title":"2. Anv\xe4ndaransvar","termsResponsibilityApiKeys":"Du \xe4r ensam ansvarig f\xf6r att hantera dina egna API-nycklar och autentiseringsuppgifter f\xf6r tredjeparts AI-leverant\xf6rer (OpenAI, Anthropic, Google, etc.).","termsResponsibilityCompliance":"Du m\xe5ste f\xf6lja anv\xe4ndarvillkoren f\xf6r varje AI-leverant\xf6r vars API du kommer \xe5t via OmniRoute.","termsResponsibilitySecurity":"Du ansvarar f\xf6r s\xe4kerheten f\xf6r din lokala OmniRoute-installation, inklusive att st\xe4lla in ett l\xf6senord och begr\xe4nsa n\xe4tverks\xe5tkomst.","termsSection3Title":"3. Hur det fungerar","termsSection3Text":"OmniRoute fungerar som en f\xf6rmedlande proxy. API-anrop som skickas till OmniRoute \xf6vers\xe4tts och vidarebefordras till dina konfigurerade AI-leverant\xf6rer. OmniRoute \xe4ndrar inte inneh\xe5llet i dina f\xf6rfr\xe5gningar eller svar ut\xf6ver den n\xf6dv\xe4ndiga protokoll\xf6vers\xe4ttningen.","termsSection4Title":"4. Datahantering","termsDataStoredLocally":"All data lagras lokalt p\xe5 din maskin i en SQLite-databas.","termsNoTransmission":"OmniRoute \xf6verf\xf6r ingen data till externa servrar om du inte uttryckligen aktiverar molnsynkroniseringsfunktioner.","termsDataLocationText":"Anv\xe4ndningsloggar, API-nycklar och konfiguration lagras i","termsSection5Title":"5. Ansvarsfriskrivning","termsSection5Text":"OmniRoute tillhandah\xe5lls \\"i befintligt skick\\" utan garanti av n\xe5got slag. Vi ansvarar inte f\xf6r n\xe5gra kostnader som uppst\xe5r genom API-anv\xe4ndning, tj\xe4nstavbrott eller dataf\xf6rlust. Beh\xe5ll alltid s\xe4kerhetskopior av din konfiguration.","termsSection6Title":"6. \xd6ppen k\xe4llkod","termsSection6Text":"OmniRoute \xe4r programvara med \xf6ppen k\xe4llkod. Du \xe4r fri att inspektera, modifiera och distribuera den enligt villkoren i dess licens."}}')}};
1
+ "use strict";exports.id=5094,exports.ids=[5094],exports.modules={85094:a=>{a.exports=JSON.parse('{"common":{"save":"Spara","cancel":"Avbryt","delete":"Ta bort","loading":"Laddar...","error":"Ett fel uppstod","success":"Framg\xe5ng","confirm":"\xc4r du s\xe4ker?","refresh":"Uppdatera","close":"St\xe4ng","add":"L\xe4gg till","edit":"Redigera","search":"S\xf6k","back":"Tillbaka","next":"N\xe4sta","submit":"Skicka in","reset":"\xc5terst\xe4ll","copy":"Kopiera","copied":"Kopierade!","enabled":"Aktiverad","disabled":"Inaktiverad","active":"Aktiv","inactive":"Inaktiv","noData":"Inga data tillg\xe4ngliga","configure":"Konfigurera","manage":"Hantera","name":"Namn","actions":"\xc5tg\xe4rder","status":"Status","type":"Typ","model":"Modell","models":"modeller","provider":"Leverant\xf6r","account":"konto","time":"Tid","details":"Detaljer","created":"Skapad","lastUsed":"Senast anv\xe4nd","loadMore":"Ladda mer","noResults":"Inga resultat hittades","reloadPage":"Ladda om sidan","connected":"Ansluten","disconnected":"Fr\xe5nkopplad","notConfigured":"Ej konfigurerad","testConnection":"Testa anslutningen","enable":"Aktivera","disable":"Inaktivera","columns":"Kolumner","newest":"Nyaste","oldest":"\xc4ldst","all":"Alla","none":"Inga","yes":"Ja","no":"Nej","warning":"Varning","note":"Obs","free":"Gratis","skipToContent":"Hoppa till inneh\xe5llet"},"sidebar":{"home":"Hem","dashboard":"Instrumentpanel","providers":"Leverant\xf6rer","combos":"Combos","usage":"Anv\xe4ndning","analytics":"Analytics","costs":"Kostnader","health":"H\xe4lsa","limits":"Gr\xe4nser och kvoter","cliTools":"CLI-verktyg","settings":"Inst\xe4llningar","translator":"\xd6vers\xe4ttare","docs":"Dokument","issues":"fr\xe5gor","endpoint":"Slutpunkt","apiManager":"API-hanterare","logs":"Loggar","auditLog":"Revisionslogg","shutdown":"Avst\xe4ngning","restart":"Starta om","shutdownConfirm":"St\xe4nga av OmniRoute?","restartConfirm":"Starta om OmniRoute?","version":"v{version}","debug":"Fels\xf6k","system":"System","help":"Hj\xe4lp","serverDisconnected":"Server fr\xe5nkopplad","serverDisconnectedMsg":"Proxyservern har stoppats eller startar om.","expandSidebar":"Expandera sidof\xe4ltet","collapseSidebar":"D\xf6lj sidof\xe4ltet"},"header":{"logout":"Logga ut","language":"Spr\xe5k","providers":"Leverant\xf6rer","providerDescription":"Hantera dina AI-leverant\xf6rsanslutningar","combos":"Combos","comboDescription":"Modellkombo med reserv","usage":"Anv\xe4ndning & analys","usageDescription":"\xd6vervaka din API-anv\xe4ndning, tokenf\xf6rbrukning och f\xf6rfr\xe5gningsloggar","analytics":"Analytics","analyticsDescription":"Diagram, trender och utv\xe4rderingsinsikter","cliTools":"CLI-verktyg","cliToolsDescription":"Konfigurera CLI-verktyg","home":"Hem","homeDescription":"V\xe4lkommen till OmniRoute","endpoint":"Slutpunkt","endpointDescription":"API-slutpunktskonfiguration","settings":"Inst\xe4llningar","settingsDescription":"Hantera dina preferenser","openaiCompatible":"OpenAI-kompatibel","anthropicCompatible":"Antropisk kompatibel"},"home":{"quickStart":"Snabbstart","quickStartDesc":"Kom ig\xe5ng i 4 steg. Anslut leverant\xf6rer, ruttmodeller, \xf6vervaka allt.","fullDocs":"Fullst\xe4ndiga dokument","step1Title":"1. Skapa API-nyckel","step1Desc":"G\xe5 till <endpoint>Endpoint</endpoint> -> Registrerade nycklar. Generera en nyckel per milj\xf6.","step2Title":"2. Anslut leverant\xf6rer","step2Desc":"L\xe4gg till konton i <providers>Providers</providers>. St\xf6der OAuth, API Key och gratis niv\xe5er.","step3Title":"3. Peka din klient","step3Desc":"St\xe4ll in bas-URL till {url} i din IDE- eller API-klient.","step4Title":"4. \xd6vervaka och optimera","step4Desc":"Sp\xe5ra tokens, kostnader och fel i <logs>Request Logs</logs> och <analytics>Analytics</analytics>.","providersOverview":"Leverant\xf6rs\xf6versikt","configuredOf":"{configured} konfigurerad av {total} tillg\xe4ngliga leverant\xf6rer","noModelsAvailable":"Inga modeller tillg\xe4ngliga f\xf6r denna leverant\xf6r.","configureFirst":"Konfigurera en anslutning f\xf6rst i {providers}","configureProvider":"Konfigurera leverant\xf6r","modelAvailable":"{count} modell tillg\xe4nglig","modelsAvailable":"{count} modeller tillg\xe4ngliga","connectionsActive":"{count} anslutning aktiv","connectionsActivePlural":"{count} anslutningar aktiva","copyModelName":"Kopiera modellnamn","documentation":"Dokumentation","healthMonitor":"H\xe4lso\xf6vervakare","reportIssue":"Rapportera problem","activeError":"{active} aktiv \xb7 {errors} fel","oauthLabel":"OAuth","apiKeyLabel":"API-nyckel","requestsShort":"{count} krav","providerModelsTitle":"{provider} - Modeller","copiedModel":"Kopierat: {model}","aliasLabel":"alias"},"analytics":{"title":"Analytics","overviewDescription":"\xd6vervaka dina API-anv\xe4ndningsm\xf6nster, tokenf\xf6rbrukning, kostnader och aktivitetstrender f\xf6r alla leverant\xf6rer och modeller.","evalsDescription":"K\xf6r utv\xe4rderingssviter f\xf6r att testa och validera dina LLM-slutpunkter. J\xe4mf\xf6r modellkvalitet, uppt\xe4ck regressioner och benchmark latens.","overview":"\xd6versikt","evals":"Evals"},"apiManager":{"title":"API-nycklar","createKey":"Skapa API-nyckel","key":"Nyckel","revokeKey":"\xc5terkalla nyckel","revokeConfirm":"\xc4r du s\xe4ker p\xe5 att du vill \xe5terkalla denna API-nyckel?","noKeys":"Inga API-nycklar \xe4nnu","noKeysDesc":"Skapa din f\xf6rsta API-nyckel f\xf6r att autentisera f\xf6rfr\xe5gningar till din slutpunkt","keyLabel":"Nyckeletikett","permissions":"Beh\xf6righeter","expiresAt":"Upph\xf6r att g\xe4lla","never":"Aldrig","revoke":"\xc5terkalla","showKey":"Visa nyckel","hideKey":"D\xf6lj nyckel","copyKey":"Kopiera API-nyckel","allModels":"Alla modeller","selectedModels":"Utvalda modeller","readOnly":"Endast l\xe4s","fullAccess":"Full tillg\xe5ng","keyManagement":"API-nyckelhantering","keyManagementDesc":"Skapa och hantera API-nycklar f\xf6r autentisering av f\xf6rfr\xe5gningar till din slutpunkt","totalKeys":"Totalt nycklar","restricted":"Begr\xe4nsad","totalRequests":"Totalt antal f\xf6rfr\xe5gningar","modelsAvailable":"Tillg\xe4ngliga modeller","registeredKeys":"Registrerade nycklar","keysRegistered":"{count} nycklar registrerade","keyRegistered":"{count} nyckel registrerad","keysSecurityNote":"Varje nyckel isolerar anv\xe4ndningssp\xe5rning och kan \xe5terkallas oberoende. Nycklar \xe4r maskerade efter skapande f\xf6r s\xe4kerhet.","createFirstKey":"Skapa din f\xf6rsta nyckel","name":"Namn","usage":"Anv\xe4ndning","created":"Skapad","actions":"\xc5tg\xe4rder","reqs":"reqs","neverUsed":"Aldrig anv\xe4nd","deleteConfirm":"Vill du ta bort denna API-nyckel?","usageTips":"Anv\xe4ndningstips","tipAuth":"Anv\xe4nd API-nycklar i auktoriseringshuvudet som B\xe4rare YOUR_KEY","tipSecure":"Nycklar visas bara en g\xe5ng under skapandet – f\xf6rvara dem s\xe4kert","tipSeparate":"Skapa separata nycklar f\xf6r olika klienter eller milj\xf6er","tipRestrict":"Begr\xe4nsa nycklar till specifika modeller f\xf6r b\xe4ttre s\xe4kerhet och kostnadskontroll","keyName":"Nyckelnamn","keyNamePlaceholder":"t.ex. produktionsnyckel, utvecklingsnyckel","keyNameDesc":"V\xe4lj ett beskrivande namn f\xf6r att identifiera denna nyckels syfte","keyCreated":"API-nyckel skapad","keyCreatedSuccess":"Nyckel skapad framg\xe5ngsrikt!","keyCreatedNote":"Kopiera och lagra den h\xe4r nyckeln nu – den kommer inte att visas igen.","done":"Klart","savePermissions":"Spara beh\xf6righeter","allowAll":"Till\xe5t alla","restrict":"Begr\xe4nsa","allowAllInfo":"Denna nyckel kan komma \xe5t alla tillg\xe4ngliga modeller.","restrictInfo":"Denna nyckel kan komma \xe5t {selected} av {total} modeller.","selected":"{count} har valts","all":"Alla","clear":"Rensa","searchModels":"S\xf6k modeller efter namn eller leverant\xf6r...","noModelsFound":"Inga modeller hittades","keyNameRequired":"Nyckelnamn kr\xe4vs","keyNameTooLong":"Nyckelnamnet m\xe5ste vara h\xf6gst {max} tecken","keyNameInvalid":"Nyckelnamn kan bara inneh\xe5lla bokst\xe4ver, siffror, mellanslag, bindestreck och understreck","invalidKeyName":"Ogiltigt nyckelnamn","failedCreateKey":"Det gick inte att skapa nyckel","failedCreateKeyRetry":"Det gick inte att skapa nyckel. F\xf6rs\xf6k igen.","invalidKeyId":"Ogiltigt nyckel-ID","failedDeleteKey":"Det gick inte att radera nyckel","failedDeleteKeyRetry":"Det gick inte att radera nyckel. F\xf6rs\xf6k igen.","invalidModelsSelection":"Ogiltigt modellval","cannotSelectMoreThanModels":"Kan inte v\xe4lja fler \xe4n {max} modeller","failedUpdatePermissions":"Det gick inte att uppdatera beh\xf6righeter","failedUpdatePermissionsRetry":"Det gick inte att uppdatera beh\xf6righeter. F\xf6rs\xf6k igen.","unknownProvider":"ok\xe4nt","copyMaskedKey":"Kopiera maskerad nyckel","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Senaste: {date}","editPermissions":"Redigera beh\xf6righeter","deleteKey":"Ta bort nyckel","model":"{count} modell","models":"{count} modeller","permissionsTitle":"Beh\xf6righeter: {name}","allowAllDesc":"Denna nyckel kan komma \xe5t alla tillg\xe4ngliga modeller.","restrictDesc":"Denna nyckel kan komma \xe5t {selectedCount} av {totalModels} modeller.","selectedCount":"{count} har valts"},"auditLog":{"title":"Revisionslogg","searchPlaceholder":"S\xf6k\xe5tg\xe4rder...","action":"\xc5tg\xe4rd","actor":"Sk\xe5despelare","target":"M\xe5l","ipAddress":"IP-adress","timestamp":"Tidsst\xe4mpel","noEntries":"Inga revisionsposter hittades","filterByAction":"Filtrera efter \xe5tg\xe4rd...","filterByActor":"Filtrera efter sk\xe5despelare...","filterEntriesAria":"Filtrera granskningsloggposter","filterByActionTypeAria":"Filtrera efter \xe5tg\xe4rdstyp","filterByActorAria":"Filtrera efter sk\xe5despelare","refreshAuditLogAria":"Uppdatera granskningsloggen","tableAria":"Granskningsloggposter","failedFetchAuditLog":"Det gick inte att h\xe4mta granskningsloggen","notAvailable":"—","description":"Administrativa \xe5tg\xe4rder och s\xe4kerhetsh\xe4ndelser","showing":"Visar {count} poster (offset {offset})","previous":"F\xf6reg\xe5ende"},"cliTools":{"title":"CLI-verktyg","noActiveProviders":"Inga aktiva leverant\xf6rer","noActiveProvidersDesc":"L\xe4gg till och anslut f\xf6rst leverant\xf6rer f\xf6r att konfigurera CLI-verktyg.","mapModels":"Kartmodeller","testConnection":"Testa anslutningen","connectionStatus":"Anslutningsstatus","configureEndpoint":"Konfigurera slutpunkt","instructions":"Instruktioner","modelMapping":"Modellkartl\xe4ggning","baseUrl":"Bas-URL","apiKey":"API-nyckel","configured":"Konfigurerad","notConfigured":"Ej konfigurerad","notInstalled":"Ej installerad","custom":"Anpassad","unknown":"Ok\xe4nd","lastSavedAt":"Senast sparad: {date}","never":"Aldrig","justNow":"just nu","minutesAgoShort":"{count}m sedan","hoursAgoShort":"{count}h sedan","daysAgoShort":"{count}d sedan","monthsAgoShort":"{count}m\xe5n sedan","yearsAgoShort":"{count}y sedan","runtimeCheckFailed":"K\xf6rtidskontroll misslyckades","yourApiKeyPlaceholder":"din-api-nyckel","modelPlaceholder":"leverant\xf6r/modell-id","configurationSaved":"Konfigurationen har sparats.","failedToSave":"Det gick inte att spara konfigurationen.","noApiKeysCreateOne":"Inga API-nycklar - Skapa en p\xe5 sidan Nycklar","defaultOmnirouteKey":"sk_omniroute (standard)","selectModel":"V\xe4lj modell","selectModelForAlias":"V\xe4lj modell f\xf6r {alias}","selectModelForTool":"V\xe4lj modell f\xf6r {tool}","select":"V\xe4lj","clear":"Rensa","comingSoon":"Kommer snart","checkingRuntime":"Kontrollerar k\xf6rtidsstatus...","guideOnlyIntegration":"Integrering endast guide (ingen lokal k\xf6rtid kr\xe4vs)","cliRuntimeDetected":"CLI-k\xf6rtid uppt\xe4ckt och klar","cliFoundNotRunnable":"CLI hittades men inte k\xf6rbar{reason}","cliRuntimeNotDetected":"CLI-k\xf6rtid har inte uppt\xe4ckts","binary":"Bin\xe4r","configPath":"Konfigurationsv\xe4g","configPathShort":"Konfig","failedCheckRuntimeStatus":"Det gick inte att kontrollera k\xf6rtidsstatus.","copy":"Kopiera","copied":"Kopierade","copyConfig":"Kopiera Config","saveConfig":"Spara konfiguration","selectionSaved":"Valet har sparats","guide":"Guide","detected":"Uppt\xe4ckt","notReady":"Inte redo","active":"Aktiv","inactive":"Inaktiv","startMitm":"Starta MITM","stopMitm":"Stoppa MITM","mitmStarted":"MITM startade framg\xe5ngsrikt!","mitmStopped":"MITM stoppade framg\xe5ngsrikt!","failedStart":"Det gick inte att starta MITM","failedStop":"Det gick inte att stoppa MITM","saveMappings":"Spara mappningar","mappingsSaved":"Mappningar sparade!","failedSaveMappings":"Det gick inte att spara mappningar","howItWorks":"Hur det fungerar:","antigravityHowWorksDesc":"Antigravity skickar f\xf6rfr\xe5gningar till Googles slutpunkt. MITM f\xe5ngar upp och omdirigerar dem till OmniRoute.","antigravityStep1":"1. Starta MITM f\xf6r att dirigera f\xf6rfr\xe5gningar genom OmniRoute.","antigravityStep2Prefix":"2. L\xe4gg till","antigravityStep2Suffix":"till din hosts-fil som 127.0.0.1.","antigravityStep3":"3. \xd6ppna Antigravity och f\xf6rfr\xe5gningar kommer att skickas som proxy.","sudoPasswordRequiredTitle":"Sudo-l\xf6senord kr\xe4vs","sudoPasswordHint":"Administrat\xf6rsl\xf6senord kr\xe4vs f\xf6r att \xe4ndra v\xe4rdens fil- och systemproxyinst\xe4llningar.","enterSudoPassword":"Ange sudo l\xf6senord","sudoPasswordRequiredError":"Sudo-l\xf6senord kr\xe4vs.","cancel":"Avbryt","confirm":"Bekr\xe4fta","settingsApplied":"Inst\xe4llningarna har till\xe4mpats!","failedApplySettings":"Det gick inte att till\xe4mpa inst\xe4llningarna","settingsReset":"Inst\xe4llningarna har \xe5terst\xe4llts!","failedResetSettings":"Det gick inte att \xe5terst\xe4lla inst\xe4llningarna","backupRestored":"S\xe4kerhetskopieringen \xe5terst\xe4lld!","failedRestore":"Det gick inte att \xe5terst\xe4lla","checkingCli":"Kontrollerar {tool} CLI...","cliNotRunnable":"{tool} CLI installerat men inte k\xf6rbart","cliNotInstalled":"{tool} CLI inte installerat","cliNotDetected":"{tool} CLI inte uppt\xe4ckt","cliDetectedReady":"{tool} CLI uppt\xe4ckt och redo","cliFoundFailedHealthcheck":"{tool} CLI hittades men misslyckades med runtime healthcheck{reason}.","installCliPrompt":"Installera {tool} CLI f\xf6r att anv\xe4nda den h\xe4r funktionen.","installCodexPrompt":"Installera Codex CLI f\xf6r att anv\xe4nda funktionen f\xf6r automatisk applicering.","hide":"G\xf6m","howToInstall":"Hur man installerar","installationGuide":"Installationsguide","platforms":"macOS / Linux / Windows:","afterInstallationRun":"Efter installationen, k\xf6r","toVerify":"att verifiera.","current":"Aktuell","baseUrlPlaceholder":"https://.../v1","resetToDefault":"\xc5terst\xe4ll till standard","providerModelPlaceholder":"leverant\xf6r/modell-id","apply":"Ans\xf6k","reset":"\xc5terst\xe4ll","manualConfig":"Manuell konfiguration","backups":"S\xe4kerhetskopieringar","configBackups":"Konfigurera s\xe4kerhetskopior","noBackupsYet":"Inga s\xe4kerhetskopior \xe4nnu. S\xe4kerhetskopieringar skapas automatiskt f\xf6re varje applicering eller \xe5terst\xe4llning.","restore":"\xc5terst\xe4ll","backupRestoredReloading":"S\xe4kerhetskopieringen \xe5terst\xe4lld! Laddar om status...","failedRestoreBackup":"Det gick inte att \xe5terst\xe4lla s\xe4kerhetskopian","applied":"Ans\xf6kt!","failed":"Misslyckades","resetDone":"\xc5terst\xe4ll!","omnirouteConfiguredOpenAiCompatible":"OmniRoute \xe4r konfigurerad som OpenAI-kompatibel leverant\xf6r","provider":"Leverant\xf6r","model":"Modell","providers":"Leverant\xf6rer","auth":"Auth","noApiKeysAvailable":"Inga API-nycklar tillg\xe4ngliga","usingDefaultOmniroute":"Anv\xe4nder standard: sk_omniroute","updateConfig":"Uppdatera Config","applyConfig":"Anv\xe4nd Config","noBackupsAvailable":"Inga s\xe4kerhetskopior tillg\xe4ngliga.","profileSaved":"Profilen \\"{name}\\" har sparats!","failedSaveProfile":"Det gick inte att spara profilen","profileActivated":"Profilen aktiverad!","failedActivateProfile":"Det gick inte att aktivera profilen","profiles":"Profiler","savedProfiles":"Sparade profiler","noProfilesYet":"Inga profiler sparade \xe4nnu. Spara aktuell konfiguration som en profil nedan.","activate":"Aktivera","deleteProfile":"Ta bort profil","profileNamePlaceholder":"Profilnamn (t.ex. personligt konto)","saveCurrent":"Spara aktuell","codexAuthNotePrefix":"Codex anv\xe4nder","codexAuthNoteMiddle":"med","codexAuthNoteSuffix":"Klicka p\xe5 \\"Apply\\" f\xf6r att automatiskt konfigurera.","claudeManualConfiguration":"Claude CLI - Manuell konfiguration","codexManualConfiguration":"Codex CLI - Manuell konfiguration","droidManualConfiguration":"Factory Droid - Manuell konfiguration","openClawManualConfiguration":"\xd6ppna Claw - Manuell konfiguration","clineManualConfiguration":"Cline manuell konfiguration","kiloManualConfiguration":"Kilokod manuell konfiguration","toolDescriptions":{"antigravity":"Google Antigravity IDE med MITM","claude":"Antropisk Claude Code CLI","codex":"OpenAI Codex CLI","droid":"Factory Droid AI Assistant","openclaw":"\xd6ppna Claw AI Assistant","cline":"Cline AI Coding Assistant CLI","kilo":"Kilokod AI Assistant CLI","cursor":"Cursor AI Code Editor","continue":"Forts\xe4tt AI Assistant"},"guides":{"cursor":{"notes":{"0":"Kr\xe4ver ett Cursor Pro-konto f\xf6r att anv\xe4nda den h\xe4r funktionen.","1":"Mark\xf6ren dirigerar f\xf6rfr\xe5gningar genom sin egen server, s\xe5 lokal slutpunkt st\xf6ds inte. V\xe4nligen aktivera Cloud Endpoint i Inst\xe4llningar."},"steps":{"1":{"title":"\xd6ppna Inst\xe4llningar","desc":"G\xe5 till Inst\xe4llningar -> Modeller"},"2":{"title":"Aktivera OpenAI API","desc":"Aktivera alternativet \\"OpenAI API-nyckel\\"."},"3":{"title":"Bas-URL"},"4":{"title":"API-nyckel"},"5":{"title":"L\xe4gg till anpassad modell","desc":"Klicka p\xe5 \\"Visa alla modeller\\" -> \\"L\xe4gg till anpassad modell\\""},"6":{"title":"V\xe4lj modell"}}},"continue":{"steps":{"1":{"title":"\xd6ppna Config","desc":"\xd6ppna Forts\xe4tt konfigurationsfil"},"2":{"title":"API-nyckel"},"3":{"title":"V\xe4lj modell"},"4":{"title":"L\xe4gg till Model Config","desc":"L\xe4gg till f\xf6ljande konfiguration till din modellarray:"}}}}},"combos":{"title":"Combos","description":"Skapa modellkombinationer med viktad routing och reservst\xf6d","createCombo":"Skapa Combo","editCombo":"Redigera kombination","deleteCombo":"Ta bort Combo","noModels":"Inga modeller","noModelsYet":"Inga modeller har lagts till \xe4nnu","addModel":"L\xe4gg till modell","addModelToCombo":"L\xe4gg till modell till Combo","routingStrategy":"Routingstrategi","maxRetries":"Max f\xf6rs\xf6ker igen","timeout":"Timeout (ms)","healthcheck":"H\xe4lsokontroll","priority":"Prioritet","fallback":"Fallback","roundRobin":"Round Robin","random":"Slumpm\xe4ssigt","leastLatency":"Minsta latens","comboName":"Kombinationsnamn","comboNamePlaceholder":"min-kombo","deleteConfirm":"Vill du ta bort den h\xe4r kombinationen?","noCombosYet":"Inga kombinationer \xe4n","comboCreated":"Kombinationen skapades framg\xe5ngsrikt","comboUpdated":"Kombinationen har uppdaterats","comboDeleted":"Combo raderad","failedCreate":"Det gick inte att skapa en kombination","failedUpdate":"Det gick inte att uppdatera kombinationen","errorCreating":"Det gick inte att skapa kombination","errorUpdating":"Fel vid uppdatering av kombination","errorDeleting":"Fel vid borttagning av kombination","testFailed":"Testbeg\xe4ran misslyckades","failedToggle":"Det gick inte att v\xe4xla kombination","testResults":"Testresultat — {name}","resolvedBy":"L\xf6st av:","more":"+{count} till","reqs":"reqs","success":"framg\xe5ng","proxyConfigured":"Proxy konfigurerad","copyComboName":"Kopiera kombinationsnamn","enableCombo":"Aktivera kombination","disableCombo":"Inaktivera kombination","testCombo":"Testkombo","duplicate":"Duplicera","proxyConfig":"Proxykonfiguration","nameRequired":"Namn kr\xe4vs","nameInvalid":"Endast bokst\xe4ver, siffror, -, _, / och . till\xe5tet","nameHint":"Bokst\xe4ver, siffror, -, _, / och . till\xe5tet","priorityDesc":"Sekventiell reserv: provar modell 1 f\xf6rst, sedan 2 osv.","weightedDesc":"F\xf6rdelar trafik efter viktprocent med reserv","roundRobinDesc":"Cirkul\xe4r distribution: varje beg\xe4ran g\xe5r till n\xe4sta modell i rotation","randomDesc":"Enhetligt slumpm\xe4ssigt urval, sedan fallback till \xe5terst\xe5ende modeller","leastUsedDesc":"V\xe4ljer modellen med minst f\xf6rfr\xe5gningar, balanserar belastningen \xf6ver tiden","costOptimizedDesc":"Rutter till den billigaste modellen f\xf6rst baserat p\xe5 priss\xe4ttning","models":"Modeller","autoBalance":"Automatisk balansering","advancedSettings":"Avancerade inst\xe4llningar","retryDelay":"F\xf6rs\xf6k igen f\xf6rdr\xf6jning (ms)","concurrencyPerModel":"Samtidighet / Modell","queueTimeout":"Timeout f\xf6r k\xf6 (ms)","advancedHint":"L\xe4mna tomt om du vill anv\xe4nda globala standardinst\xe4llningar. Dessa \xe5sidos\xe4tter inst\xe4llningarna per leverant\xf6r.","moveUp":"Flytta upp\xe5t","moveDown":"Flytta ner","removeModel":"Ta bort","saving":"Sparar...","weighted":"Viktad","leastUsed":"Minst anv\xe4nda","costOpt":"Cost-Opt"},"costs":{"title":"Kostnader","budget":"Budget","totalCost":"Total kostnad","breakdown":"Kostnadsf\xf6rdelning","noData":"Inga kostnadsdata","byModel":"Efter modell","byProvider":"Av leverant\xf6r"},"endpoint":{"title":"API-slutpunkt","available":"Tillg\xe4ngliga slutpunkter","cloudProxy":"Molnproxy","disableConfirm":"\xc4r du s\xe4ker p\xe5 att du vill inaktivera molnproxy?","baseUrl":"Bas-URL","apiKeyLabel":"API-nyckel","registeredKeys":"Registrerade nycklar","chatCompletions":"Chattavslut","responses":"Svar","listModels":"Lista modeller","usingCloudProxy":"Anv\xe4nder Cloud Proxy","usingLocalServer":"Anv\xe4nder lokal server","machineId":"Maskin-ID: {id}...","disableCloud":"Inaktivera Cloud","enableCloud":"Aktivera Cloud","modelsAcrossEndpoints":"{models} modeller \xf6ver {endpoints} slutpunkter","chatDesc":"Str\xf6mmande och icke-str\xf6mmande chatt med alla leverant\xf6rer","embeddings":"Inb\xe4ddningar","embeddingsDesc":"Textinb\xe4ddningar f\xf6r s\xf6k- och RAG-pipelines","imageGeneration":"Bildgenerering","imageDesc":"Generera bilder fr\xe5n textmeddelanden","rerank":"Rangordna om","rerankDesc":"Rangordna om dokument efter relevans f\xf6r en fr\xe5ga","audioTranscription":"Ljudtranskription","audioTranscriptionDesc":"Transkribera ljudfiler till text (Viska)","textToSpeech":"Text till tal","textToSpeechDesc":"Konvertera text till naturligt klingande tal","moderations":"Moderationer","moderationsDesc":"Inneh\xe5llsmoderering och s\xe4kerhetsklassificering","enableCloudTitle":"Aktivera Cloud Proxy","whatYouGet":"Vad du kommer att f\xe5","cloudBenefitAccess":"F\xe5 \xe5tkomst till ditt API fr\xe5n var som helst i v\xe4rlden","cloudBenefitShare":"Dela enkelt slutpunkten med ditt team","cloudBenefitPorts":"Inget behov av att \xf6ppna portar eller konfigurera brandv\xe4gg","cloudBenefitEdge":"Snabbt globalt kantn\xe4tverk","cloudSessionNote":"Cloud kommer att beh\xe5lla din autentiseringssession i 1 dag. Om den inte anv\xe4nds kommer den att raderas automatiskt.","cloudUnstableNote":"Cloud \xe4r f\xf6r n\xe4rvarande instabilt med Claude Code OAuth i vissa fall.","cloudConnected":"Cloud Proxy ansluten!","connectingToCloud":"Ansluter till molnet...","verifyingConnection":"Verifierar anslutning...","connecting":"Ansluter...","verifying":"Verifierar...","connected":"Ansluten!","disableCloudTitle":"Inaktivera molnproxy","disableWarning":"Alla autentiseringssessioner kommer att raderas fr\xe5n molnet.","syncingData":"Synkroniserar senaste data...","disablingCloud":"Inaktiverar molnet...","syncing":"Synkroniseras...","disabling":"Inaktiverar...","cloudConnectedVerified":"Cloud Proxy ansluten och verifierad!","connectedVerificationPending":"Ansluten — verifiering v\xe4ntar","connectedVerificationPendingWithError":"Ansluten — verifiering v\xe4ntar: {error}","cloudDisabledSuccess":"Molnet har inaktiverats","syncedSuccess":"Synkroniserad framg\xe5ngsrikt","failedDisable":"Det gick inte att inaktivera molnet","failedEnable":"Det gick inte att aktivera molnet","cloudRequestTimeout":"Timeout f\xf6r molnbeg\xe4ran","cloudRequestFailed":"Molnbeg\xe4ran misslyckades","cloudWorkerUnreachable":"Det gick inte att n\xe5 molnarbetaren. Se till att molntj\xe4nsten k\xf6rs (npm k\xf6r dev i /moln).","connectionFailed":"Anslutning misslyckades","syncFailed":"Det gick inte att synkronisera molndata","providerModelsTitle":"{provider} — Modeller","noModelsForProvider":"Inga modeller tillg\xe4ngliga f\xf6r denna leverant\xf6r.","chat":"Chatta","embedding":"Inb\xe4ddning","image":"Bild","custom":"anpassad","modelsCount":"{count, plural, one {# model} other {# models}}","responsesDesc":"OpenAI Responses API for Codex and advanced agentic workflows","listModelsDesc":"List all available models across all connected providers","settingsApi":"Settings API","settingsApiDesc":"Read and modify OmniRoute configuration via API","categoryCore":"K\xe4rn-API:er","categoryMedia":"Media & Multimodal","categoryUtility":"Verktyg & Hantering"},"health":{"title":"Systemh\xe4lsa","description":"Realtids\xf6vervakning av din OmniRoute-instans","healthy":"Frisk","degraded":"F\xf6rs\xe4mrad","down":"Ner","uptime":"Upptid","memory":"Minne","memoryRss":"Minne (RSS)","heap":"H\xf6g","cpu":"CPU","database":"Databas","version":"Version","lastCheck":"Sista kontrollen","providerHealth":"Leverant\xf6rsh\xe4lsa","systemMetrics":"Systemm\xe5tt","tokenHealth":"Token Health","refreshAll":"Uppdatera alla","checkNow":"Kontrollera nu","loadingHealth":"L\xe4ser in h\xe4lsodata...","failedToLoad":"Det gick inte att l\xe4sa in h\xe4lsodata: {error}","retry":"F\xf6rs\xf6k igen","allOperational":"Alla system i drift","issuesDetected":"Systemproblem uppt\xe4cktes","updatedAt":"Uppdaterad {time}","latency":"Latens","latencyP50":"p50","latencyP95":"s 95","latencyP99":"s 99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Totalt antal f\xf6rfr\xe5gningar","noDataYet":"Inga uppgifter \xe4nnu","promptCache":"Fr\xe5ga Cache","entries":"Inl\xe4gg","hitRate":"Tr\xe4fffrekvens","hitsMisses":"Tr\xe4ffar/missar","signatureCache":"Signaturcache","signatureDefaults":"Standardv\xe4rden","signatureTool":"Verktyg","signatureFamily":"Familj","signatureSession":"Session","recovering":"\xc5terh\xe4mtar sig","noCBData":"Inga str\xf6mbrytardata tillg\xe4ngliga. G\xf6r n\xe5gra f\xf6rfr\xe5gningar f\xf6rst.","providerHealthStatusAria":"Leverant\xf6rens h\xe4lsostatus","issuesLabel":"Problem uppt\xe4ckta","operational":"Operativt","providers":"Leverant\xf6rer","healthyCount":"{count} frisk","nodeVersion":"Nod {version}","failures":"{count} fel","failuresPlural":"{count} fel","lastFailure":"Sist","rateLimitStatus":"Beloppsgr\xe4nsstatus","activeLimiters":"{count} aktiv begr\xe4nsare","activeLimitersPlural":"{count} aktiva begr\xe4nsare","queued":"I k\xf6","queuedCount":"{count} i k\xf6","running":"l\xf6pning","runningCount":"{count} ig\xe5ng","ok":"OK","activeLockouts":"Aktiva lockouter","resetConfirm":"\xc5terst\xe4lla alla str\xf6mbrytare till friskt tillst\xe5nd? Detta kommer att radera alla felr\xe4kningar och \xe5terst\xe4lla alla leverant\xf6rer till driftstatus.","resetAllTitle":"\xc5terst\xe4ll alla str\xf6mbrytare till friskt tillst\xe5nd","resetting":"\xc5terst\xe4ller...","resetAll":"\xc5terst\xe4ll alla","until":"Tills {time}"},"limits":{"title":"Gr\xe4nser och kvoter","rateLimit":"Prisgr\xe4ns","remaining":"Kvar","requestsPerMinute":"\xd6nskem\xe5l/min","tokensPerMinute":"Poletter/min","dailyLimit":"Daglig gr\xe4ns"},"logs":{"title":"Loggar","requestLogs":"Beg\xe4r loggar","proxyLogs":"Proxyloggar","auditLog":"Revisionslogg","console":"Konsol","auditLogDesc":"Administrativa \xe5tg\xe4rder och s\xe4kerhetsh\xe4ndelser","loading":"Laddar...","refresh":"Uppdatera","filterByAction":"Filtrera efter \xe5tg\xe4rd...","filterByActor":"Filtrera efter sk\xe5despelare...","filterEntriesAria":"Filtrera granskningsloggposter","filterByActionTypeAria":"Filtrera efter \xe5tg\xe4rdstyp","filterByActorAria":"Filtrera efter sk\xe5despelare","refreshAuditLogAria":"Uppdatera granskningsloggen","tableAria":"Granskningsloggposter","failedFetchAuditLog":"Det gick inte att h\xe4mta granskningsloggen","showing":"Visar {count} poster (offset {offset})","search":"S\xf6k","timestamp":"Tidsst\xe4mpel","action":"\xc5tg\xe4rd","actor":"Sk\xe5despelare","target":"M\xe5l","details":"Detaljer","ipAddress":"IP-adress","notAvailable":"—","noEntries":"Inga granskningsloggposter hittades","previous":"F\xf6reg\xe5ende","next":"N\xe4sta"},"onboarding":{"welcome":"V\xe4lkommen","security":"S\xe4kerhet","test":"Testa","ready":"Klart!","setPassword":"Ange l\xf6senord","addProvider":"L\xe4gg till din f\xf6rsta leverant\xf6r","getStarted":"Kom ig\xe5ng","skip":"Hoppa \xf6ver","skipWizard":"Hoppa \xf6ver guiden helt","skipPassword":"Hoppa \xf6ver l\xf6senordsinst\xe4llningar","skipAndContinue":"Hoppa \xf6ver och forts\xe4tt","passwordLabel":"L\xf6senord","confirmPassword":"Bekr\xe4fta l\xf6senord","enterPassword":"Ange l\xf6senord","confirmPasswordPlaceholder":"Bekr\xe4fta l\xf6senord","passwordsMismatch":"L\xf6senord st\xe4mmer inte \xf6verens","setupComplete":"Installationen \xe4r klar!","goToDashboard":"G\xe5 till Dashboard →","welcomeDesc":"OmniRoute \xe4r din lokala AI API-proxy. Den dirigerar f\xf6rfr\xe5gningar till flera AI-leverant\xf6rer med lastbalansering, failover och anv\xe4ndningssp\xe5rning.","multiProvider":"Flera leverant\xf6rer","usageTracking":"Anv\xe4ndningssp\xe5rning","apiKeyMgmt":"API Key Mgmt","securityDesc":"St\xe4ll in ett l\xf6senord f\xf6r att skydda din instrumentpanel, eller hoppa \xf6ver nu.","providerDesc":"Anslut din f\xf6rsta AI-leverant\xf6r. Du kan l\xe4gga till mer senare.","apiKeyRequired":"API-nyckel (kr\xe4vs)","customUrlOptional":"Anpassad webbadress (valfritt)","testDesc":"L\xe5t oss verifiera att din leverant\xf6rsanslutning fungerar.","runTest":"K\xf6r anslutningstest","testingConnection":"Testar anslutning...","connectionSuccessful":"Anslutningen lyckades! Din leverant\xf6r \xe4r redo.","noProviderFound":"Ingen leverant\xf6r hittades. Du kan l\xe4gga till en fr\xe5n instrumentpanelen senare.","testFailed":"Testet misslyckades, men du kan konfigurera detta senare.","couldNotTest":"Kunde inte testa just nu. Du kan testa fr\xe5n instrumentpanelen.","doneDesc":"Du \xe4r redo! Din OmniRoute-instans \xe4r konfigurerad och redo att proxy AI-f\xf6rfr\xe5gningar.","yourEndpoint":"Din slutpunkt:","continue":"Forts\xe4tt","retry":"F\xf6rs\xf6k igen","failedSetPassword":"Det gick inte att ange l\xf6senord. F\xf6rs\xf6k igen.","failedAddProvider":"Det gick inte att l\xe4gga till leverant\xf6r. F\xf6rs\xf6k igen.","connectionError":"Anslutningsfel. F\xf6rs\xf6k igen.","provider":"Leverant\xf6r"},"providers":{"title":"Leverant\xf6rer","addProvider":"L\xe4gg till leverant\xf6r","editProvider":"Redigera leverant\xf6r","deleteProvider":"Ta bort leverant\xf6r","noProviders":"Inga leverant\xf6rer har konfigurerats","modelAvailability":"Modelltillg\xe4nglighet","accounts":"konton","newAccount":"Nytt konto","deleteConfirm":"\xc4r du s\xe4ker p\xe5 att du vill ta bort den h\xe4r leverant\xf6ren?","testing":"Testar...","testConnection":"Testa anslutningen","testSuccess":"Anslutningen lyckades","testFailed":"Anslutning misslyckades","available":"Tillg\xe4nglig","cooldown":"Nedkylning","unavailable":"Ej tillg\xe4nglig","unknown":"Ok\xe4nd","oauthLabel":"OAuth","compatibleLabel":"Kompatibel","chat":"Chatta","responses":"Svar","messages":"Meddelanden","oauthProviders":"OAuth-leverant\xf6rer","freeProviders":"Gratis leverant\xf6rer","apiKeyProviders":"API-nyckelleverant\xf6rer","compatibleProviders":"API-nyckelkompatibla leverant\xf6rer","testAll":"Testa alla","testAllOAuth":"Testa alla OAuth-anslutningar","testAllFree":"Testa alla gratisanslutningar","testAllApiKey":"Testa alla API-nyckelanslutningar","testAllCompatible":"Testa alla kompatibla anslutningar","connected":"{count} Ansluten","errorCount":"{count} Fel ({code})","errorCountNoCode":"{count} Fel","noConnections":"Inga anslutningar","disabled":"Inaktiverad","enableProvider":"Aktivera leverant\xf6r","disableProvider":"Inaktivera leverant\xf6r","testResults":"Testresultat","noCompatibleYet":"Inga kompatibla leverant\xf6rer har lagts till \xe4nnu","compatibleHint":"Anv\xe4nd knapparna ovan f\xf6r att l\xe4gga till OpenAI- eller Anthropic-kompatibla slutpunkter","addOpenAICompatible":"L\xe4gg till OpenAI-kompatibel","addAnthropicCompatible":"L\xe4gg till Antropisk kompatibel","addNewProvider":"L\xe4gg till ny leverant\xf6r","backToProviders":"Tillbaka till leverant\xf6rer","configureNewProvider":"Konfigurera en ny AI-leverant\xf6r att anv\xe4nda med dina applikationer.","providerLabel":"Leverant\xf6r","selectProvider":"V\xe4lj en leverant\xf6r","selectedProvider":"Vald leverant\xf6r","authMethod":"Autentiseringsmetod","apiKeyLabel":"API-nyckel","apiKeyRequired":"API-nyckel kr\xe4vs","selectProviderRequired":"V\xe4lj en leverant\xf6r","enterApiKey":"Ange din API-nyckel","apiKeySecure":"Din API-nyckel kommer att krypteras och lagras s\xe4kert.","oauth2Connect":"Anslut med OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Anslut ditt konto med OAuth2-autentisering.","displayName":"Visningsnamn","displayNamePlaceholder":"t.ex. Production API, Dev Environment","displayNameHint":"Valfritt. Ett v\xe4nligt namn f\xf6r att identifiera denna konfiguration.","active":"Aktiv","activeDescription":"Aktivera denna leverant\xf6r f\xf6r anv\xe4ndning i dina applikationer","cancel":"Avbryt","createProvider":"Skapa leverant\xf6r","failedCreate":"Det gick inte att skapa leverant\xf6r","errorOccurred":"Ett fel uppstod. F\xf6rs\xf6k igen.","modelStatus":"Modellstatus","allModelsOperational":"Alla modeller i drift","modelsWithIssues":"{count} modell(er) med problem","allModelsNormal":"Alla modeller svarar normalt.","cooldownCleared":"Nedkylning rensad f\xf6r {model}","failedClearCooldown":"Det gick inte att rensa nedkylningen","loadingAvailability":"Laddar modelltillg\xe4nglighet...","clearCooldown":"Rensa","clearing":"Rensar...","until":"Tills {time}","providerTestFailed":"Providertestet misslyckades","modeTest":"{mode} Test","passedCount":"{count} godk\xe4nd","failedCount":"{count} misslyckades","testedCount":"{count} testad","millisecondsAbbr":"{value}ms","okShort":"OK","errorShort":"FEL","noActiveConnectionsInGroup":"Inga aktiva anslutningar hittades f\xf6r den h\xe4r gruppen.","allTestsPassed":"Alla {total} tester godk\xe4nda","testSummary":"{passed}/{total} godk\xe4nd, {failed} misslyckades","nameLabel":"Namn","prefixLabel":"Prefix","baseUrlLabel":"Bas-URL","apiTypeLabel":"API-typ","prefixHint":"Obligatoriskt. Unikt prefix f\xf6r modellnamn.","nameHint":"Obligatoriskt. En v\xe4nlig etikett f\xf6r denna nod.","baseUrlHint":"Obligatoriskt.  Providers API-basadress.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Validera anslutning","validating":"Validerar...","connectionValid":"Anslutningen \xe4r giltig!","connectionFailed":"Anslutning misslyckades. Kontrollera URL och nyckel.","testKeyLabel":"Testa API-nyckel","testKeyPlaceholder":"sk-... (endast f\xf6r validering)","providerNotFound":"Det gick inte att hitta leverant\xf6ren","deleteConnectionConfirm":"Vill du ta bort den h\xe4r anslutningen?","failedSetAlias":"Det gick inte att ange alias","failedSaveConnection":"Det gick inte att spara anslutningen","failedSaveConnectionRetry":"Det gick inte att spara anslutningen. F\xf6rs\xf6k igen.","failedRetestConnection":"Det gick inte att testa om anslutningen","deleteCompatibleNodeConfirm":"Ta bort denna {type} kompatibla nod?","anthropicCompatibleDetails":"Antropiska kompatibla detaljer","openaiCompatibleDetails":"OpenAI-kompatibla detaljer","messagesApi":"Messages API","responsesApi":"Responses API","chatCompletions":"Chattavslut","importingModels":"Importerar...","importFromModels":"Importera fr\xe5n /models","addConnectionToImport":"L\xe4gg till en anslutning f\xf6r att aktivera import.","noModelsConfigured":"Inga modeller har konfigurerats","connectionCount":"{count} anslutning(ar)","fetchingModels":"H\xe4mtar tillg\xe4ngliga modeller...","failedFetchModels":"Det gick inte att h\xe4mta modeller","noModelsFound":"Inga modeller hittades","importFailed":"Importen misslyckades","noNewModelsAdded":"Inga nya modeller tillkom.","adding":"L\xe4gger till...","importingModelsTitle":"Importera modeller","copyModel":"Kopiera modell","removeModel":"Ta bort modellen","rateLimitProtected":"Skyddad","rateLimitUnprotected":"Oskyddad","enableRateLimitProtection":"Klicka f\xf6r att aktivera hastighetsgr\xe4nsskydd","disableRateLimitProtection":"Klicka f\xf6r att inaktivera skyddet f\xf6r hastighetsgr\xe4nsen","productionKey":"Produktionsnyckel","enterNewApiKey":"Ange ny API-nyckel","optional":"Valfritt","anthropicCompatibleName":"Antropisk kompatibel","openaiCompatibleName":"OpenAI-kompatibel","failedImportModels":"Det gick inte att importera modeller","noModelsReturnedFromEndpoint":"Inga modeller returnerades fr\xe5n /models endpoint.","importingModelsProgress":"Importerar {current} av {total} modeller...","foundModelsStartingImport":"Hittade {count} modeller. Startar import...","importingModelById":"Importerar {modelId}...","importSuccessCount":"{count, plural, one {# model} other {# models}} har importerats framg\xe5ngsrikt!","noNewModelsAddedExisting":"Inga nya modeller har lagts till (alla finns redan).","importDoneCount":"✓ Klart! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Ett ov\xe4ntat fel intr\xe4ffade","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"meddelanden","responsesPath":"svar","chatCompletionsPath":"chatt/avslut","add":"L\xe4gg till","edit":"Redigera","delete":"Ta bort","anthropic":"Antropisk","openai":"OpenAI","singleConnectionPerCompatible":"Endast en anslutning till\xe5ts per kompatibel nod. L\xe4gg till ytterligare en nod om du beh\xf6ver fler anslutningar.","connections":"Anslutningar","providerProxyTitleConfigured":"Leverant\xf6rsproxy: {host}","configured":"konfigurerad","providerProxyConfigureHint":"Konfigurera proxy f\xf6r alla anslutningar fr\xe5n denna leverant\xf6r","providerProxy":"Leverant\xf6rs proxy","noConnectionsYet":"Inga anslutningar \xe4n","addFirstConnectionHint":"L\xe4gg till din f\xf6rsta anslutning f\xf6r att komma ig\xe5ng","addConnection":"L\xe4gg till anslutning","availableModels":"Tillg\xe4ngliga modeller","pageAutoRefresh":"Sidan uppdateras automatiskt...","statusDisabled":"funktionshindrade","statusConnected":"ansluten","statusRuntimeIssue":"k\xf6rtidsproblem","statusAuthFailed":"auth misslyckades","statusRateLimited":"sats begr\xe4nsad","statusNetworkIssue":"n\xe4tverksproblem","statusTestUnsupported":"testet st\xf6ds inte","statusUnavailable":"otillg\xe4nglig","statusFailed":"misslyckades","statusError":"fel","oauthAccount":"OAuth-konto","errorTypeRuntime":"Lokal k\xf6rtid","errorTypeUpstreamAuth":"Uppstr\xf6ms auth","errorTypeMissingCredential":"Saknar legitimation","errorTypeRefreshFailed":"Uppdateringen misslyckades","errorTypeTokenExpired":"Token har l\xf6pt ut","errorTypeRateLimited":"Begr\xe4nsat pris","errorTypeUpstreamUnavailable":"Uppstr\xf6ms ej tillg\xe4nglig","errorTypeNetworkError":"N\xe4tverksfel","errorTypeTestUnsupported":"Testet st\xf6ds inte","errorTypeUpstreamError":"Uppstr\xf6msfel","proxySourceGlobal":"Global","proxySourceProvider":"Leverant\xf6r","proxySourceKey":"Nyckel","proxyConfiguredBySource":"Proxy ({source}): {host}","autoPriority":"Auto: {priority}","proxy":"Proxy","retestAuthentication":"Testa om autentisering","retest":"Testa igen","disableConnection":"Inaktivera anslutningen","enableConnection":"Aktivera anslutning","reauthenticateConnection":"Autentisera den h\xe4r anslutningen igen","proxyConfig":"Proxykonfiguration","aliasExistsAlert":"Aliaset \\"{alias}\\" finns redan. Anv\xe4nd en annan modell eller redigera befintligt alias.","openRouterAnyModelHint":"OpenRouter st\xf6der alla modeller. L\xe4gg till modeller och skapa alias f\xf6r snabb \xe5tkomst.","modelIdFromOpenRouter":"Modell-ID (fr\xe5n OpenRouter)","openRouterModelPlaceholder":"antropisk/claude-3-opus","customModels":"Anpassade modeller","customModelsHint":"L\xe4gg till modell-ID:n som inte finns i standardlistan. Dessa kommer att vara tillg\xe4ngliga f\xf6r routing.","modelId":"Modell ID","customModelPlaceholder":"t.ex. gpt-4.5-turbo","loading":"Laddar...","removeCustomModel":"Ta bort anpassad modell","noCustomModels":"Inga anpassade modeller har lagts till \xe4nnu.","allSuggestedAliasesExist":"Alla f\xf6reslagna alias finns redan. V\xe4lj en annan modell eller ta bort motstridiga alias.","failedSaveCustomModel":"Det gick inte att spara anpassad modell","modelAddedSuccess":"Modellen {modelId} har lagts till","failedAddModelTryAgain":"Det gick inte att l\xe4gga till modell. F\xf6rs\xf6k igen.","failedSaveImportedModel":"Det gick inte att spara importerad modell till anpassad databas","failedImportModelsTryAgain":"Det gick inte att importera modeller. F\xf6rs\xf6k igen.","failedRemoveModelFromDatabase":"Det gick inte att ta bort modellen fr\xe5n databasen","modelRemovedSuccess":"Modellen har tagits bort","failedDeleteModelTryAgain":"Det gick inte att ta bort modellen. F\xf6rs\xf6k igen.","compatibleModelsDescription":"L\xe4gg till {type}-kompatibla modeller manuellt eller importera dem fr\xe5n /models-slutpunkten.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"API-nyckelvalidering misslyckades. Kontrollera din nyckel och f\xf6rs\xf6k igen.","addProviderApiKeyTitle":"L\xe4gg till {provider} API-nyckel","checking":"Kontrollerar...","check":"Kontrollera","valid":"Giltigt","invalid":"Ogiltig","creating":"Skapar...","validationChecksAnthropicCompatible":"Validering kontrollerar {provider} genom att verifiera API-nyckeln.","validationChecksOpenAiCompatible":"Valideringskontroller {provider} via /models p\xe5 din bas-URL.","priorityLabel":"Prioritet","saving":"Sparar...","save":"Spara","editConnection":"Redigera anslutning","accountName":"Kontonamn","email":"E-post","healthCheckMinutes":"H\xe4lsokontroll (min)","healthCheckHint":"Proaktivt uppdateringsintervall f\xf6r token. 0 = inaktiverad.","failedTestConnection":"Det gick inte att testa anslutningen","failed":"Misslyckades","leaveBlankKeepCurrentApiKey":"L\xe4mna tomt f\xf6r att beh\xe5lla den aktuella API-nyckeln.","editCompatibleTitle":"Redigera {type} Kompatibel","compatibleBaseUrlHint":"Anv\xe4nd basadressen (som slutar p\xe5 /v1) f\xf6r ditt {type}-kompatibla API.","apiKeyForCheck":"API-nyckel (f\xf6r kontroll)","compatibleProdPlaceholder":"{type} Kompatibel (Prod)"},"settings":{"title":"Inst\xe4llningar","general":"Allm\xe4nt","security":"S\xe4kerhet","appearance":"Utseende","routing":"Routing","cache":"Cache","resilience":"Motst\xe5ndskraft","systemPrompt":"Systemprompt","thinkingBudget":"T\xe4nkande budget","proxy":"Proxy","pricing":"Priss\xe4ttning","storage":"F\xf6rvaring","policies":"Policyer","ipFilter":"IP-filter","comboDefaults":"Combo standard","fallbackChains":"Reservkedjor","changePassword":"\xc4ndra l\xf6senord","enablePassword":"Aktivera l\xf6senord","darkMode":"M\xf6rkt l\xe4ge","lightMode":"Ljusl\xe4ge","systemTheme":"Systemtema","enableCache":"Aktivera cache","cacheTTL":"Cache TTL","maxCacheSize":"Max cachestorlek","clearCache":"Rensa cache","cacheHits":"Cachetr\xe4ffar","cacheMisses":"Cache missar","hitRate":"Tr\xe4fffrekvens","cacheEntries":"Cacheposter","circuitBreaker":"Str\xf6mbrytare","retryPolicy":"F\xf6rs\xf6k igen","maxRetries":"Max f\xf6rs\xf6ker igen","retryDelay":"F\xf6rs\xf6k igen F\xf6rdr\xf6jning","timeoutMs":"Timeout (ms)","enableSystemPrompt":"Aktivera System Prompt","systemPromptText":"Systemprompttext","enableThinking":"Aktivera t\xe4nkande","maxThinkingTokens":"Max Thinking Tokens","enableProxy":"Aktivera proxy","proxyUrl":"Proxy-URL","pricingRates":"Priser Format","currentPricing":"Aktuell pris\xf6versikt","loadingPricing":"Laddar prisinformation...","noPricing":"Inga prisuppgifter tillg\xe4ngliga","input":"Ing\xe5ng","output":"Utg\xe5ng","cached":"Cachad","reasoning":"Resonemang","cacheCreation":"Skapande av cache","customPricing":"Anpassad priss\xe4ttning","databaseSize":"Databasstorlek","backupDb":"S\xe4kerhetskopiera databas","restoreDb":"\xc5terst\xe4ll databas","exportData":"Exportera data","importData":"Importera data","clearData":"Rensa alla data","clearDataConfirm":"Detta kommer att radera all data permanent. \xc4r du s\xe4ker?","enableRequestLogs":"Aktivera f\xf6rfr\xe5gningsloggar","logRetention":"Logglagring","ipWhitelist":"IP vitlista","ipBlacklist":"IP Blacklist","addIP":"L\xe4gg till IP","savedSuccessfully":"Inst\xe4llningarna har sparats","ai":"AI","advanced":"Avancerat","localMode":"Lokalt l\xe4ge — All data lagrad p\xe5 din maskin","settingsSectionsAria":"Inst\xe4llningar","switchThemes":"V\xe4xla mellan ljusa och m\xf6rka teman","themeSelectionAria":"Temaval","themeLight":"Ljus","themeDark":"M\xf6rkt","themeSystem":"System","hideHealthLogs":"D\xf6lj loggar f\xf6r h\xe4lsokontroll","hideHealthLogsDesc":"N\xe4r P\xc5, d\xe4mpa [HealthCheck]-meddelanden i serverkonsolen","promptCache":"Fr\xe5ga Cache","flushCache":"Spola cachen","flushing":"Spolar...","size":"Storlek","hits":"Tr\xe4ffar","evictions":"Vr\xe4kningar","loadingCacheStats":"Laddar cachestatistik...","globalProxy":"Global proxy","globalProxyDesc":"Konfigurera en global utg\xe5ende proxy f\xf6r alla API-anrop. Enskilda leverant\xf6rer, kombinationer och nycklar kan \xe5sidos\xe4tta detta.","noGlobalProxy":"Ingen global proxy konfigurerad","globalLabel":"Global","configure":"Konfigurera","globalSystemPrompt":"Global System Prompt","systemPromptDesc":"Injiceras i alla f\xf6rfr\xe5gningar p\xe5 proxyniv\xe5","saved":"Sparad","systemPromptPlaceholder":"Ange systemuppmaning f\xf6r att injicera i alla f\xf6rfr\xe5gningar...","systemPromptHint":"Denna prompt l\xe4ggs till systemmeddelandet f\xf6r varje beg\xe4ran. Anv\xe4nd f\xf6r globala instruktioner, s\xe4kerhetsriktlinjer eller regler f\xf6r svarsformatering.","chars":"{count} tecken","thinkingBudgetTitle":"T\xe4nkande budget","thinkingBudgetDesc":"Kontrollera anv\xe4ndningen av AI-resonemangstoken \xf6ver alla f\xf6rfr\xe5gningar","passthrough":"Genomg\xe5ng","passthroughDesc":"Inga f\xf6r\xe4ndringar – kunden styr tankebudgeten","auto":"Auto","autoDesc":"Ta bort alla tankeinst\xe4llningar – l\xe5t leverant\xf6ren best\xe4mma","custom":"Anpassad","customDesc":"St\xe4ll in en fast tokenbudget f\xf6r alla f\xf6rfr\xe5gningar","adaptive":"Adaptiv","adaptiveDesc":"Skala budget baserat p\xe5 beg\xe4rans komplexitet","effortNone":"Inga (0 tokens)","effortLow":"L\xe5g (1K tokens)","effortMedium":"Medium (10 000 tokens)","effortHigh":"H\xf6g (128 000 tokens)","tokenBudget":"Token budget","tokens":"polletter","baseEffortLevel":"Basinsatsniv\xe5","adaptiveHint":"Adaptivt l\xe4ge skalas fr\xe5n denna basniv\xe5 baserat p\xe5 antal meddelanden, verktygsanv\xe4ndning och promptl\xe4ngd.","requireLogin":"Kr\xe4v inloggning","requireLoginDesc":"N\xe4r P\xc5 kr\xe4ver instrumentpanelen l\xf6senord. N\xe4r AV, \xe5tkomst utan inloggning.","currentPassword":"Aktuellt l\xf6senord","enterCurrentPassword":"Ange aktuellt l\xf6senord","newPassword":"Nytt l\xf6senord","enterNewPassword":"Ange nytt l\xf6senord","confirmPassword":"Bekr\xe4fta nytt l\xf6senord","confirmPasswordPlaceholder":"Bekr\xe4fta nytt l\xf6senord","passwordsNoMatch":"L\xf6senord st\xe4mmer inte \xf6verens","passwordUpdated":"L\xf6senordet har uppdaterats","failedUpdatePassword":"Det gick inte att uppdatera l\xf6senordet","errorOccurred":"Ett fel uppstod","updatePassword":"Uppdatera l\xf6senord","setPassword":"Ange l\xf6senord","apiEndpointProtection":"API-\xe4ndpunktsskydd","requireAuthModels":"Kr\xe4v API-nyckel f\xf6r /modeller","requireAuthModelsDesc":"N\xe4r P\xc5, returnerar /v1/models-slutpunkten 404 f\xf6r oautentiserade f\xf6rfr\xe5gningar. F\xf6rhindrar modelluppt\xe4ckt av obeh\xf6riga anv\xe4ndare.","blockedProviders":"Blockerade leverant\xf6rer","blockedProvidersDesc":"D\xf6lj specifika leverant\xf6rer fr\xe5n /v1/models-svaret. Blockerade leverant\xf6rer visas inte i modelllistorna.","providersBlocked":"{count} leverant\xf6r(er) blockerade fr\xe5n /modeller","blockProviderTitle":"Blockera {provider}","unblockProviderTitle":"Avblockera {provider}","routingStrategy":"Routingstrategi","fillFirst":"Fyll f\xf6rst","fillFirstDesc":"Anv\xe4nd konton i prioritetsordning","roundRobin":"Round Robin","roundRobinDesc":"G\xe5 igenom alla konton","p2c":"P2C","p2cDesc":"V\xe4lj 2 slumpm\xe4ssigt, anv\xe4nd den h\xe4lsosammare","random":"Slumpm\xe4ssigt","randomDesc":"Slumpm\xe4ssigt konto varje beg\xe4ran","leastUsed":"Minst anv\xe4nda","leastUsedDesc":"V\xe4lj minst senast anv\xe4nda konto","costOpt":"Kostnad Opt","costOptDesc":"F\xf6redrar billigaste tillg\xe4ngliga konto","stickyLimit":"Sticky Limit","stickyLimitDesc":"Samtal per konto innan byte","modelAliases":"Modellalias","modelAliasesDesc":"Jokerteckenm\xf6nster f\xf6r att mappa om modellnamn • Anv\xe4nd * och ?","aliasPatternPlaceholder":"claude-sonnett-*","aliasTargetPlaceholder":"claude-sonnet-4-20250514","pattern":"M\xf6nster","targetModel":"M\xe5lmodell","add":"+ L\xe4gg till","session":"Session","sessionDetailsAria":"Sessionsdetaljer","status":"Status","authenticated":"Autentiserad","guest":"G\xe4st","loginTime":"Inloggningstid","sessionAge":"Sessions\xe5lder","browser":"Webbl\xe4sare","clearLocalData":"Rensa lokal data","logout":"Logga ut","clearLocalDataConfirm":"Rensa alla lokala data? Detta kommer att \xe5terst\xe4lla dina inst\xe4llningar.","unknown":"Ok\xe4nd","systemActor":"systemet","ipAccessControl":"IP-\xe5tkomstkontroll","ipAccessControlDesc":"Blockera eller till\xe5t specifika IP-adresser","ipModeDisabled":"Inaktiverad","ipModeBlacklist":"Svartlista","ipModeWhitelist":"Vitlista","ipModeWhitelistPriority":"WL-prioritet","addIpAddress":"L\xe4gg till IP-adress","ipAddressPlaceholder":"192.168.1.0/24 eller 10.0.*.*","block":"+ Blockera","allow":"+ Till\xe5t","blocked":"Blockerad ({count})","allowed":"Till\xe5tet ({count})","temporaryBans":"Tillf\xe4lliga f\xf6rbud ({count})","minLeft":"{min}m kvar","auditLog":"Revisionslogg","searchAuditLogs":"S\xf6k granskningsloggar...","failedLoadAuditLog":"Det gick inte att l\xe4sa in granskningsloggen","noAuditEvents":"Inga granskningsh\xe4ndelser hittades","action":"\xc5tg\xe4rd","actor":"Sk\xe5despelare","details":"Detaljer","time":"Tid","fallbackChainsTitle":"Reservkedjor","fallbackChainsDesc":"Definiera reservorder f\xf6r leverant\xf6rer per modell","addChain":"+ L\xe4gg till kedja","modelName":"Modellnamn","modelNamePlaceholder":"claude-sonnet-4-20250514","providersCommaSeparated":"Leverant\xf6rer (kommaseparerade, i prioriterad ordning)","providersCommaSeparatedPlaceholder":"antropisk, openai, gemini","createChain":"Skapa kedja","noFallbackChains":"Inga reservkedjor","noFallbackChainsDesc":"Skapa en kedja f\xf6r att definiera leverant\xf6rs reservorder f\xf6r en modell.","loadingFallbackChains":"Laddar reservkedjor...","deleteChainConfirm":"Vill du ta bort reservkedjan f\xf6r \\"{model}\\"?","chainCreated":"Kedja skapad f\xf6r {model}","chainDeleted":"Kedjan raderad f\xf6r {model}","failedCreateChain":"Det gick inte att skapa kedja","failedDeleteChain":"Det gick inte att ta bort kedjan","deleteChain":"Ta bort kedja","fillModelAndProviders":"V\xe4nligen fyll i modellnamn och leverant\xf6rer","addAtLeastOneProvider":"L\xe4gg till minst en leverant\xf6r","comboDefaultsTitle":"Combo standard","globalComboConfig":"Global kombinationskonfiguration","defaultStrategy":"Standardstrategi","defaultStrategyDesc":"Till\xe4mpas p\xe5 nya kombinationer utan explicit strategi","comboStrategyAria":"Kombinationsstrategi","priority":"Prioritet","weighted":"Viktad","maxRetriesLabel":"Max f\xf6rs\xf6ker igen","retryDelayLabel":"F\xf6rs\xf6k igen f\xf6rdr\xf6jning (ms)","timeoutLabel":"Timeout (ms)","healthCheck":"H\xe4lsokontroll","healthCheckDesc":"Kontrollera leverant\xf6rens tillg\xe4nglighet i f\xf6rv\xe4g","trackMetrics":"Sp\xe5ra m\xe4tv\xe4rden","trackMetricsDesc":"Spela in m\xe4tv\xe4rden per kombinationsbeg\xe4ran","providerOverrides":"Provider \xe5sidos\xe4tter","providerOverridesDesc":"\xc5sidos\xe4tt timeout och f\xf6rs\xf6k igen per leverant\xf6r. Leverant\xf6rsinst\xe4llningar \xe5sidos\xe4tter globala standardinst\xe4llningar.","providerMaxRetriesAria":"{provider} max f\xf6rs\xf6k","providerTimeoutAria":"{provider} timeout ms","removeProviderOverrideAria":"Ta bort \xe5sidos\xe4ttningen {provider}","newProviderNamePlaceholder":"t.ex. google, \xf6ppna...","newProviderNameAria":"Nytt leverant\xf6rsnamn","retries":"f\xf6rs\xf6k igen","ms":"ms","saveComboDefaults":"Spara Combo Defaults","maxNestingDepth":"Max h\xe4ckningsdjup","concurrencyPerModel":"Samtidighet / Modell","queueTimeout":"Timeout f\xf6r k\xf6 (ms)","providerProfiles":"Leverant\xf6rsprofiler","providerProfilesDesc":"Separata inst\xe4llningar f\xf6r motst\xe5ndskraft f\xf6r OAuth (sessionsbaserad) och API Key (m\xe4tad) leverant\xf6rer. OAuth-leverant\xf6rer har str\xe4ngare tr\xf6sklar p\xe5 grund av l\xe4gre prisgr\xe4nser.","oauthProviders":"OAuth-leverant\xf6rer","apiKeyProviders":"API-nyckelleverant\xf6rer","transientCooldown":"\xd6verg\xe5ende nedkylning","rateLimitCooldown":"Rate Limit Cooldown","maxBackoffLevel":"Max Backoff Level","cbThreshold":"CB-tr\xf6skel","cbResetTime":"CB-\xe5terst\xe4llningstid","rateLimiting":"Prisbegr\xe4nsande","rateLimitingDesc":"API-nyckelleverant\xf6rer \xe4r automatiskt hastighetsbegr\xe4nsade med s\xe4kra standardinst\xe4llningar. Gr\xe4nser l\xe4rs fr\xe5n svarsrubriker och anpassas \xf6ver tid.","defaultSafetyNet":"Standards\xe4kerhetsn\xe4t","rpm":"RPM","minGap":"Min Gap","maxConcurrent":"Max Samtidigt","activeLimiters":"Aktiva begr\xe4nsningar","noActiveLimiters":"Inga aktiva hastighetsbegr\xe4nsare \xe4n.","reservoir":"Reservoar","running":"L\xf6pning","queued":"I k\xf6","circuitBreakers":"Str\xf6mbrytare","breakerStateClosed":"St\xe4ngt","breakerStateOpen":"\xd6ppna","breakerStateHalfOpen":"Halv\xf6ppet","tripped":"{count} utl\xf6stes","healthy":"{count} frisk","resetAll":"\xc5terst\xe4ll alla","noCircuitBreakers":"Inga str\xf6mbrytare aktiva \xe4n. De skapas automatiskt n\xe4r f\xf6rfr\xe5gningar fl\xf6dar genom den kombinerade pipelinen.","failures":"{count} fel(er)","policiesLocked":"Policyer och l\xe5sta identifierare","allOperational":"Alla system \xe4r i drift — inga l\xe5sningar eller utl\xf6sta brytare","loadingPolicies":"L\xe4ser in policyer...","lockedIdentifiers":"L\xe5sta identifierare","unlockedIdentifier":"Uppl\xe5st: {identifier}","sinceDate":"sedan {date}","forceUnlock":"Tvinga uppl\xe5sning","unlocking":"L\xe5ser upp...","failedUnlock":"Det gick inte att l\xe5sa upp","failedLoadWithStatus":"Det gick inte att ladda: {status}","failedLoadResilience":"Det gick inte att l\xe4sa in resiliensstatus","saveFailed":"Det gick inte att spara","resetFailed":"\xc5terst\xe4llningen misslyckades","loadingResilience":"Laddar resiliensstatus...","retry":"F\xf6rs\xf6k igen","systemStorage":"System & lagring","allDataLocal":"All data lagrad lokalt p\xe5 din maskin","databasePath":"Databasv\xe4g","exportDatabase":"Exportera databas","exportAll":"Exportera alla (.tar.gz)","importDatabase":"Importera databas","confirmDbImport":"Bekr\xe4fta databasimport","confirmDbImportDesc":"Detta kommer att ers\xe4tta all aktuell data med inneh\xe5llet fr\xe5n {file}. En s\xe4kerhetskopia skapas automatiskt f\xf6re importen.","yesImport":"Ja, importera","lastBackup":"Senaste s\xe4kerhetskopieringen","noBackupYet":"Ingen backup \xe4nnu","backupNow":"S\xe4kerhetskopiera nu","backupRestore":"S\xe4kerhetskopiera och \xe5terst\xe4lla","viewBackups":"Visa s\xe4kerhetskopior","hide":"G\xf6m","backupRetentionDesc":"Databas\xf6gonblicksbilder skapas automatiskt f\xf6re \xe5terst\xe4llning och var 15:e minut n\xe4r data \xe4ndras. Retention: 24 timmar per timme + 30 dagliga backuper med smart rotation.","loadingBackups":"Laddar s\xe4kerhetskopior...","noBackupsYet":"Inga s\xe4kerhetskopior tillg\xe4ngliga \xe4nnu. S\xe4kerhetskopieringar skapas automatiskt n\xe4r data \xe4ndras.","backupsAvailable":"{count} s\xe4kerhetskopior tillg\xe4ngliga","refresh":"Uppdatera","confirm":"Bekr\xe4fta?","yes":"Ja","no":"Nej","restore":"\xc5terst\xe4ll","invalidFileType":"Ogiltig filtyp. Endast .sqlite-filer accepteras.","exportFailed":"Exporten misslyckades","exportFailedWithError":"Export misslyckades: {error}","fullExportFailedWithError":"Fullst\xe4ndig export misslyckades: {error}","backupCreated":"S\xe4kerhetskopiering skapad: {file}","restoreSuccess":"\xc5terst\xe4lld! {connections} anslutningar, {nodes} noder, {combos} kombinationer, {apiKeys} API-nycklar.","importSuccess":"Databas importerad! {connections} anslutningar, {nodes} noder, {combos} kombinationer, {apiKeys} API-nycklar.","justNow":"just nu","minutesAgo":"{count}m sedan","hoursAgo":"{count}h sedan","daysAgo":"{count}d sedan","backupReasonManual":"handbok","backupReasonPreRestore":"f\xf6r\xe5terst\xe4llning","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Inga \xe4ndringar sedan senaste s\xe4kerhetskopiering","backupFailed":"S\xe4kerhetskopieringen misslyckades","restoreFailed":"\xc5terst\xe4llningen misslyckades","importFailed":"Importen misslyckades","errorDuringRestore":"Ett fel uppstod under \xe5terst\xe4llning","errorDuringImport":"Ett fel uppstod under importen","modelPricing":"Modellpriss\xe4ttning","modelPricingDesc":"Konfigurera kostnadssatser per modell • Alla priser i $/1M tokens","providers":"Leverant\xf6rer","registry":"Registret","priced":"Prissatt","searchProvidersModels":"S\xf6k efter leverant\xf6rer eller modeller...","showAll":"Visa alla","noProvidersMatch":"Inga leverant\xf6rer matchar din s\xf6kning.","howPricingWorks":"Hur priss\xe4ttning fungerar","cacheWrite":"Cache Skriv","unsaved":"osparade","resetDefaults":"\xc5terst\xe4ll standardv\xe4rden","saveProvider":"Spara leverant\xf6r","saving":"Sparar...","model":"Modell","models":"modeller","moreProviders":"{count} fler leverant\xf6rer","withPricing":"med konfigurerad priss\xe4ttning","policiesCircuitBreakers":"Policyer och str\xf6mbrytare","activeIssuesDetected":"Aktiva problem uppt\xe4cktes","off":"Av","resetPricingConfirm":"Vill du \xe5terst\xe4lla alla priser f\xf6r {provider} till standardv\xe4rdena?","pricingDescInput":"Indata: tokens skickas till modellen","pricingDescOutput":"Utdata: tokens genererade","pricingDescCached":"Cachad: \xe5teranv\xe4nd indata (~50 % av inmatningshastighet)","pricingDescReasoning":"Resonemang: t\xe4nkande tokens (faller tillbaka till Output)","pricingDescCacheWrite":"Cache Write: skapa cache-poster (faller tillbaka till Input)","pricingDescFormula":"Kostnad = (ing\xe5ng \xd7 input_rate) + (output \xd7 output_rate) + (cachad \xd7 cached_rate) per miljon tokens.","pricingSettingsTitle":"Prisinst\xe4llningar","totalModels":"Totalt antal modeller","active":"Aktiv","costCalculation":"Kostnadsber\xe4kning","costCalculationDesc":"Kostnaderna ber\xe4knas baserat p\xe5 tokenanv\xe4ndning och priss\xe4ttning som konfigurerats f\xf6r varje modell.","pricingFormat":"Prisformat","pricingFormatDesc":"Alla priser \xe4r i $/1M tokens (dollar per miljon tokens).","tokenTypes":"Tokentyper","inputTokenDesc":"Standard prompt tokens","outputTokenDesc":"Kompletterande/svars-tokens","cachedTokenDesc":"Cachade indatatokens (vanligtvis 50 % av inmatningshastigheten)","reasoningTokenDesc":"S\xe4rskilda resonemang/t\xe4nketokens (\xe5terg\xe5ng till produktionshastighet)","cacheCreationTokenDesc":"Tokens som anv\xe4nds f\xf6r att skapa cacheposter (\xe5terg\xe5ng till inmatningshastighet)","customPricingNote":"Du kan \xe5sidos\xe4tta standardpriser f\xf6r specifika modeller. Anpassade \xe5sidos\xe4ttningar har prioritet framf\xf6r automatiskt identifierade priser.","editPricing":"Redigera priss\xe4ttning","viewFullDetails":"Visa fullst\xe4ndiga detaljer","modelAliasesTitle":"Modellalias","addCustomAlias":"L\xe4gg Till Anpassat Alias","deprecatedModelId":"F\xf6r\xe5ldrat modell-ID","newModelId":"Nytt modell-ID","customAliases":"Anpassade Alias","builtInAliases":"Inbyggda Alias","backgroundDegradationTitle":"Bakgrundsuppgifter Degradering","backgroundDegradationDesc":"Uppt\xe4cker automatiskt bakgrundsuppgifter (titlar, sammanfattningar) och dirigerar till billigare modeller","enableDegradation":"Aktivera Bakgrundsdegradation","enableDegradationHint":"N\xe4r aktiverat, dirigeras bakgrundsuppgifter som titelgenerering och sammanfattningar automatiskt till billigare modeller","tasksDetected":"Uppgifter uppt\xe4ckta","degradationMap":"Modelldegraderingsschema","premiumModel":"Premiummodell","cheapModel":"Billig modell","detectionPatterns":"Detektionsm\xf6nster","newPattern":"t.ex. \\"generera en titel\\""},"translator":{"title":"\xd6vers\xe4ttare","metaTitle":"\xd6vers\xe4ttare Lekplats | OmniRoute","metaDescription":"Fels\xf6k, testa och visualisera API-format\xf6vers\xe4ttningar mellan leverant\xf6rer","playgroundTitle":"\xd6vers\xe4ttare Lekplats","playground":"Lekplats","realtime":"\xd6vers\xe4ttningsaktivitet i realtid","chatTester":"Chattestare","testBench":"Testb\xe4nk","liveMonitor":"Live Monitor","modeDescriptionPlayground":"Klistra in valfri API-beg\xe4ran och se hur OmniRoute \xf6vers\xe4tter den mellan leverant\xf6rsformat (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)","modeDescriptionChatTester":"Skicka riktiga chattf\xf6rfr\xe5gningar via OmniRoute och inspektera hela tur och retur: indata, \xf6versatt beg\xe4ran, leverant\xf6rssvar och \xf6versatt utdata.","modeDescriptionTestBench":"K\xf6r f\xf6rdefinierade scenarier och j\xe4mf\xf6r kompatibilitet mellan leverant\xf6rer och modeller.","modeDescriptionLiveMonitor":"Se \xf6vers\xe4ttningsh\xe4ndelser i realtid n\xe4r f\xf6rfr\xe5gningar fl\xf6dar genom OmniRoute.","modeDescriptionFallback":"Fels\xf6k, testa och visualisera hur OmniRoute \xf6vers\xe4tter API-f\xf6rfr\xe5gningar mellan leverant\xf6rer.","recentTranslations":"Nya \xf6vers\xe4ttningar","noTranslations":"Inga \xf6vers\xe4ttningar \xe4nnu","source":"K\xe4lla","target":"M\xe5l","time":"Tid","model":"Modell","status":"Status","latency":"Latens","totalTranslations":"Totala \xf6vers\xe4ttningar","successful":"Framg\xe5ngsrik","errors":"Fel","avgLatency":"Genomsnittlig latens","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Live — Automatisk uppdatering","paused":"Pausad","eventsAppearHint":"\xd6vers\xe4ttningsh\xe4ndelser visas h\xe4r n\xe4r f\xf6rfr\xe5gningar fl\xf6dar genom OmniRoute. Anv\xe4nd n\xe5gon av dessa metoder f\xf6r att generera h\xe4ndelser:","chatTesterTab":"Fliken Chattestare","testBenchTab":"Fliken Testb\xe4nk","externalApiCalls":"Externa API-anrop","ideCliIntegrations":"IDE/CLI-integrationer","inMemoryNote":"Obs: H\xe4ndelser lagras i minnet och \xe5terst\xe4lls n\xe4r servern startar om.","ok":"OK","errorShort":"ERR","formatConverter":"Formatomvandlare","formatConverterDescription":"Klistra in eller skriv en JSON-beg\xe4ran. \xd6vers\xe4ttaren kommer att automatiskt uppt\xe4cka k\xe4llformatet och konvertera det till m\xe5lformatet. Anv\xe4nd detta f\xf6r att fels\xf6ka hur OmniRoute \xf6vers\xe4tter f\xf6rfr\xe5gningar mellan format (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Ing\xe5ng","output":"Utg\xe5ng","auto":"Auto","swapFormats":"Byt format","translateAction":"\xd6vers\xe4tt","clear":"Rensa","inputPlaceholder":"Klistra in en f\xf6rfr\xe5gningstext h\xe4r eller v\xe4lj en mall nedan...","exampleTemplates":"Exempel mallar","exampleTemplatesHint":"— Klicka f\xf6r att ladda","templateLoadHint":"Mallen laddar beg\xe4ran i formatet {format}. \xc4ndra k\xe4llformat f\xf6r att ladda i ett annat format.","compatibilityTester":"Kompatibilitetstestare","compatibilityReport":"Kompatibilitetsrapport","testBenchDescription":"K\xf6r f\xf6rdefinierade scenarier (Simple Chat, Tool Calling, etc.) f\xf6r att verifiera \xf6vers\xe4ttning och leverant\xf6rskompatibilitet. V\xe4lj ett k\xe4llformat och m\xe5lleverant\xf6r och k\xf6r sedan alla tester f\xf6r att se en kompatibilitetsprocent. Anv\xe4nd det h\xe4r f\xf6r att ta reda p\xe5 vilka funktioner som fungerar mellan olika leverant\xf6rer.","targetProvider":"M\xe5lleverant\xf6r","runAllTests":"K\xf6r alla tester","runTest":"K\xf6r test","reRun":"K\xf6r igen","running":"K\xf6r...","passed":"godk\xe4nd","failed":"misslyckades","passedIconLabel":"✅ Godk\xe4nd","chunks":"bitar","scenarioSimpleChat":"Enkel chatt","scenarioToolCalling":"Verktygsanrop","scenarioMultiTurn":"Flervarv","scenarioThinking":"T\xe4nker","scenarioSystemPrompt":"Systemprompt","scenarioStreaming":"Streaming","templateNames":{"simple-chat":"Enkel chatt","tool-calling":"Verktygsanrop","multi-turn":"Flervarv","thinking":"T\xe4nker","system-prompt":"Systemprompt","streaming":"Streaming"},"templateDescriptions":{"simple-chat":"Grundl\xe4ggande textmeddelande","tool-calling":"Funktion/verktygsanrop","multi-turn":"Samtal med historien","thinking":"Ut\xf6kat t\xe4nkande/resonemang","system-prompt":"Komplexa systeminstruktioner","streaming":"SSE-str\xf6mningsf\xf6rfr\xe5gan"},"templatePayloads":{"simpleChat":{"system":"Du \xe4r en hj\xe4lpsam assistent.","userGreeting":"Hej! Hur m\xe5r du idag?"},"toolCalling":{"userWeather":"Hur \xe4r v\xe4dret i S\xe3o Paulo?","toolDescription":"F\xe5 aktuellt v\xe4der f\xf6r en plats","cityNameDescription":"Stadsnamn"},"multiTurn":{"system":"Du \xe4r en kodningsassistent.","userInitial":"Skriv en funktion f\xf6r att sortera en array i Python.","assistantExample":"H\xe4r \xe4r en enkel sorteringsfunktion:\\n\\n``` python\\ndef sort_array(arr):\\n return sorterad(arr)\\n```","userFollowUp":"Sortera det nu i fallande ordning."},"thinking":{"question":"Vad \xe4r summan av de f\xf6rsta 100 primtalen?"},"systemPrompt":{"systemInstruction":"Du \xe4r en senior mjukvaruingenj\xf6r specialiserad p\xe5 distribuerade system. Svara p\xe5 fr\xe5gor kortfattat med hj\xe4lp av branschens b\xe4sta praxis. Ge alltid kodexempel n\xe4r det \xe4r relevant. Formatera dina svar med markdown.","question":"Hur implementerar jag ett str\xf6mbrytarm\xf6nster?"},"streaming":{"prompt":"Ber\xe4tta en kort historia om en robot som l\xe4r sig m\xe5la."}},"openaiCompatibleLabel":"OpenAI-kompatibel","anthropicCompatibleLabel":"Antropisk kompatibel","noTemplateForFormat":"Ingen mall f\xf6r detta format","translationFailed":"\xd6vers\xe4ttning misslyckades: {error}","pipelineDebugger":"Pipeline Debugger","translationPipeline":"\xd6vers\xe4ttning pipeline","pipelineVisualization":"Visualisering av pipeline","pipelineVisualizationHint":"Skicka ett meddelande f\xf6r att se hur din f\xf6rfr\xe5gan flyter genom uppt\xe4ckt → \xf6vers\xe4ttning → leverant\xf6rssamtal.","chatTesterDescription":"Skicka meddelanden som ett specifikt klientformat och inspektera varje steg i \xf6vers\xe4ttningspipelinen.","chatTesterFlow":"Klientf\xf6rfr\xe5gan → Formatdetektion → OpenAI Intermediate → Leverant\xf6rsformat → Svar","clickStepToInspect":"Klicka p\xe5 valfritt steg f\xf6r att inspektera data i det stadiet.","clientFormat":"Klientformat","provider":"Leverant\xf6r","modelPlaceholder":"V\xe4lj eller skriv ett modellnamn...","sendMessageToSeePipeline":"Skicka ett meddelande f\xf6r att se \xf6vers\xe4ttningspipeline","chatMessageHintPrefix":"Ditt meddelande kommer att formateras som en","chatMessageHintSuffix":"beg\xe4ran, \xf6versatt genom pipelinen och skickad till den valda leverant\xf6ren.","youWithFormat":"Du ({format})","assistant":"Assistent","typeMessage":"Skriv ett meddelande...","send":"Skicka","clientRequest":"Kundf\xf6rfr\xe5gan","clientRequestDescription":"Beg\xe4ran som din klient skulle skicka den","formatDetected":"Format uppt\xe4ckt","formatDetectedDescription":"OmniRoute uppt\xe4cker automatiskt API-formatet fr\xe5n f\xf6rfr\xe5gningsstrukturen","openaiIntermediate":"OpenAI Intermediate","openaiIntermediateDescription":"Alla format normaliseras f\xf6rst till OpenAI-format (den universella bryggan)","providerFormat":"Leverant\xf6rsformat","providerFormatDescription":"OpenAI-formatet \xf6vers\xe4tts till leverant\xf6rens ursprungliga format","providerResponse":"Leverant\xf6rens svar","providerResponseRawDescription":"Det r\xe5a svaret fr\xe5n leverant\xf6rens API","providerResponseSseDescription":"Den r\xe5a SSE-str\xf6mmen fr\xe5n leverant\xf6rens API","unexpectedError":"Ett ov\xe4ntat fel intr\xe4ffade","error":"Fel","errorMessage":"Fel: {message}","requestFailed":"Beg\xe4ran misslyckades","noTextExtracted":"(Ingen text extraherad)","liveMonitorDescriptionPrefix":"Visar \xf6vers\xe4ttningsh\xe4ndelser n\xe4r API-anrop flyter genom OmniRoute. H\xe4ndelser kommer fr\xe5n minnesbufferten (\xe5terst\xe4lls vid omstart). Anv\xe4nd","liveMonitorDescriptionSuffix":", eller externa API-anrop f\xf6r att generera h\xe4ndelser."},"usage":{"title":"Anv\xe4ndning","loggerTab":"Logger","proxyTab":"Proxy","budgetManagement":"Budgethantering","budgetSaved":"Budgetgr\xe4nser sparade","budgetSaveFailed":"Det gick inte att spara budget","loadingBudgetData":"Laddar budgetdata...","noApiKeysTitle":"Inga API-nycklar","noApiKeysDescription":"L\xe4gg f\xf6rst till API-nycklar f\xf6r att st\xe4lla in budgetgr\xe4nser.","apiKey":"API-nyckel","todaysSpend":"Dagens utgifter","thisMonth":"Denna m\xe5nad","setLimits":"St\xe4ll in gr\xe4nser","dailyLimitUsd":"Daglig gr\xe4ns (USD)","monthlyLimitUsd":"M\xe5nadsgr\xe4ns (USD)","warningThresholdPercent":"Varningstr\xf6skel (%)","dailyLimitPlaceholder":"t.ex. 5.00","monthlyLimitPlaceholder":"t.ex. 50.00","warningThresholdPlaceholder":"80","saveLimits":"Spara gr\xe4nser","budgetOk":"Budget OK — {remaining} kvar","budgetExceeded":"Budget \xf6verskriden — f\xf6rfr\xe5gningar kan blockeras","totalRequests":"Totalt antal f\xf6rfr\xe5gningar","noDataYet":"Inga uppgifter \xe4nnu","latency":"Latens","latencyP50":"p50","latencyP95":"s 95","latencyP99":"s 99","promptCache":"Fr\xe5ga Cache","systemHealth":"Systemh\xe4lsa","entries":"Inl\xe4gg","activeCount":"{count} aktiv","openCircuitBreakersDetected":"\xd6ppen str\xf6mbrytare uppt\xe4ckt","hitRate":"Tr\xe4fffrekvens","hitsMisses":"Tr\xe4ffar/missar","circuitBreakers":"Str\xf6mbrytare","lockedIPs":"L\xe5sta IP-adresser","lockoutsAutoRefreshHint":"L\xe5s f\xf6r hastighetsgr\xe4ns per modell • Automatisk uppdatering 10s","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} kvar","howItWorks":"Hur det fungerar","howItWorksSubtitle":"L\xe4r dig hur utv\xe4rderingar validerar dina LLM-svar","define":"Definiera","defineStepDescription":"Skapa testfall med indatameddelanden och f\xf6rv\xe4ntade utdatakriterier med hj\xe4lp av strategier som inneh\xe5ller, regex eller exakt matchning.","run":"K\xf6r","runStepDescription":"Utf\xf6r testfall mot dina LLM-slutpunkter genom OmniRoute. Varje \xe4rende skickas som en riktig API-f\xf6rfr\xe5gan.","evaluate":"Utv\xe4rdera","evaluateStepDescription":"Svar j\xe4mf\xf6rs mot f\xf6rv\xe4ntade kriterier. Se godk\xe4nt/underk\xe4nt f\xf6r varje fall med latensstatistik och detaljerad feedback.","evalSuites":"Utv\xe4rderingssviter","evalSuitesHint":"Klicka p\xe5 en svit f\xf6r att se testfall och k\xf6r sedan f\xf6r att utv\xe4rdera dina LLM-slutpunkter","evalsLoading":"Laddar eval-sviter...","noEvalSuitesFound":"Inga Eval Suites hittades","noEvalSuitesDescription":"Eval-sviter kan definieras via API:t eller i kod. De testar modellutdata mot f\xf6rv\xe4ntade resultat med hj\xe4lp av strategier som inneh\xe5ller, regex, exakt matchning och anpassade funktioner.","columnCase":"Fall","columnStatus":"Status","columnLatency":"Latens","columnDetails":"Detaljer","columnModel":"Modell","columnStrategy":"Strategi","columnExpected":"F\xf6rv\xe4ntat","statsSuites":"Sviter","statsTestCases":"Testfall","statsModels":"Modeller","statsCoverage":"T\xe4ckning","statsStrategiesCount":"{count} strategier","evaluationStrategies":"Utv\xe4rderingsstrategier","modelsUnderTest":"Modeller under test","searchSuitesPlaceholder":"S\xf6k efter sviter...","passSuffix":"passera","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"K\xf6r Eval","runningProgress":"K\xf6r {current}/{total}...","passRate":"genomslagsfrekvens","summaryBreakdown":"{passed} godk\xe4nd \xb7 {failed} misslyckades \xb7 {total} totalt","passedIconLabel":"✅ Godk\xe4nd","failedIconLabel":"❌ Misslyckades","detailsContains":"Inneh\xe5ller: \\"{term}\\"","detailsRegex":"Regex: {pattern}","detailsExpected":"F\xf6rv\xe4ntat: \\"{expected}\\"","noResultsYet":"Inga resultat \xe4nnu","testCasesCount":"Testfall ({count})","noTestCasesDefined":"Inga testfall definierade","runEvalHint":"Klicka p\xe5 \\"K\xf6r Eval\\" f\xf6r att k\xf6ra alla \xe4renden mot din LLM-slutpunkt. Varje test skickar en riktig f\xf6rfr\xe5gan via OmniRoute.","notifyNoTestCases":"Inga testfall har definierats f\xf6r denna svit","notifyAllCasesPassed":"Alla {total} fall godk\xe4ndes ✅","notifySomeCasesFailed":"{passed}/{total} godk\xe4nd, {failed} misslyckades","notifyEvalRunFailed":"Evalk\xf6rningen misslyckades","notifyEvalTitle":"Eval: {name}","modelEvals":"Modellutv\xe4rderingar","evalsHeroDescription":"Testa och validera dina LLM-slutpunkter genom att k\xf6ra f\xf6rdefinierade utv\xe4rderingssviter. Varje svit inneh\xe5ller testfall som skickar riktiga uppmaningar genom OmniRoute och j\xe4mf\xf6r svar mot f\xf6rv\xe4ntade kriterier – vilket hj\xe4lper dig att uppt\xe4cka regressioner, j\xe4mf\xf6ra modeller och s\xe4kerst\xe4lla svarskvalitet mellan leverant\xf6rer.","qualityValidation":"Kvalitetsvalidering","modelComparison":"Modellj\xe4mf\xf6relse","regressionDetection":"Regressionsdetektering","latencyBenchmarks":"Latency Benchmarks","modelLockouts":"Modell Lockouter","noLockouts":"Inga modeller \xe4r f\xf6r n\xe4rvarande l\xe5sta","activeSessions":"Aktiva sessioner","noSessions":"Inga aktiva sessioner","sessionsHint":"Sessioner visas n\xe4r f\xf6rfr\xe5gningar fl\xf6dar genom proxyn","sessionsTrackedHint":"Sp\xe5ras via beg\xe4ran om fingeravtryck • Automatisk uppdatering 5s","session":"Session","age":"\xc5lder","requests":"F\xf6rfr\xe5gningar","connection":"Anslutning","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Leverant\xf6rsgr\xe4nser","noProviders":"Inga leverant\xf6rer anslutna","connectProvidersForQuota":"Anslut till leverant\xf6rer med OAuth f\xf6r att sp\xe5ra dina API-kvotgr\xe4nser och anv\xe4ndning.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(filtrerad fr\xe5n {count})","autoRefresh":"Automatisk uppdatering","refreshAll":"Uppdatera alla","loadingQuotas":"Laddar...","account":"konto","modelQuotas":"Modellkvoter","lastUsed":"Senast anv\xe4nd","actions":"\xc5tg\xe4rder","refreshQuota":"Uppdatera kvoten","today":"Idag","tomorrow":"Imorgon","dayTimeFormat":"{day}, {time}","inDuration":"i {duration}","notApplicable":"N/A","rawPlanWithValue":"R\xe5 plan: {plan}","noPlanFromProvider":"Ingen plan fr\xe5n leverant\xf6ren","noQuotaData":"Inga kvotdata","noQuotaDataAvailable":"Inga kvotdata tillg\xe4ngliga","noAccountsForTierFilter":"Inga konton hittades f\xf6r niv\xe5filter","tierAll":"Alla","tierEnterprise":"F\xf6retag","tierTeam":"Team","tierBusiness":"Business","tierUltra":"Ultra","tierPro":"Pro","tierPlus":"Plus","tierFree":"Gratis","tierUnknown":"Ok\xe4nd"},"modals":{"waitingAuth":"V\xe4ntar p\xe5 auktorisering","verificationUrl":"Verifierings-URL","yourCode":"Din kod","remoteAccess":"Fj\xe4rr\xe5tkomst:","connectedSuccess":"Ansluten framg\xe5ngsrikt!","connectionFailed":"Anslutningen misslyckades","chooseAuthMethod":"V\xe4lj din autentiseringsmetod:","awsBuilderId":"AWS Builder ID","awsIamIdentity":"AWS IAM Identity Center","googleAccount":"Google-konto","githubAccount":"GitHub-konto","importToken":"Importera token","pasteToken":"Klistra in uppdateringstoken fr\xe5n Kiro IDE.","awsRegion":"AWS-regionen","autoDetecting":"Identifierar tokens automatiskt...","readingFromCache":"L\xe4ser fr\xe5n AWS SSO-cache","readingFromCursor":"L\xe4ser fr\xe5n Cursor IDE-databas","initializing":"Initierar...","pricingConfig":"Priskonfiguration","loadingPricing":"Laddar prisinformation...","pricingRatesFormat":"Priser Format","noPricingData":"Inga prisuppgifter tillg\xe4ngliga","noModelsFound":"Inga modeller hittades"},"loggers":{"allProviders":"Alla leverant\xf6rer","allModels":"Alla modeller","allAccounts":"Alla konton","allApiKeys":"Alla API-nycklar","allTypes":"Alla typer","allLevels":"Alla niv\xe5er","modelAZ":"Modell A-Z","modelZA":"Modell Z-A","loadingLogs":"Laddar loggar...","loadingProxyLogs":"Laddar proxyloggar...","noLogEntries":"Inga loggposter hittades","noPayloadData":"Ingen nyttolastdata tillg\xe4nglig f\xf6r denna loggpost.","proxyEvent":"Proxyh\xe4ndelse","proxy":"Proxy","level":"Niv\xe5","directNative":"Direkt (inf\xf6dd)","combo":"Combo","inputTokens":"jag:","outputTokens":"O:"},"stats":{"usageOverview":"Anv\xe4ndnings\xf6versikt","outputTokens":"Output Tokens","totalCost":"Total kostnad","usageByModel":"Anv\xe4ndning efter modell","usageByAccount":"Anv\xe4ndning per konto","failedToLoad":"Det gick inte att l\xe4sa in anv\xe4ndningsstatistik.","tokenHealth":"Token Health","totalOAuth":"Totalt OAuth","healthy":"Frisk","warning":"Varning","errored":"Fel","lastCheck":"Sista kontrollen","noData":"Inga data","share":"Dela","unableToLoad":"Det gick inte att l\xe4sa in systemstatistik","product":"Produkt","resources":"Resurser","company":"F\xf6retag"},"auth":{"welcome":"V\xe4lkommen","signIn":"Logga in","enterPassword":"Ange ditt l\xf6senord f\xf6r att forts\xe4tta","password":"L\xf6senord","unifiedProxy":"Unified AI API Proxy","unifiedAiApiProxy":"Unified AI API Proxy","unifiedAiApiProxyDesc":"Dirigera f\xf6rfr\xe5gningar till flera AI-leverant\xf6rer via en enda slutpunkt. Lastbalansering, failover och anv\xe4ndningssp\xe5rning inbyggd.","passwordNotEnabled":"L\xf6senordsskydd \xe4r inte aktiverat","loading":"Laddar...","invalidPassword":"Ogiltigt l\xf6senord","errorOccurredRetry":"Ett fel uppstod. F\xf6rs\xf6k igen.","configureInstance":"L\xe5t oss konfigurera din OmniRoute-instans","runOnboardingWizard":"K\xf6r introduktionsguiden f\xf6r att st\xe4lla in ditt l\xf6senord och ansluta din f\xf6rsta AI-leverant\xf6r.","startOnboarding":"B\xf6rja onboarding","secureYourInstance":"S\xe4kra din instans","setPasswordDescription":"Ange ett l\xf6senord f\xf6r att skydda din instrumentpanel och skydda dina API-slutpunkter fr\xe5n obeh\xf6rig \xe5tkomst.","configurePassword":"Konfigurera l\xf6senord","continue":"Forts\xe4tt","windowWillClose":"Det h\xe4r f\xf6nstret st\xe4ngs automatiskt...","closeTabNow":"Du kan st\xe4nga den h\xe4r fliken nu.","copyUrlManual":"Kopiera URL:en fr\xe5n adressf\xe4ltet och klistra in den i programmet.","accessDeniedDescription":"Du har inte beh\xf6righet att komma \xe5t den h\xe4r resursen. Kontrollera din API-nyckel eller kontakta administrat\xf6ren.","goToDashboard":"G\xe5 till Dashboard","featureMultiProviderTitle":"Flera leverant\xf6rer","featureMultiProviderDesc":"OpenAI, Anthropic, Google och mer","featureLoadBalancingTitle":"Lastbalansering","featureLoadBalancingDesc":"F\xf6rdela f\xf6rfr\xe5gningar intelligent","featureUsageTrackingTitle":"Anv\xe4ndningssp\xe5rning","featureUsageTrackingDesc":"\xd6vervaka kostnader och tokens","resetPassword":"\xc5terst\xe4ll l\xf6senord","resetDescription":"V\xe4lj en metod f\xf6r att \xe5terst\xe4lla \xe5tkomst till din instrumentpanel","stopServer":"Stoppa OmniRoute-servern","processing":"Bearbetar...","pleaseWait":"V\xe4nta medan vi slutf\xf6r auktoriseringen.","authSuccess":"Auktoriseringen lyckades!","copyUrl":"Kopiera denna URL","accessDenied":"\xc5tkomst nekad","methodCliTitle":"Metod 1: CLI-\xe5terst\xe4llning","methodCliDescription":"K\xf6r f\xf6ljande kommando p\xe5 servern d\xe4r OmniRoute k\xf6rs:","methodCliHint":"Detta kommer att uppmana dig att ange ett nytt l\xf6senord. Servern m\xe5ste stoppas f\xf6rst.","methodManualTitle":"Metod 2: Manuell \xe5terst\xe4llning","methodManualDescription":"Ta bort l\xf6senordet fr\xe5n databasen och st\xe4ll in ett nytt vid start:","setPasswordInYour":"Ange ett nytt l\xf6senord i din","fileLabelSuffix":"fil:","newPasswordPlaceholder":"ditt_nya_l\xf6senord","deleteSettingsFile":"Ta bort","orRemovePasswordHashField":"eller ta bort f\xe4ltet passwordHash","restartServerWithNewPassword":"Starta om servern - den kommer att anv\xe4nda det nya l\xf6senordet","backToLogin":"Tillbaka till inloggning","forgotPassword":"Gl\xf6mt l\xf6senordet?"},"landing":{"brandName":"OmniRoute","navigateHome":"Navigera till hem","toggleMenu":"V\xe4xla meny","featuresLink":"Funktioner","docsLink":"Dokument","github":"GitHub","versionLive":"v1.0 \xe4r nu live","oneEndpoint":"En slutpunkt f\xf6r","allProviders":"Alla AI-leverant\xf6rer","heroDescription":"AI-slutpunktsproxy med webbinstrumentpanel - En JavaScript-port f\xf6r CLIProxyAPI. Fungerar s\xf6ml\xf6st med Claude Code, OpenAI Codex, Cline, RooCode och andra CLI-verktyg.","getStarted":"Kom ig\xe5ng","viewOnGithub":"Visa p\xe5 GitHub","powerfulFeatures":"Kraftfulla funktioner","featuresSubtitle":"Allt du beh\xf6ver f\xf6r att hantera din AI-infrastruktur p\xe5 ett st\xe4lle, byggt f\xf6r skala.","featureUnifiedEndpointTitle":"Unified Endpoint","featureUnifiedEndpointDesc":"F\xe5 tillg\xe5ng till alla leverant\xf6rer via en enda standard API-URL.","featureEasySetupTitle":"Enkel installation","featureEasySetupDesc":"Kom ig\xe5ng p\xe5 n\xe5gra minuter med npx-kommandot.","featureModelFallbackTitle":"Modell Fallback","featureModelFallbackDesc":"Byt leverant\xf6r automatiskt vid fel eller h\xf6g latens.","featureUsageTrackingTitle":"Anv\xe4ndningssp\xe5rning","featureUsageTrackingDesc":"Detaljerad analys och kostnads\xf6vervakning \xf6ver alla modeller.","featureOAuthApiKeysTitle":"OAuth- och API-nycklar","featureOAuthApiKeysDesc":"Hantera autentiseringsuppgifter p\xe5 ett s\xe4kert s\xe4tt i ett valv.","featureCloudSyncTitle":"Molnsynkronisering","featureCloudSyncDesc":"Synkronisera dina konfigurationer mellan enheter direkt.","featureCliSupportTitle":"CLI Support","featureCliSupportDesc":"Fungerar med Claude Code, Codex, Cline, Cursor och mer.","featureDashboardTitle":"Instrumentpanel","featureDashboardDesc":"Visuell instrumentpanel f\xf6r trafikanalys i realtid.","howItWorks":"Hur OmniRoute fungerar","howItWorksDescription":"Data fl\xf6dar s\xf6ml\xf6st fr\xe5n din applikation genom v\xe5rt intelligenta routinglager till den b\xe4sta leverant\xf6ren f\xf6r jobbet.","howItWorksStep1Title":"1. CLI & SDK:er","howItWorksStep1Description":"Dina f\xf6rfr\xe5gningar utg\xe5r fr\xe5n dina favoritverktyg eller v\xe5r enhetliga SDK. \xc4ndra bara webbadressen.","howItWorksStep2Title":"2. OmniRoute Hub","howItWorksStep2Description":"V\xe5r motor analyserar uppmaningen, kontrollerar leverant\xf6rens h\xe4lsa och rutter f\xf6r l\xe4gsta latens eller kostnad.","howItWorksStep3Title":"3. AI-leverant\xf6rer","howItWorksStep3Description":"Beg\xe4ran uppfylls av OpenAI, Anthropic, Gemini eller andra omedelbart.","getStartedIn30Seconds":"Kom ig\xe5ng p\xe5 30 sekunder","getStartedDescription":"Installera OmniRoute, konfigurera dina leverant\xf6rer via webbinstrumentpanelen och b\xf6rja dirigera AI-f\xf6rfr\xe5gningar.","installOmniRoute":"Installera OmniRoute","installStepDescription":"K\xf6r npx-kommandot f\xf6r att starta servern direkt","openDashboard":"\xd6ppna Dashboard","openDashboardStepDescription":"Konfigurera leverant\xf6rer och API-nycklar via webbgr\xe4nssnitt","routeRequests":"Ruttf\xf6rfr\xe5gningar","routeRequestsStepDescription":"Rikta dina CLI-verktyg till {endpoint}","terminal":"terminal","copy":"Kopiera","copied":"✓ Kopierat","startingOmniRoute":"Startar OmniRoute...","serverRunningOnLabel":"Server k\xf6rs p\xe5","dashboardLabel":"Instrumentpanel","readyToRoute":"Redo att f\xe4rdas! ✓","configureProvidersNote":"\uD83D\uDCDD Konfigurera leverant\xf6rer i instrumentpanelen eller anv\xe4nd milj\xf6variabler","dataLocation":"Dataplats:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Windows:","product":"Produkt","dashboardLink":"Instrumentpanel","changelog":"\xc4ndringslogg","resources":"Resurser","documentation":"Dokumentation","npm":"NPM","legal":"Lagligt","mitLicense":"MIT-licens","footerTagline":"Den enhetliga slutpunkten f\xf6r AI-generering. Anslut, dirigera och hantera dina AI-leverant\xf6rer med l\xe4tthet.","copyright":"\xa9 {year} OmniRoute. Alla r\xe4ttigheter reserverade.","flowToolClaudeCode":"Claude Code","flowToolOpenAICodex":"OpenAI Codex","flowToolCline":"Cline","flowToolCursor":"Mark\xf6r","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Antropisk","flowProviderGemini":"Tvillingarna","flowProviderGithubCopilot":"GitHub Copilot","interactiveDiagram":"Interaktivt diagram synligt p\xe5 skrivbordet","ctaTitle":"\xc4r du redo att f\xf6renkla din AI-infrastruktur?","ctaDescription":"G\xe5 med utvecklare som effektiviserar sina AI-integrationer med OmniRoute. \xd6ppen k\xe4llkod och gratis att starta.","startFree":"B\xf6rja gratis","readDocumentation":"L\xe4s dokumentation"},"docs":{"title":"Dokumentation","quickStart":"Snabbstart","features":"Funktioner","supportedProviders":"Leverant\xf6rer som st\xf6ds","supportedProvidersToc":"Leverant\xf6rer","commonUseCases":"Vanliga anv\xe4ndningsfall","clientCompatibility":"Klientkompatibilitet","apiReference":"API-referens","method":"Metod","path":"V\xe4g","notes":"Anteckningar","modelPrefixes":"Modellprefix","prefix":"Prefix","troubleshooting":"Fels\xf6kning","supportsChat":"St\xf6der b\xe5de chatt- och svarsslutpunkter.","oauthAutoRefresh":"OAuth-anslutning med automatisk tokenuppdatering.","fullStreaming":"Fullst\xe4ndigt streamingst\xf6d f\xf6r alla modeller.","docsLabel":"Dokument","docsHeroDescription":"AI-gateway f\xf6r LLM:er med flera leverant\xf6rer. En slutpunkt f\xf6r OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor och 20+ leverant\xf6rer till.","openDashboard":"\xd6ppna Dashboard","endpointPage":"Slutpunktssida","github":"GitHub","reportIssue":"Rapportera problem","onThisPage":"P\xe5 den h\xe4r sidan","documentationVersion":"Dokumentation - v{version}","quickStartStep1Title":"1. Installera och k\xf6r","quickStartStep1Prefix":"K\xf6r","quickStartStep1Middle":"eller klona fr\xe5n GitHub och k\xf6r","quickStartStep2Title":"2. Skapa API-nyckel","quickStartStep2Text":"G\xe5 till Endpoint -> Registrerade nycklar. Generera en nyckel per milj\xf6.","quickStartStep3Title":"3. Anslut leverant\xf6rer","quickStartStep3Text":"L\xe4gg till leverant\xf6rskonton via OAuth-inloggning, API-nyckel eller automatisk anslutning p\xe5 fri niv\xe5.","quickStartStep4Title":"4. St\xe4ll in klientbasens URL","quickStartStep4Prefix":"Peka din IDE- eller API-klient till","quickStartStep4Suffix":"Anv\xe4nd till exempel leverant\xf6rsprefix","featureRoutingTitle":"Routing f\xf6r flera leverant\xf6rer","featureRoutingText":"Dirigera f\xf6rfr\xe5gningar till 30+ AI-leverant\xf6rer via en enda OpenAI-kompatibel slutpunkt. St\xf6der chatt, svar, ljud och bild-API:er.","featureCombosTitle":"Kombinationer och balansering","featureCombosText":"Skapa modellkombinationer med reservkedjor och balanseringsstrategier: round-robin, prioritet, slumpm\xe4ssigt, minst anv\xe4nda och kostnadsoptimerat.","featureUsageTitle":"Anv\xe4ndnings- och kostnadssp\xe5rning","featureUsageText":"Tokenr\xe4kning i realtid, kostnadsber\xe4kning per leverant\xf6r/modell och detaljerad anv\xe4ndningsuppdelning efter API-nyckel och konto.","featureAnalyticsTitle":"Analysinstrumentpanel","featureAnalyticsText":"Visuell analys med diagram f\xf6r f\xf6rfr\xe5gningar, tokens, fel, latens, kostnader och modellpopularitet \xf6ver tid.","featureHealthTitle":"H\xe4lso\xf6vervakning","featureHealthText":"Live h\xe4lsokontroller, leverant\xf6rsstatus, str\xf6mbrytartillst\xe5nd och automatisk hastighetsgr\xe4nsdetektering med exponentiell backoff.","featureCliTitle":"CLI-verktyg","featureCliText":"Hantera IDE-konfigurationer, exportera/importera s\xe4kerhetskopior, uppt\xe4ck codex-profiler och konfigurera inst\xe4llningar fr\xe5n instrumentpanelen.","featureSecurityTitle":"S\xe4kerhet och policyer","featureSecurityText":"API-nyckelautentisering, IP-filtrering, promptinjektionsskydd, dom\xe4npolicyer, sessionshantering och granskningsloggning.","featureCloudSyncTitle":"Molnsynkronisering","featureCloudSyncText":"Synkronisera din konfiguration med Cloudflare Workers f\xf6r fj\xe4rr\xe5tkomst med krypterade autentiseringsuppgifter och automatisk failover.","providersAcrossConnectionTypes":"{count} leverant\xf6rer \xf6ver tre anslutningstyper.","manageProviders":"Hantera leverant\xf6rer","providersCount":"{count} leverant\xf6rer","providerTypeFree":"Gratis niv\xe5","providerTypeOAuth":"OAuth","providerTypeApiKey":"API-nyckel","useCaseSingleEndpointTitle":"En enda slutpunkt f\xf6r m\xe5nga leverant\xf6rer","useCaseSingleEndpointText":"Peka klienter till en basadress och dirigera efter modellprefix (till exempel: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Reserv- och modellbyte med kombinationer","useCaseFallbackText":"Skapa kombinationsmodeller i Dashboard och h\xe5ll klientkonfigurationen stabil medan leverant\xf6rerna roterar internt.","useCaseUsageVisibilityTitle":"Anv\xe4ndning, kostnad och fels\xf6kningssynlighet","useCaseUsageVisibilityText":"Sp\xe5ra tokens och kostnader efter leverant\xf6r, konto och API-nyckel p\xe5 flikarna Anv\xe4ndning och Analytics.","clientCherryStudioTitle":"Cherry Studio","baseUrlLabel":"Bas-URL","chatEndpointLabel":"Chattslutpunkt","modelRecommendationLabel":"Modellrekommendation: explicit prefix","clientCodexTitle":"Codex / GitHub Copilot-modeller","clientCodexBullet1":"Anv\xe4nd modell-ID med","clientCodexBullet2":"Codex-familjens modeller dirigeras automatiskt till","clientCodexBullet3":"Icke-Codex-modeller forts\xe4tter","clientCursorTitle":"Mark\xf6r IDE","clientCursorBullet1":"Anv\xe4nd","clientCursorBullet1Suffix":"prefix f\xf6r Cursor-modeller.","clientCursorBullet2":"OAuth-anslutning - logga in fr\xe5n sidan Leverant\xf6rer.","clientClaudeTitle":"Claude Code / Antigravitation","clientClaudeBullet1Prefix":"Anv\xe4nd","clientClaudeBullet1Middle":"(Claude) eller","clientClaudeBullet1Suffix":"(Antigravitation) prefix.","endpointChatNote":"OpenAI-kompatibel chattslutpunkt (standard).","endpointResponsesNote":"Responses API-slutpunkt (Codex, o-serien).","endpointModelsNote":"Modellkatalog f\xf6r alla anslutna leverant\xf6rer.","endpointAudioNote":"Ljudtranskription (Deepgram, AssemblyAI).","endpointImagesNote":"Bildgenerering (NanoBanana).","endpointRewriteChatNote":"Omskrivningshj\xe4lp f\xf6r klienter utan /v1.","endpointRewriteResponsesNote":"Skriv om hj\xe4lpare f\xf6r svar utan /v1.","endpointRewriteModelsNote":"Omskrivningshj\xe4lp f\xf6r modelluppt\xe4ckt utan /v1.","modelPrefixesDescriptionStart":"Anv\xe4nd leverant\xf6rsprefixet f\xf6re modellnamnet f\xf6r att dirigera till en specifik leverant\xf6r. Exempel:","modelPrefixesDescriptionEnd":"rutter till GitHub Copilot.","provider":"Leverant\xf6r","type":"Typ","troubleshootingModelRouting":"Om klienten misslyckas med modellrouting, anv\xe4nd explicit leverant\xf6r/modell (till exempel: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Om du f\xe5r tvetydiga modellfel v\xe4ljer du ett leverant\xf6rsprefix ist\xe4llet f\xf6r ett blott modell-ID.","troubleshootingCodexFamily":"F\xf6r GitHub Codex-familjens modeller, beh\xe5ll modellen som gh/<codex-model>; routern v\xe4ljer /svarar automatiskt.","troubleshootingTestConnection":"Anv\xe4nd Dashboard > Leverant\xf6rer > Testa anslutning innan du testar fr\xe5n IDE:er eller externa klienter.","troubleshootingCircuitBreaker":"Om en leverant\xf6r visar att str\xf6mbrytaren \xe4r \xf6ppen, v\xe4nta p\xe5 nedkylning eller kolla Health-sidan f\xf6r detaljer.","troubleshootingOAuth":"F\xf6r OAuth-leverant\xf6rer, autentisera p\xe5 nytt om tokens l\xf6per ut. Kontrollera leverant\xf6rskortets statusindikator."},"legal":{"privacyPolicy":"Sekretesspolicy","termsOfService":"Anv\xe4ndarvillkor","providerConfigurations":"Leverant\xf6rskonfigurationer","apiKeys":"API-nycklar","usageLogs":"Anv\xe4ndningsloggar","applicationSettings":"Applikationsinst\xe4llningar","viewExportAnalytics":"Visa och exportera anv\xe4ndningsanalyser","clearHistory":"Rensa anv\xe4ndningshistorik n\xe4r som helst","configureRetention":"Konfigurera logglagringspolicyer","backupRestore":"S\xe4kerhetskopiera och \xe5terst\xe4ll din databas","privacyMetadataTitle":"Sekretesspolicy | OmniRoute","privacyMetadataDescription":"Sekretesspolicy f\xf6r OmniRoute AI API-proxyroutern.","termsMetadataTitle":"Anv\xe4ndarvillkor | OmniRoute","termsMetadataDescription":"Anv\xe4ndarvillkor f\xf6r OmniRoute AI API-proxyroutern.","backToHome":"Tillbaka till hemmet","lastUpdated":"Senast uppdaterad: {date}","policyLastUpdatedDate":"13 februari 2026","listSeparator":"-","questionsVisit":"Fr\xe5gor? Bes\xf6k v\xe5r","githubRepository":"GitHub-f\xf6rr\xe5d","privacySection1Title":"1. Lokal-f\xf6rst arkitektur","privacySection1Text":"OmniRoute \xe4r designad som en lokal-f\xf6rst-applikation. All databehandling och lagring sker helt och h\xe5llet p\xe5 din maskin. Det finns ingen centraliserad server som samlar in din information.","privacySection2Title":"2. Data vi lagrar","privacyDataStoredIn":"F\xf6ljande data lagras lokalt i","privacyDataProviderConfigurationsDesc":"anslutningsadresser, leverant\xf6rstyper och prioritetsinst\xe4llningar","privacyDataApiKeysDesc":"krypterad och lagrad lokalt f\xf6r autentisering med AI-leverant\xf6rer","privacyDataUsageLogsDesc":"antal beg\xe4randen, tokenanv\xe4ndning, modellnamn, tidsst\xe4mplar och svarstider","privacyDataApplicationSettingsDesc":"temapreferenser, routingstrategi och kombinationskonfigurationer","privacySection3Title":"3. Ingen telemetri","privacySection3Text":"OmniRoute samlar inte in telemetri-, analys- eller kraschrapporter. Ingen data skickas till oss eller n\xe5gon tredje part. Dina anv\xe4ndningsm\xf6nster, API-anrop och konfigurationer f\xf6rblir helt privata.","privacySection4Title":"4. Tredjeparts AI-leverant\xf6rer","privacySection4Text":"N\xe4r du g\xf6r API-anrop via OmniRoute vidarebefordras dina f\xf6rfr\xe5gningar till de AI-leverant\xf6rer du har konfigurerat (till exempel: OpenAI, Anthropic, Google). Dessa leverant\xf6rer har sina egna integritetspolicyer som styr hur de hanterar din data. V\xe4nligen granska:","privacyOpenAiPolicy":"OpenAI Sekretesspolicy","privacyAnthropicPolicy":"Antropisk sekretesspolicy","privacyGooglePolicy":"Googles sekretesspolicy","privacySection5Title":"5. Molnsynkronisering (valfritt)","privacySection5Text":"Om du aktiverar den valfria molnsynkroniseringsfunktionen kan leverant\xf6rskonfigurationer och API-nycklar \xf6verf\xf6ras till en konfigurerad molnslutpunkt. Den h\xe4r funktionen \xe4r inaktiverad som standard och kr\xe4ver explicit opt-in.","privacySection6Title":"6. Loggning","privacyLoggingIntro":"Beg\xe4ran loggar kan konfigureras via instrumentpanelens inst\xe4llningar. Du kan:","privacySection7Title":"7. Dina r\xe4ttigheter","privacySection7TextStart":"Eftersom all data lagras lokalt har du full kontroll. Du kan radera dina uppgifter n\xe4r som helst genom att ta bort","privacySection7TextEnd":"katalogen eller anv\xe4nda funktionerna f\xf6r s\xe4kerhetskopiering och \xe5terst\xe4llning av databasen i instrumentpanelen.","termsSection1Title":"1. \xd6versikt","termsSection1Text":"OmniRoute \xe4r en lokalt f\xf6rsta AI API-proxyrouter som fungerar helt p\xe5 din maskin. Den dirigerar f\xf6rfr\xe5gningar till flera AI-leverant\xf6rer med lastbalansering, failover och anv\xe4ndningssp\xe5rning.","termsSection2Title":"2. Anv\xe4ndaransvar","termsResponsibilityApiKeys":"Du \xe4r ensam ansvarig f\xf6r att hantera dina egna API-nycklar och autentiseringsuppgifter f\xf6r tredjeparts AI-leverant\xf6rer (OpenAI, Anthropic, Google, etc.).","termsResponsibilityCompliance":"Du m\xe5ste f\xf6lja anv\xe4ndarvillkoren f\xf6r varje AI-leverant\xf6r vars API du kommer \xe5t via OmniRoute.","termsResponsibilitySecurity":"Du ansvarar f\xf6r s\xe4kerheten f\xf6r din lokala OmniRoute-installation, inklusive att st\xe4lla in ett l\xf6senord och begr\xe4nsa n\xe4tverks\xe5tkomst.","termsSection3Title":"3. Hur det fungerar","termsSection3Text":"OmniRoute fungerar som en f\xf6rmedlande proxy. API-anrop som skickas till OmniRoute \xf6vers\xe4tts och vidarebefordras till dina konfigurerade AI-leverant\xf6rer. OmniRoute \xe4ndrar inte inneh\xe5llet i dina f\xf6rfr\xe5gningar eller svar ut\xf6ver den n\xf6dv\xe4ndiga protokoll\xf6vers\xe4ttningen.","termsSection4Title":"4. Datahantering","termsDataStoredLocally":"All data lagras lokalt p\xe5 din maskin i en SQLite-databas.","termsNoTransmission":"OmniRoute \xf6verf\xf6r ingen data till externa servrar om du inte uttryckligen aktiverar molnsynkroniseringsfunktioner.","termsDataLocationText":"Anv\xe4ndningsloggar, API-nycklar och konfiguration lagras i","termsSection5Title":"5. Ansvarsfriskrivning","termsSection5Text":"OmniRoute tillhandah\xe5lls \\"i befintligt skick\\" utan garanti av n\xe5got slag. Vi ansvarar inte f\xf6r n\xe5gra kostnader som uppst\xe5r genom API-anv\xe4ndning, tj\xe4nstavbrott eller dataf\xf6rlust. Beh\xe5ll alltid s\xe4kerhetskopior av din konfiguration.","termsSection6Title":"6. \xd6ppen k\xe4llkod","termsSection6Text":"OmniRoute \xe4r programvara med \xf6ppen k\xe4llkod. Du \xe4r fri att inspektera, modifiera och distribuera den enligt villkoren i dess licens."}}')}};