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=8220,exports.ids=[8220],exports.modules={88220:a=>{a.exports=JSON.parse('{"common":{"save":"Lagre","cancel":"Avbryt","delete":"Slett","loading":"Laster inn...","error":"Det oppsto en feil","success":"Suksess","confirm":"Er du sikker?","refresh":"Oppdater","close":"Lukk","add":"Legg til","edit":"Rediger","search":"S\xf8k","back":"Tilbake","next":"Neste","submit":"Send inn","reset":"Tilbakestill","copy":"Kopier","copied":"Kopiert!","enabled":"Aktivert","disabled":"Deaktivert","active":"Aktiv","inactive":"Inaktiv","noData":"Ingen data tilgjengelig","configure":"Konfigurer","manage":"Administrer","name":"Navn","actions":"Handlinger","status":"Status","type":"Type","model":"Modell","models":"modeller","provider":"Leverand\xf8r","account":"Konto","time":"Tid","details":"Detaljer","created":"Opprettet","lastUsed":"Sist brukt","loadMore":"Last inn mer","noResults":"Ingen resultater funnet","reloadPage":"Last inn siden p\xe5 nytt","connected":"Tilkoblet","disconnected":"Koblet fra","notConfigured":"Ikke konfigurert","testConnection":"Test tilkobling","enable":"Aktiver","disable":"Deaktiver","columns":"Kolonner","newest":"Nyeste","oldest":"Eldst","all":"Alle","none":"Ingen","yes":"Ja","no":"Nei","warning":"Advarsel","note":"Merk","free":"Gratis","skipToContent":"G\xe5 til innhold"},"sidebar":{"home":"Hjem","dashboard":"Dashbord","providers":"Leverand\xf8rer","combos":"Combos","usage":"Bruk","analytics":"Analytics","costs":"Kostnader","health":"Helse","limits":"Grenser og kvoter","cliTools":"CLI-verkt\xf8y","settings":"Innstillinger","translator":"Oversetter","docs":"Dokumenter","issues":"Problemer","endpoint":"Endepunkt","apiManager":"API-behandler","logs":"Logger","auditLog":"Revisjonslogg","shutdown":"Avslutning","restart":"Start p\xe5 nytt","shutdownConfirm":"Sl\xe5 av OmniRoute?","restartConfirm":"Starte OmniRoute p\xe5 nytt?","version":"v{version}","debug":"Feils\xf8k","system":"System","help":"Hjelp","serverDisconnected":"Server frakoblet","serverDisconnectedMsg":"Proxy-serveren er stoppet eller starter p\xe5 nytt.","expandSidebar":"Utvid sidefeltet","collapseSidebar":"Skjul sidefeltet"},"header":{"logout":"Logg ut","language":"Spr\xe5k","providers":"Leverand\xf8rer","providerDescription":"Administrer AI-leverand\xf8rtilkoblingene dine","combos":"Combos","comboDescription":"Modellkombinasjoner med fallback","usage":"Bruk og analyse","usageDescription":"Overv\xe5k API-bruken din, tokenforbruk og foresp\xf8rselslogger","analytics":"Analytics","analyticsDescription":"Diagrammer, trender og evalueringsinnsikt","cliTools":"CLI-verkt\xf8y","cliToolsDescription":"Konfigurer CLI-verkt\xf8y","home":"Hjem","homeDescription":"Velkommen til OmniRoute","endpoint":"Endepunkt","endpointDescription":"API-endepunktkonfigurasjon","settings":"Innstillinger","settingsDescription":"Administrer dine preferanser","openaiCompatible":"OpenAI-kompatibel","anthropicCompatible":"Antropisk kompatibel"},"home":{"quickStart":"Rask start","quickStartDesc":"Kom i gang i 4 trinn. Koble til leverand\xf8rer, rutemodeller, overv\xe5k alt.","fullDocs":"Fulle dokumenter","step1Title":"1. Opprett API-n\xf8kkel","step1Desc":"G\xe5 til <endpoint>Endpoint</endpoint> -> Registrerte n\xf8kler. Generer \xe9n n\xf8kkel per milj\xf8.","step2Title":"2. Koble til leverand\xf8rer","step2Desc":"Legg til kontoer i <providers>Providers</providers>. St\xf8tter OAuth, API Key og gratis niv\xe5er.","step3Title":"3. Pek klienten din","step3Desc":"Angi basis-URL til {url} i IDE- eller API-klienten.","step4Title":"4. Overv\xe5k og optimaliser","step4Desc":"Spor tokens, kostnader og feil i <logs>Request Logs</logs> og <analytics>Analytics</analytics>.","providersOverview":"Oversikt over leverand\xf8rer","configuredOf":"{configured} konfigurert av {total} tilgjengelige leverand\xf8rer","noModelsAvailable":"Ingen modeller tilgjengelig for denne leverand\xf8ren.","configureFirst":"Konfigurer en tilkobling f\xf8rst i {providers}","configureProvider":"Konfigurer leverand\xf8r","modelAvailable":"{count} modell tilgjengelig","modelsAvailable":"{count} modeller tilgjengelig","connectionsActive":"{count} tilkobling aktiv","connectionsActivePlural":"{count} tilkoblinger aktive","copyModelName":"Kopier modellnavnet","documentation":"Dokumentasjon","healthMonitor":"Helsemonitor","reportIssue":"Rapporter problem","activeError":"{active} aktiv \xb7 {errors} feil","oauthLabel":"OAuth","apiKeyLabel":"API-n\xf8kkel","requestsShort":"{count} req","providerModelsTitle":"{provider} - Modeller","copiedModel":"Kopiert: {model}","aliasLabel":"alias"},"analytics":{"title":"Analytics","overviewDescription":"Overv\xe5k API-bruksm\xf8nstre, tokenforbruk, kostnader og aktivitetstrender p\xe5 tvers av alle leverand\xf8rer og modeller.","evalsDescription":"Kj\xf8r evalueringspakker for \xe5 teste og validere LLM-endepunktene dine. Sammenlign modellkvalitet, registrer regresjoner og benchmark latens.","overview":"Oversikt","evals":"Evals"},"apiManager":{"title":"API-n\xf8kler","createKey":"Opprett API-n\xf8kkel","key":"N\xf8kkel","revokeKey":"Tilbakekall n\xf8kkel","revokeConfirm":"Er du sikker p\xe5 at du vil tilbakekalle denne API-n\xf8kkelen?","noKeys":"Ingen API-n\xf8kler enn\xe5","noKeysDesc":"Lag din f\xf8rste API-n\xf8kkel for \xe5 autentisere foresp\xf8rsler til endepunktet ditt","keyLabel":"N\xf8kkeletikett","permissions":"Tillatelser","expiresAt":"Utl\xf8per","never":"Aldri","revoke":"Oppheve","showKey":"Vis n\xf8kkel","hideKey":"Skjul n\xf8kkel","copyKey":"Kopier API-n\xf8kkel","allModels":"Alle modeller","selectedModels":"Utvalgte modeller","readOnly":"Kun lesetilgang","fullAccess":"Full tilgang","keyManagement":"API Key Management","keyManagementDesc":"Opprett og administrer API-n\xf8kler for autentisering av foresp\xf8rsler til endepunktet ditt","totalKeys":"Totaln\xf8kler","restricted":"Begrenset","totalRequests":"Totalt antall foresp\xf8rsler","modelsAvailable":"Modeller tilgjengelig","registeredKeys":"Registrerte n\xf8kler","keysRegistered":"{count} n\xf8kler registrert","keyRegistered":"{count} n\xf8kkel registrert","keysSecurityNote":"Hver n\xf8kkel isolerer brukssporing og kan trekkes tilbake uavhengig. N\xf8kler er maskert etter opprettelse for sikkerhet.","createFirstKey":"Lag din f\xf8rste n\xf8kkel","name":"Navn","usage":"Bruk","created":"Opprettet","actions":"Handlinger","reqs":"krav","neverUsed":"Aldri brukt","deleteConfirm":"Vil du slette denne API-n\xf8kkelen?","usageTips":"Brukstips","tipAuth":"Bruk API-n\xf8kler i autorisasjonsoverskriften som b\xe6rer DIN_KEY","tipSecure":"N\xf8kler vises bare \xe9n gang under opprettelsen – oppbevar dem sikkert","tipSeparate":"Lag separate n\xf8kler for forskjellige klienter eller milj\xf8er","tipRestrict":"Begrens n\xf8kler til spesifikke modeller for bedre sikkerhet og kostnadskontroll","keyName":"N\xf8kkelnavn","keyNamePlaceholder":"f.eks. produksjonsn\xf8kkel, utviklingsn\xf8kkel","keyNameDesc":"Velg et beskrivende navn for \xe5 identifisere form\xe5let med denne n\xf8kkelen","keyCreated":"API-n\xf8kkel opprettet","keyCreatedSuccess":"N\xf8kkel ble opprettet!","keyCreatedNote":"Kopier og lagre denne n\xf8kkelen n\xe5 – den vises ikke igjen.","done":"Ferdig","savePermissions":"Lagre tillatelser","allowAll":"Tillat alle","restrict":"Begrens","allowAllInfo":"Denne n\xf8kkelen har tilgang til alle tilgjengelige modeller.","restrictInfo":"Denne n\xf8kkelen har tilgang til {selected} av {total}-modeller.","selected":"{count} valgt","all":"Alle","clear":"Klart","searchModels":"S\xf8k etter modeller etter navn eller leverand\xf8r...","noModelsFound":"Ingen modeller funnet","keyNameRequired":"N\xf8kkelnavn er p\xe5krevd","keyNameTooLong":"N\xf8kkelnavnet m\xe5 v\xe6re {max} tegn eller mindre","keyNameInvalid":"N\xf8kkelnavn kan bare inneholde bokstaver, tall, mellomrom, bindestreker og understreker","invalidKeyName":"Ugyldig n\xf8kkelnavn","failedCreateKey":"Kunne ikke opprette n\xf8kkel","failedCreateKeyRetry":"Kunne ikke opprette n\xf8kkel. Vennligst pr\xf8v igjen.","invalidKeyId":"Ugyldig n\xf8kkel-ID","failedDeleteKey":"Kunne ikke slette n\xf8kkelen","failedDeleteKeyRetry":"Kunne ikke slette n\xf8kkelen. Vennligst pr\xf8v igjen.","invalidModelsSelection":"Ugyldig modellvalg","cannotSelectMoreThanModels":"Kan ikke velge mer enn {max} modeller","failedUpdatePermissions":"Kunne ikke oppdatere tillatelser","failedUpdatePermissionsRetry":"Kunne ikke oppdatere tillatelser. Vennligst pr\xf8v igjen.","unknownProvider":"ukjent","copyMaskedKey":"Kopier maskert n\xf8kkel","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Siste: {date}","editPermissions":"Rediger tillatelser","deleteKey":"Slett n\xf8kkel","model":"{count} modell","models":"{count} modeller","permissionsTitle":"Tillatelser: {name}","allowAllDesc":"Denne n\xf8kkelen har tilgang til alle tilgjengelige modeller.","restrictDesc":"Denne n\xf8kkelen har tilgang til {selectedCount} av {totalModels}-modeller.","selectedCount":"{count} valgt"},"auditLog":{"title":"Revisjonslogg","searchPlaceholder":"S\xf8kehandlinger...","action":"Handling","actor":"Skuespiller","target":"M\xe5l","ipAddress":"IP-adresse","timestamp":"Tidsstempel","noEntries":"Ingen revisjonsoppf\xf8ringer funnet","filterByAction":"Filtrer etter handling...","filterByActor":"Filtrer etter skuespiller...","filterEntriesAria":"Filtrer revisjonsloggoppf\xf8ringer","filterByActionTypeAria":"Filtrer etter handlingstype","filterByActorAria":"Filtrer etter skuespiller","refreshAuditLogAria":"Oppdater revisjonslogg","tableAria":"Revisjonsloggoppf\xf8ringer","failedFetchAuditLog":"Kunne ikke hente revisjonsloggen","notAvailable":"—","description":"Administrative handlinger og sikkerhetshendelser","showing":"Viser {count} oppf\xf8ringer (offset {offset})","previous":"Forrige"},"cliTools":{"title":"CLI-verkt\xf8y","noActiveProviders":"Ingen aktive tilbydere","noActiveProvidersDesc":"Vennligst legg til og koble til leverand\xf8rer f\xf8rst for \xe5 konfigurere CLI-verkt\xf8y.","mapModels":"Kartmodeller","testConnection":"Test tilkobling","connectionStatus":"Tilkoblingsstatus","configureEndpoint":"Konfigurer endepunkt","instructions":"Instruksjoner","modelMapping":"Modellkartlegging","baseUrl":"Base URL","apiKey":"API-n\xf8kkel","configured":"Konfigurert","notConfigured":"Ikke konfigurert","notInstalled":"Ikke installert","custom":"Egendefinert","unknown":"Ukjent","lastSavedAt":"Sist lagret: {date}","never":"Aldri","justNow":"akkurat n\xe5","minutesAgoShort":"{count}m siden","hoursAgoShort":"{count}t siden","daysAgoShort":"{count}d siden","monthsAgoShort":"{count}mnd siden","yearsAgoShort":"{count}y siden","runtimeCheckFailed":"Kj\xf8retidssjekk mislyktes","yourApiKeyPlaceholder":"din-api-n\xf8kkelen","modelPlaceholder":"leverand\xf8r/modell-id","configurationSaved":"Konfigurasjonen er lagret.","failedToSave":"Kunne ikke lagre konfigurasjonen.","noApiKeysCreateOne":"Ingen API-n\xf8kler – Opprett en p\xe5 N\xf8kler-siden","defaultOmnirouteKey":"sk_omniroute (standard)","selectModel":"Velg modell","selectModelForAlias":"Velg modell for {alias}","selectModelForTool":"Velg modell for {tool}","select":"Velg","clear":"Klart","comingSoon":"Kommer snart","checkingRuntime":"Sjekker kj\xf8retidsstatus ...","guideOnlyIntegration":"Integrasjon kun for guide (ingen lokal kj\xf8retid kreves)","cliRuntimeDetected":"CLI kj\xf8retid oppdaget og klar","cliFoundNotRunnable":"CLI funnet, men ikke kj\xf8rbar{reason}","cliRuntimeNotDetected":"CLI kj\xf8retid ikke oppdaget","binary":"Bin\xe6r","configPath":"Konfigurasjonsbane","configPathShort":"Konfig","failedCheckRuntimeStatus":"Kunne ikke sjekke kj\xf8retidsstatus.","copy":"Kopier","copied":"Kopiert","copyConfig":"Kopier konfig","saveConfig":"Lagre konfig","selectionSaved":"Utvalget lagret","guide":"Veiledning","detected":"Oppdaget","notReady":"Ikke klar","active":"Aktiv","inactive":"Inaktiv","startMitm":"Start MITM","stopMitm":"Stopp MITM","mitmStarted":"MITM startet vellykket!","mitmStopped":"MITM stoppet vellykket!","failedStart":"Kunne ikke starte MITM","failedStop":"Kunne ikke stoppe MITM","saveMappings":"Lagre tilordninger","mappingsSaved":"Kartene er lagret!","failedSaveMappings":"Kunne ikke lagre tilordninger","howItWorks":"Slik fungerer det:","antigravityHowWorksDesc":"Antigravity sender foresp\xf8rsler til Googles endepunkt. MITM avskj\xe6rer og omdirigerer dem til OmniRoute.","antigravityStep1":"1. Start MITM for \xe5 rute foresp\xf8rsler gjennom OmniRoute.","antigravityStep2Prefix":"2. Legg til","antigravityStep2Suffix":"til vertsfilen din som 127.0.0.1.","antigravityStep3":"3. \xc5pne Antigravity og foresp\xf8rsler vil bli fullf\xf8rt.","sudoPasswordRequiredTitle":"Sudo-passord kreves","sudoPasswordHint":"Administratorpassord kreves for \xe5 endre vertsfil og systemproxyinnstillinger.","enterSudoPassword":"Skriv inn sudo-passord","sudoPasswordRequiredError":"Sudo-passord kreves.","cancel":"Avbryt","confirm":"Bekreft","settingsApplied":"Innstillingene ble brukt!","failedApplySettings":"Kunne ikke bruke innstillingene","settingsReset":"Innstillinger tilbakestilt!","failedResetSettings":"Kunne ikke tilbakestille innstillingene","backupRestored":"Sikkerhetskopien gjenopprettet!","failedRestore":"Kunne ikke gjenopprette","checkingCli":"Sjekker {tool} CLI...","cliNotRunnable":"{tool} CLI installert, men ikke kj\xf8rbar","cliNotInstalled":"{tool} CLI ikke installert","cliNotDetected":"{tool} CLI ikke oppdaget","cliDetectedReady":"{tool} CLI oppdaget og klar","cliFoundFailedHealthcheck":"{tool} CLI ble funnet, men mislyktes med kj\xf8retidshelsesjekk{reason}.","installCliPrompt":"Installer {tool} CLI for \xe5 bruke denne funksjonen.","installCodexPrompt":"Installer Codex CLI for \xe5 bruke funksjonen for automatisk bruk.","hide":"Skjul","howToInstall":"Hvordan installere","installationGuide":"Installasjonsveiledning","platforms":"macOS / Linux / Windows:","afterInstallationRun":"Etter installasjon, kj\xf8r","toVerify":"\xe5 verifisere.","current":"Gjeldende","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Tilbakestill til standard","providerModelPlaceholder":"leverand\xf8r/modell-id","apply":"S\xf8k","reset":"Tilbakestill","manualConfig":"Manuell konfig","backups":"Sikkerhetskopier","configBackups":"Konfigurer sikkerhetskopier","noBackupsYet":"Ingen sikkerhetskopier enn\xe5. Sikkerhetskopier opprettes automatisk f\xf8r hver bruk eller tilbakestilling.","restore":"Gjenopprett","backupRestoredReloading":"Sikkerhetskopien gjenopprettet! Laster inn status p\xe5 nytt ...","failedRestoreBackup":"Kunne ikke gjenopprette sikkerhetskopien","applied":"S\xf8kt!","failed":"Mislyktes","resetDone":"Tilbakestill!","omnirouteConfiguredOpenAiCompatible":"OmniRoute er konfigurert som OpenAI-kompatibel leverand\xf8r","provider":"Leverand\xf8r","model":"Modell","providers":"Leverand\xf8rer","auth":"Auth","noApiKeysAvailable":"Ingen API-n\xf8kler tilgjengelig","usingDefaultOmniroute":"Bruker standard: sk_omniroute","updateConfig":"Oppdater konfig","applyConfig":"Bruk Config","noBackupsAvailable":"Ingen sikkerhetskopier tilgjengelig.","profileSaved":"Profilen \\"{name}\\" er lagret!","failedSaveProfile":"Kunne ikke lagre profilen","profileActivated":"Profil aktivert!","failedActivateProfile":"Kunne ikke aktivere profilen","profiles":"Profiler","savedProfiles":"Lagrede profiler","noProfilesYet":"Ingen profiler er lagret enn\xe5. Lagre gjeldende konfigurasjon som en profil nedenfor.","activate":"Aktiver","deleteProfile":"Slett profil","profileNamePlaceholder":"Profilnavn (f.eks. personlig konto)","saveCurrent":"Lagre gjeldende","codexAuthNotePrefix":"Codex bruker","codexAuthNoteMiddle":"med","codexAuthNoteSuffix":"Klikk \\"Bruk\\" for \xe5 konfigurere automatisk.","claudeManualConfiguration":"Claude CLI - Manuell konfigurasjon","codexManualConfiguration":"Codex CLI - Manual Configuration","droidManualConfiguration":"Factory Droid - Manuell konfigurasjon","openClawManualConfiguration":"\xc5pne Claw - Manuell konfigurasjon","clineManualConfiguration":"Cline manuell konfigurasjon","kiloManualConfiguration":"Kilokode manuell konfigurasjon","toolDescriptions":{"antigravity":"Google Antigravity IDE med MITM","claude":"Antropisk Claude Code CLI","codex":"OpenAI Codex CLI","droid":"Factory Droid AI Assistant","openclaw":"\xc5pne Claw AI Assistant","cline":"Cline AI-kodingsassistent CLI","kilo":"Kilokode AI Assistant CLI","cursor":"Cursor AI Code Editor","continue":"Fortsett AI Assistant"},"guides":{"cursor":{"notes":{"0":"Krever Cursor Pro-konto for \xe5 bruke denne funksjonen.","1":"Mark\xf8ren ruter foresp\xf8rsler gjennom sin egen server, s\xe5 lokalt endepunkt st\xf8ttes ikke. Aktiver Cloud Endpoint i Innstillinger."},"steps":{"1":{"title":"\xc5pne Innstillinger","desc":"G\xe5 til Innstillinger -> Modeller"},"2":{"title":"Aktiver OpenAI API","desc":"Aktiver alternativet \\"OpenAI API-n\xf8kkel\\"."},"3":{"title":"Base URL"},"4":{"title":"API-n\xf8kkel"},"5":{"title":"Legg til egendefinert modell","desc":"Klikk \\"Vis alle modeller\\" -> \\"Legg til egendefinert modell\\""},"6":{"title":"Velg modell"}}},"continue":{"steps":{"1":{"title":"\xc5pne Config","desc":"\xc5pne Fortsett konfigurasjonsfil"},"2":{"title":"API-n\xf8kkel"},"3":{"title":"Velg modell"},"4":{"title":"Legg til modellkonfig","desc":"Legg til f\xf8lgende konfigurasjon til modellarrayet ditt:"}}}}},"combos":{"title":"Combos","description":"Lag modellkombinasjoner med vektet ruting og reservest\xf8tte","createCombo":"Opprett kombinasjon","editCombo":"Rediger kombinasjon","deleteCombo":"Slett kombinasjon","noModels":"Ingen modeller","noModelsYet":"Ingen modeller lagt til enn\xe5","addModel":"Legg til modell","addModelToCombo":"Legg til modell i kombinasjon","routingStrategy":"Rutingstrategi","maxRetries":"Max pr\xf8ver p\xe5 nytt","timeout":"Tidsavbrudd (ms)","healthcheck":"Helsesjekk","priority":"Prioritet","fallback":"Tilbakeslag","roundRobin":"Round Robin","random":"Tilfeldig","leastLatency":"Minste ventetid","comboName":"Kombinasjonsnavn","comboNamePlaceholder":"min-kombo","deleteConfirm":"Vil du slette denne kombinasjonen?","noCombosYet":"Ingen kombinasjoner enn\xe5","comboCreated":"Kombinasjonen ble opprettet","comboUpdated":"Kombinasjonen ble oppdatert","comboDeleted":"Combo slettet","failedCreate":"Kunne ikke opprette kombinasjon","failedUpdate":"Kunne ikke oppdatere kombinasjonen","errorCreating":"Feil ved opprettelse av kombinasjon","errorUpdating":"Feil ved oppdatering av kombinasjon","errorDeleting":"Feil ved sletting av kombinasjon","testFailed":"Testforesp\xf8rsel mislyktes","failedToggle":"Kunne ikke bytte kombinasjon","testResults":"Testresultater — {name}","resolvedBy":"L\xf8st av:","more":"+{count} til","reqs":"krav","success":"suksess","proxyConfigured":"Proxy konfigurert","copyComboName":"Kopier kombinasjonsnavnet","enableCombo":"Aktiver kombinasjon","disableCombo":"Deaktiver kombinasjon","testCombo":"Testkombo","duplicate":"Duplikat","proxyConfig":"Proxy-konfigurasjon","nameRequired":"Navn er p\xe5krevd","nameInvalid":"Bare bokstaver, tall, -, _, / og . tillatt","nameHint":"Bokstaver, tall, -, _, / og . tillatt","priorityDesc":"Sekvensiell fallback: pr\xf8ver modell 1 f\xf8rst, deretter 2 osv.","weightedDesc":"Fordeler trafikk etter vektprosent med reserve","roundRobinDesc":"Sirkul\xe6r fordeling: hver foresp\xf8rsel g\xe5r til neste modell i rotasjon","randomDesc":"Ensartet tilfeldig valg, deretter fallback til gjenv\xe6rende modeller","leastUsedDesc":"Velger modellen med f\xe6rrest foresp\xf8rsler, og balanserer belastningen over tid","costOptimizedDesc":"Ruter til den billigste modellen f\xf8rst basert p\xe5 priser","models":"Modeller","autoBalance":"Autobalanse","advancedSettings":"Avanserte innstillinger","retryDelay":"Forsinkelse p\xe5 nytt (ms)","concurrencyPerModel":"Samtidighet / modell","queueTimeout":"Tidsavbrudd for k\xf8 (ms)","advancedHint":"La st\xe5 tomt for \xe5 bruke globale standardinnstillinger. Disse overstyrer innstillingene per leverand\xf8r.","moveUp":"Flytt opp","moveDown":"Flytt ned","removeModel":"Fjern","saving":"Lagrer...","weighted":"Vektet","leastUsed":"Minst brukt","costOpt":"Cost-Opt"},"costs":{"title":"Kostnader","budget":"Budsjett","totalCost":"Total kostnad","breakdown":"Kostnadsfordeling","noData":"Ingen kostnadsdata","byModel":"Etter modell","byProvider":"Av leverand\xf8r"},"endpoint":{"title":"API-endepunkt","available":"Tilgjengelige endepunkter","cloudProxy":"Cloud Proxy","disableConfirm":"Er du sikker p\xe5 at du vil deaktivere skyproxy?","baseUrl":"Base URL","apiKeyLabel":"API-n\xf8kkel","registeredKeys":"Registrerte n\xf8kler","chatCompletions":"Chatfullf\xf8ringer","responses":"Svar","listModels":"Liste over modeller","usingCloudProxy":"Bruker Cloud Proxy","usingLocalServer":"Bruker lokal server","machineId":"Maskin-ID: {id}...","disableCloud":"Deaktiver Cloud","enableCloud":"Aktiver Cloud","modelsAcrossEndpoints":"{models} modeller p\xe5 tvers av {endpoints} endepunkter","chatDesc":"Streaming og ikke-streaming chat med alle leverand\xf8rer","embeddings":"Innst\xf8pinger","embeddingsDesc":"Tekstinnbygging for s\xf8k og RAG-r\xf8rledninger","imageGeneration":"Bildegenerering","imageDesc":"Generer bilder fra tekstmeldinger","rerank":"Ranger p\xe5 nytt","rerankDesc":"Ranger dokumenter p\xe5 nytt etter relevans for en sp\xf8rring","audioTranscription":"Lydtranskripsjon","audioTranscriptionDesc":"Transkribere lydfiler til tekst (Whisper)","textToSpeech":"Tekst til tale","textToSpeechDesc":"Konverter tekst til tale med naturlig lyd","moderations":"Moderasjoner","moderationsDesc":"Innholdsmoderering og sikkerhetsklassifisering","enableCloudTitle":"Aktiver Cloud Proxy","whatYouGet":"Hva du vil f\xe5","cloudBenefitAccess":"F\xe5 tilgang til API-en din fra hvor som helst i verden","cloudBenefitShare":"Del enkelt endepunkt med teamet ditt","cloudBenefitPorts":"Du trenger ikke \xe5 \xe5pne porter eller konfigurere brannmur","cloudBenefitEdge":"Rask globalt kantnettverk","cloudSessionNote":"Cloud vil beholde godkjennings\xf8kten din i 1 dag. Hvis den ikke brukes, slettes den automatisk.","cloudUnstableNote":"Cloud er for \xf8yeblikket ustabil med Claude Code OAuth i noen tilfeller.","cloudConnected":"Cloud Proxy tilkoblet!","connectingToCloud":"Kobler til skyen ...","verifyingConnection":"Bekrefter tilkoblingen …","connecting":"Kobler til...","verifying":"Bekrefter...","connected":"Tilkoblet!","disableCloudTitle":"Deaktiver Cloud Proxy","disableWarning":"Alle autentiserings\xf8kter vil bli slettet fra skyen.","syncingData":"Synkroniserer siste data ...","disablingCloud":"Deaktiverer skyen …","syncing":"Synkroniserer...","disabling":"Deaktiverer...","cloudConnectedVerified":"Cloud Proxy tilkoblet og bekreftet!","connectedVerificationPending":"Tilkoblet — bekreftelse venter","connectedVerificationPendingWithError":"Tilkoblet — bekreftelse venter: {error}","cloudDisabledSuccess":"Cloud deaktivert","syncedSuccess":"Synkronisert vellykket","failedDisable":"Kunne ikke deaktivere skyen","failedEnable":"Kunne ikke aktivere skyen","cloudRequestTimeout":"Tidsavbrudd for skyforesp\xf8rsel","cloudRequestFailed":"Skyforesp\xf8rsel mislyktes","cloudWorkerUnreachable":"Kunne ikke n\xe5 skyarbeideren. S\xf8rg for at skytjenesten kj\xf8rer (npm kj\xf8r dev in /cloud).","connectionFailed":"Tilkobling mislyktes","syncFailed":"Kunne ikke synkronisere skydata","providerModelsTitle":"{provider} — Modeller","noModelsForProvider":"Ingen modeller tilgjengelig for denne leverand\xf8ren.","chat":"Chat","embedding":"Innebygging","image":"Bilde","custom":"tilpasset","modelsCount":"{count, plural, one {# model} other {# models}}"},"health":{"title":"Systemhelse","description":"Sanntidsoverv\xe5king av din OmniRoute-forekomst","healthy":"Sunn","degraded":"Degradert","down":"Ned","uptime":"Oppetid","memory":"Minne","memoryRss":"Minne (RSS)","heap":"Heap","cpu":"CPU","database":"Database","version":"Versjon","lastCheck":"Siste sjekk","providerHealth":"Leverand\xf8rhelse","systemMetrics":"Systemm\xe5linger","tokenHealth":"Token Health","refreshAll":"Oppdater alle","checkNow":"Sjekk n\xe5","loadingHealth":"Laster inn helsedata ...","failedToLoad":"Kunne ikke laste inn helsedata: {error}","retry":"Pr\xf8v p\xe5 nytt","allOperational":"Alle systemer i drift","issuesDetected":"Systemproblemer oppdaget","updatedAt":"Oppdatert {time}","latency":"Latens","latencyP50":"p50","latencyP95":"s95","latencyP99":"s99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Totalt antall foresp\xf8rsler","noDataYet":"Ingen data enn\xe5","promptCache":"Sp\xf8r Cache","entries":"Oppf\xf8ringer","hitRate":"Trefffrekvens","hitsMisses":"Treffer / savner","signatureCache":"Signaturbuffer","signatureDefaults":"Standarder","signatureTool":"Verkt\xf8y","signatureFamily":"Familie","signatureSession":"Sesjon","recovering":"Gjenoppretter","noCBData":"Ingen str\xf8mbryterdata tilgjengelig. Kom med noen foresp\xf8rsler f\xf8rst.","providerHealthStatusAria":"Leverand\xf8rens helsestatus","issuesLabel":"Problemer oppdaget","operational":"Operasjonell","providers":"Leverand\xf8rer","healthyCount":"{count} sunn","nodeVersion":"Node {version}","failures":"{count} feil","failuresPlural":"{count} feil","lastFailure":"Sist","rateLimitStatus":"Takstgrensestatus","activeLimiters":"{count} aktiv begrenser","activeLimitersPlural":"{count} aktive begrensere","queued":"I k\xf8","queuedCount":"{count} i k\xf8","running":"l\xf8ping","runningCount":"{count} kj\xf8rer","ok":"OK","activeLockouts":"Aktive lockouter","resetConfirm":"Tilbakestille alle effektbrytere til sunn tilstand? Dette vil slette alle feiltellinger og gjenopprette alle leverand\xf8rer til driftsstatus.","resetAllTitle":"Tilbakestill alle effektbrytere til sunn tilstand","resetting":"Tilbakestiller...","resetAll":"Tilbakestill alle","until":"Inntil {time}"},"limits":{"title":"Grenser og kvoter","rateLimit":"Satsgrense","remaining":"Gjenv\xe6rende","requestsPerMinute":"Foresp\xf8rsler/min","tokensPerMinute":"Poletter/min","dailyLimit":"Daglig grense"},"logs":{"title":"Logger","requestLogs":"Be om logger","proxyLogs":"Proxy-logger","auditLog":"Revisjonslogg","console":"Konsoll","auditLogDesc":"Administrative handlinger og sikkerhetshendelser","loading":"Laster inn...","refresh":"Oppdater","filterByAction":"Filtrer etter handling...","filterByActor":"Filtrer etter skuespiller...","filterEntriesAria":"Filtrer revisjonsloggoppf\xf8ringer","filterByActionTypeAria":"Filtrer etter handlingstype","filterByActorAria":"Filtrer etter skuespiller","refreshAuditLogAria":"Oppdater revisjonslogg","tableAria":"Revisjonsloggoppf\xf8ringer","failedFetchAuditLog":"Kunne ikke hente revisjonsloggen","showing":"Viser {count} oppf\xf8ringer (offset {offset})","search":"S\xf8k","timestamp":"Tidsstempel","action":"Handling","actor":"Skuespiller","target":"M\xe5l","details":"Detaljer","ipAddress":"IP-adresse","notAvailable":"—","noEntries":"Ingen revisjonsloggoppf\xf8ringer funnet","previous":"Forrige","next":"Neste"},"onboarding":{"welcome":"Velkommen","security":"Sikkerhet","test":"Test","ready":"Klar!","setPassword":"Angi passord","addProvider":"Legg til din f\xf8rste leverand\xf8r","getStarted":"Kom i gang","skip":"Hopp over","skipWizard":"Hopp over veiviseren helt","skipPassword":"Hopp over passordoppsett","skipAndContinue":"Hopp over og fortsett","passwordLabel":"Passord","confirmPassword":"Bekreft passord","enterPassword":"Skriv inn passord","confirmPasswordPlaceholder":"Bekreft passord","passwordsMismatch":"Passord stemmer ikke","setupComplete":"Oppsettet er fullf\xf8rt!","goToDashboard":"G\xe5 til Dashboard →","welcomeDesc":"OmniRoute er din lokale AI API-proxy. Den ruter foresp\xf8rsler til flere AI-leverand\xf8rer med lastbalansering, failover og brukssporing.","multiProvider":"Multileverand\xf8r","usageTracking":"Brukssporing","apiKeyMgmt":"API Key Mgmt","securityDesc":"Angi et passord for \xe5 beskytte dashbordet ditt, eller hopp over n\xe5.","providerDesc":"Koble til din f\xf8rste AI-leverand\xf8r. Du kan legge til flere senere.","apiKeyRequired":"API-n\xf8kkel (p\xe5krevd)","customUrlOptional":"Egendefinert URL (valgfritt)","testDesc":"La oss kontrollere at leverand\xf8rtilkoblingen din fungerer.","runTest":"Kj\xf8r tilkoblingstest","testingConnection":"Tester tilkoblingen...","connectionSuccessful":"Tilkoblingen var vellykket! Leverand\xf8ren din er klar.","noProviderFound":"Ingen leverand\xf8r funnet. Du kan legge til en fra dashbordet senere.","testFailed":"Testen mislyktes, men du kan konfigurere dette senere.","couldNotTest":"Kunne ikke teste akkurat n\xe5. Du kan teste fra dashbordet.","doneDesc":"Du er klar! OmniRoute-forekomsten din er konfigurert og klar til \xe5 fullf\xf8re AI-foresp\xf8rsler.","yourEndpoint":"Ditt endepunkt:","continue":"Fortsett","retry":"Pr\xf8v p\xe5 nytt","failedSetPassword":"Kunne ikke angi passord. Pr\xf8v igjen.","failedAddProvider":"Kunne ikke legge til leverand\xf8r. Pr\xf8v igjen.","connectionError":"Tilkoblingsfeil. Vennligst pr\xf8v igjen.","provider":"Leverand\xf8r"},"providers":{"title":"Leverand\xf8rer","addProvider":"Legg til leverand\xf8r","editProvider":"Rediger leverand\xf8r","deleteProvider":"Slett leverand\xf8r","noProviders":"Ingen leverand\xf8rer er konfigurert","modelAvailability":"Modelltilgjengelighet","accounts":"Kontoer","newAccount":"Ny konto","deleteConfirm":"Er du sikker p\xe5 at du vil slette denne leverand\xf8ren?","testing":"Tester...","testConnection":"Test tilkobling","testSuccess":"Tilkoblingen var vellykket","testFailed":"Tilkobling mislyktes","available":"Tilgjengelig","cooldown":"Nedkj\xf8ling","unavailable":"Utilgjengelig","unknown":"Ukjent","oauthLabel":"OAuth","compatibleLabel":"Kompatibel","chat":"Chat","responses":"Svar","messages":"Meldinger","oauthProviders":"OAuth-leverand\xf8rer","freeProviders":"Gratis leverand\xf8rer","apiKeyProviders":"API-n\xf8kkelleverand\xf8rer","compatibleProviders":"API-n\xf8kkel-kompatible leverand\xf8rer","testAll":"Test alle","testAllOAuth":"Test alle OAuth-tilkoblinger","testAllFree":"Test alle gratis tilkoblinger","testAllApiKey":"Test alle API-n\xf8kkeltilkoblinger","testAllCompatible":"Test alle kompatible tilkoblinger","connected":"{count} Tilkoblet","errorCount":"{count} Feil ({code})","errorCountNoCode":"{count} Feil","noConnections":"Ingen tilkoblinger","disabled":"Deaktivert","enableProvider":"Aktiver leverand\xf8r","disableProvider":"Deaktiver leverand\xf8r","testResults":"Testresultater","noCompatibleYet":"Ingen kompatible leverand\xf8rer lagt til enn\xe5","compatibleHint":"Bruk knappene ovenfor for \xe5 legge til OpenAI eller Anthropic-kompatible endepunkter","addOpenAICompatible":"Legg til OpenAI-kompatibel","addAnthropicCompatible":"Legg til Antropisk kompatibel","addNewProvider":"Legg til ny leverand\xf8r","backToProviders":"Tilbake til Leverand\xf8rer","configureNewProvider":"Konfigurer en ny AI-leverand\xf8r som skal brukes med applikasjonene dine.","providerLabel":"Leverand\xf8r","selectProvider":"Velg en leverand\xf8r","selectedProvider":"Valgt leverand\xf8r","authMethod":"Autentiseringsmetode","apiKeyLabel":"API-n\xf8kkel","apiKeyRequired":"API-n\xf8kkel kreves","selectProviderRequired":"Velg en leverand\xf8r","enterApiKey":"Skriv inn API-n\xf8kkelen din","apiKeySecure":"API-n\xf8kkelen din vil bli kryptert og lagret sikkert.","oauth2Connect":"Koble til OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Koble til kontoen din med OAuth2-autentisering.","displayName":"Vist navn","displayNamePlaceholder":"f.eks. Production API, Dev Environment","displayNameHint":"Valgfritt. Et vennlig navn for \xe5 identifisere denne konfigurasjonen.","active":"Aktiv","activeDescription":"Aktiver denne leverand\xf8ren for bruk i appene dine","cancel":"Avbryt","createProvider":"Opprett leverand\xf8r","failedCreate":"Kunne ikke opprette leverand\xf8r","errorOccurred":"Det oppsto en feil. Vennligst pr\xf8v igjen.","modelStatus":"Modellstatus","allModelsOperational":"Alle modeller i drift","modelsWithIssues":"{count} modell(er) med problemer","allModelsNormal":"Alle modellene reagerer normalt.","cooldownCleared":"Nedkj\xf8ling ryddet for {model}","failedClearCooldown":"Kunne ikke fjerne nedkj\xf8ling","loadingAvailability":"Laster modelltilgjengelighet ...","clearCooldown":"Klart","clearing":"Rydder...","until":"Inntil {time}","providerTestFailed":"Providertesten mislyktes","modeTest":"{mode} Test","passedCount":"{count} best\xe5tt","failedCount":"{count} mislyktes","testedCount":"{count} testet","millisecondsAbbr":"{value}ms","okShort":"OK","errorShort":"FEIL","noActiveConnectionsInGroup":"Fant ingen aktive tilkoblinger for denne gruppen.","allTestsPassed":"Alle {total} tester best\xe5tt","testSummary":"{passed}/{total} best\xe5tt, {failed} mislyktes","nameLabel":"Navn","prefixLabel":"Prefiks","baseUrlLabel":"Base URL","apiTypeLabel":"API-type","prefixHint":"Obligatorisk. Unikt prefiks for modellnavn.","nameHint":"Obligatorisk. En vennlig etikett for denne noden.","baseUrlHint":"Obligatorisk.  Leverand\xf8rens API-base-URL.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Bekreft tilkoblingen","validating":"Validerer...","connectionValid":"Tilkoblingen er gyldig!","connectionFailed":"Tilkobling mislyktes. Sjekk URL og n\xf8kkel.","testKeyLabel":"Test API-n\xf8kkel","testKeyPlaceholder":"sk-... (kun for validering)","providerNotFound":"Finner ikke leverand\xf8r","deleteConnectionConfirm":"Vil du slette denne tilkoblingen?","failedSetAlias":"Kunne ikke angi alias","failedSaveConnection":"Kunne ikke lagre tilkoblingen","failedSaveConnectionRetry":"Kunne ikke lagre tilkoblingen. Vennligst pr\xf8v igjen.","failedRetestConnection":"Kunne ikke teste tilkoblingen p\xe5 nytt","deleteCompatibleNodeConfirm":"Vil du slette denne {type}-kompatible noden?","anthropicCompatibleDetails":"Antropisk kompatible detaljer","openaiCompatibleDetails":"OpenAI-kompatible detaljer","messagesApi":"Messages API","responsesApi":"Responses API","chatCompletions":"Chatfullf\xf8ringer","importingModels":"Importerer...","importFromModels":"Importer fra /models","addConnectionToImport":"Legg til en tilkobling for \xe5 aktivere import.","noModelsConfigured":"Ingen modeller er konfigurert","connectionCount":"{count} tilkobling(er)","fetchingModels":"Henter tilgjengelige modeller...","failedFetchModels":"Kunne ikke hente modellene","noModelsFound":"Ingen modeller funnet","importFailed":"Import mislyktes","noNewModelsAdded":"Ingen nye modeller ble lagt til.","adding":"Legger til...","importingModelsTitle":"Importere modeller","copyModel":"Kopier modell","removeModel":"Fjern modellen","rateLimitProtected":"Beskyttet","rateLimitUnprotected":"Ubeskyttet","enableRateLimitProtection":"Klikk for \xe5 aktivere satsgrensebeskyttelse","disableRateLimitProtection":"Klikk for \xe5 deaktivere satsgrensebeskyttelse","productionKey":"Produksjonsn\xf8kkel","enterNewApiKey":"Skriv inn ny API-n\xf8kkel","optional":"Valgfritt","anthropicCompatibleName":"Antropisk kompatibel","openaiCompatibleName":"OpenAI-kompatibel","failedImportModels":"Kunne ikke importere modeller","noModelsReturnedFromEndpoint":"Ingen modeller returnert fra /models endepunkt.","importingModelsProgress":"Importerer {current} av {total} modeller ...","foundModelsStartingImport":"Fant {count} modeller. Starter import...","importingModelById":"Importerer {modelId}...","importSuccessCount":"Vellykket importert {count, plural, one {# model} other {# models}}!","noNewModelsAddedExisting":"Ingen nye modeller ble lagt til (alle finnes allerede).","importDoneCount":"✓ Ferdig! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Det oppstod en uventet feil","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"meldinger","responsesPath":"svar","chatCompletionsPath":"chat/fullf\xf8ringer","add":"Legg til","edit":"Rediger","delete":"Slett","anthropic":"Antropisk","openai":"OpenAI","singleConnectionPerCompatible":"Bare \xe9n tilkobling er tillatt per kompatibel node. Legg til en annen node hvis du trenger flere tilkoblinger.","connections":"Tilkoblinger","providerProxyTitleConfigured":"Leverand\xf8rproxy: {host}","configured":"konfigurert","providerProxyConfigureHint":"Konfigurer proxy for alle tilkoblinger til denne leverand\xf8ren","providerProxy":"Leverand\xf8rfullmakt","noConnectionsYet":"Ingen tilkoblinger enn\xe5","addFirstConnectionHint":"Legg til din f\xf8rste tilkobling for \xe5 komme i gang","addConnection":"Legg til tilkobling","availableModels":"Tilgjengelige modeller","pageAutoRefresh":"Siden oppdateres automatisk...","statusDisabled":"deaktivert","statusConnected":"tilkoblet","statusRuntimeIssue":"kj\xf8retidsproblem","statusAuthFailed":"auth mislyktes","statusRateLimited":"sats begrenset","statusNetworkIssue":"nettverksproblem","statusTestUnsupported":"test st\xf8ttes ikke","statusUnavailable":"utilgjengelig","statusFailed":"mislyktes","statusError":"feil","oauthAccount":"OAuth-konto","errorTypeRuntime":"Lokal kj\xf8retid","errorTypeUpstreamAuth":"Oppstr\xf8ms auth","errorTypeMissingCredential":"Mangler legitimasjon","errorTypeRefreshFailed":"Oppdatering mislyktes","errorTypeTokenExpired":"Token utl\xf8pt","errorTypeRateLimited":"Begrenset pris","errorTypeUpstreamUnavailable":"Oppstr\xf8ms utilgjengelig","errorTypeNetworkError":"Nettverksfeil","errorTypeTestUnsupported":"Testen st\xf8ttes ikke","errorTypeUpstreamError":"Oppstr\xf8ms feil","proxySourceGlobal":"Globalt","proxySourceProvider":"Leverand\xf8r","proxySourceKey":"N\xf8kkel","proxyConfiguredBySource":"Fullmakt ({source}): {host}","autoPriority":"Auto: {priority}","proxy":"Fullmakt","retestAuthentication":"Test autentisering p\xe5 nytt","retest":"Test p\xe5 nytt","disableConnection":"Deaktiver tilkobling","enableConnection":"Aktiver tilkobling","reauthenticateConnection":"Autentiser denne tilkoblingen p\xe5 nytt","proxyConfig":"Proxy konfig","aliasExistsAlert":"Aliaset \\"{alias}\\" eksisterer allerede. Bruk en annen modell eller rediger eksisterende alias.","openRouterAnyModelHint":"OpenRouter st\xf8tter alle modeller. Legg til modeller og lag aliaser for rask tilgang.","modelIdFromOpenRouter":"Modell-ID (fra OpenRouter)","openRouterModelPlaceholder":"antropisk/claude-3-opus","customModels":"Egendefinerte modeller","customModelsHint":"Legg til modell-ID-er som ikke er i standardlisten. Disse vil v\xe6re tilgjengelige for ruting.","modelId":"Modell-ID","customModelPlaceholder":"f.eks. gpt-4.5-turbo","loading":"Laster inn...","removeCustomModel":"Fjern tilpasset modell","noCustomModels":"Ingen tilpassede modeller lagt til enn\xe5.","allSuggestedAliasesExist":"Alle foresl\xe5tte aliaser finnes allerede. Velg en annen modell eller fjern motstridende aliaser.","failedSaveCustomModel":"Kunne ikke lagre egendefinert modell","modelAddedSuccess":"Modell {modelId} ble lagt til","failedAddModelTryAgain":"Kunne ikke legge til modell. Vennligst pr\xf8v igjen.","failedSaveImportedModel":"Kunne ikke lagre importert modell til egendefinert database","failedImportModelsTryAgain":"Kunne ikke importere modeller. Vennligst pr\xf8v igjen.","failedRemoveModelFromDatabase":"Kunne ikke fjerne modellen fra databasen","modelRemovedSuccess":"Modellen ble fjernet","failedDeleteModelTryAgain":"Kunne ikke slette modellen. Vennligst pr\xf8v igjen.","compatibleModelsDescription":"Legg til {type}-kompatible modeller manuelt eller importer dem fra /models-endepunktet.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"API-n\xf8kkelvalidering mislyktes. Sjekk n\xf8kkelen din og pr\xf8v igjen.","addProviderApiKeyTitle":"Legg til {provider} API-n\xf8kkel","checking":"Sjekker...","check":"Sjekk","valid":"Gyldig","invalid":"Ugyldig","creating":"Oppretter...","validationChecksAnthropicCompatible":"Valideringssjekker {provider} ved \xe5 bekrefte API-n\xf8kkelen.","validationChecksOpenAiCompatible":"Valideringssjekker {provider} via /models p\xe5 din basis-URL.","priorityLabel":"Prioritet","saving":"Lagrer...","save":"Lagre","editConnection":"Rediger tilkobling","accountName":"Kontonavn","email":"E-post","healthCheckMinutes":"Helsesjekk (min)","healthCheckHint":"Proaktivt token-oppdateringsintervall. 0 = deaktivert.","failedTestConnection":"Kunne ikke teste tilkoblingen","failed":"Mislyktes","leaveBlankKeepCurrentApiKey":"La st\xe5 tomt for \xe5 beholde gjeldende API-n\xf8kkel.","editCompatibleTitle":"Rediger {type} Kompatibel","compatibleBaseUrlHint":"Bruk basis-URLen (som slutter p\xe5 /v1) for din {type}-kompatible API.","apiKeyForCheck":"API-n\xf8kkel (for sjekk)","compatibleProdPlaceholder":"{type} Kompatibel (Prod)"},"settings":{"title":"Innstillinger","general":"Generelt","security":"Sikkerhet","appearance":"Utseende","routing":"Ruting","cache":"Cache","resilience":"Spenst","systemPrompt":"Systemmelding","thinkingBudget":"Tenker budsjett","proxy":"Fullmakt","pricing":"Prissetting","storage":"Oppbevaring","policies":"Retningslinjer","ipFilter":"IP-filter","comboDefaults":"Combo standarder","fallbackChains":"Reservekjeder","changePassword":"Endre passord","enablePassword":"Aktiver passord","darkMode":"M\xf8rk modus","lightMode":"Lysmodus","systemTheme":"Systemtema","enableCache":"Aktiver cache","cacheTTL":"Cache TTL","maxCacheSize":"Maks cachest\xf8rrelse","clearCache":"T\xf8m buffer","cacheHits":"Cache-treff","cacheMisses":"Cache Misses","hitRate":"Trefffrekvens","cacheEntries":"Bufferoppf\xf8ringer","circuitBreaker":"Str\xf8mbryter","retryPolicy":"Retningslinjer for fors\xf8k","maxRetries":"Max pr\xf8ver p\xe5 nytt","retryDelay":"Forsinkelse p\xe5 nytt","timeoutMs":"Tidsavbrudd (ms)","enableSystemPrompt":"Aktiver systemforesp\xf8rsel","systemPromptText":"Systemmeldingstekst","enableThinking":"Aktiver tenkning","maxThinkingTokens":"Max Thinking Tokens","enableProxy":"Aktiver proxy","proxyUrl":"Proxy URL","pricingRates":"Prisformat","currentPricing":"Gjeldende prisoversikt","loadingPricing":"Laster inn prisdata ...","noPricing":"Ingen prisdata tilgjengelig","input":"Inndata","output":"Utgang","cached":"Bufret","reasoning":"Resonnement","cacheCreation":"Oppretting av cache","customPricing":"Egendefinerte priser","databaseSize":"Databasest\xf8rrelse","backupDb":"Sikkerhetskopier database","restoreDb":"Gjenopprett database","exportData":"Eksporter data","importData":"Importer data","clearData":"Fjern alle data","clearDataConfirm":"Dette vil slette alle data permanent. Er du sikker?","enableRequestLogs":"Aktiver foresp\xf8rselslogger","logRetention":"Loggoppbevaring","ipWhitelist":"IP-hviteliste","ipBlacklist":"IP svarteliste","addIP":"Legg til IP","savedSuccessfully":"Innstillingene er lagret","ai":"AI","advanced":"Avansert","localMode":"Lokal modus — Alle data som er lagret p\xe5 maskinen din","settingsSectionsAria":"Innstillinger-seksjoner","switchThemes":"Bytt mellom lyse og m\xf8rke temaer","themeSelectionAria":"Temavalg","themeLight":"Lys","themeDark":"M\xf8rkt","themeSystem":"System","hideHealthLogs":"Skjul helsesjekklogger","hideHealthLogsDesc":"N\xe5r P\xc5, undertrykk [HealthCheck]-meldinger i serverkonsollen","promptCache":"Sp\xf8r Cache","flushCache":"Skyll cache","flushing":"Skyller …","size":"St\xf8rrelse","hits":"Treffer","evictions":"Utkastelser","loadingCacheStats":"Laster cachestatistikk …","globalProxy":"Global proxy","globalProxyDesc":"Konfigurer en global utg\xe5ende proxy for alle API-kall. Individuelle leverand\xf8rer, kombinasjoner og n\xf8kler kan overstyre dette.","noGlobalProxy":"Ingen global proxy er konfigurert","globalLabel":"Globalt","configure":"Konfigurer","globalSystemPrompt":"Global systemforesp\xf8rsel","systemPromptDesc":"Injisert i alle foresp\xf8rsler p\xe5 proxy-niv\xe5","saved":"Lagret","systemPromptPlaceholder":"Skriv inn systemforesp\xf8rselen for \xe5 injisere i alle foresp\xf8rsler...","systemPromptHint":"Denne ledeteksten vises foran systemmeldingen for hver foresp\xf8rsel. Bruk for globale instruksjoner, sikkerhetsretningslinjer eller regler for responsformatering.","chars":"{count} tegn","thinkingBudgetTitle":"Tenker budsjett","thinkingBudgetDesc":"Kontroller bruk av AI-resonnementstoken p\xe5 tvers av alle foresp\xf8rsler","passthrough":"Gjennomgang","passthroughDesc":"Ingen endringer – klienten kontrollerer tenkebudsjettet","auto":"Auto","autoDesc":"Fjern all tenkekonfigurasjon – la leverand\xf8ren bestemme","custom":"Egendefinert","customDesc":"Angi et fast tokenbudsjett for alle foresp\xf8rsler","adaptive":"Adaptiv","adaptiveDesc":"Skaler budsjett basert p\xe5 foresp\xf8rselskompleksitet","effortNone":"Ingen (0 tokens)","effortLow":"Lav (1K tokens)","effortMedium":"Medium (10 000 tokens)","effortHigh":"H\xf8y (128 000 tokens)","tokenBudget":"Tokenbudsjett","tokens":"tokens","baseEffortLevel":"Grunninnsatsniv\xe5","adaptiveHint":"Adaptiv modus skalerer fra dette basisniv\xe5et basert p\xe5 antall meldinger, verkt\xf8ybruk og foresp\xf8rselslengde.","requireLogin":"Krev innlogging","requireLoginDesc":"N\xe5r P\xc5, krever dashbordet passord. N\xe5r AV, tilgang uten p\xe5logging.","currentPassword":"Gjeldende passord","enterCurrentPassword":"Skriv inn gjeldende passord","newPassword":"Nytt passord","enterNewPassword":"Skriv inn nytt passord","confirmPassword":"Bekreft nytt passord","confirmPasswordPlaceholder":"Bekreft nytt passord","passwordsNoMatch":"Passord stemmer ikke","passwordUpdated":"Passordet ble oppdatert","failedUpdatePassword":"Kunne ikke oppdatere passordet","errorOccurred":"Det oppsto en feil","updatePassword":"Oppdater passord","setPassword":"Angi passord","apiEndpointProtection":"API-endepunktbeskyttelse","requireAuthModels":"Krev API-n\xf8kkel for /modeller","requireAuthModelsDesc":"N\xe5r P\xc5, returnerer /v1/models-endepunktet 404 for uautentiserte foresp\xf8rsler. Forhindrer modelloppdagelse av uautoriserte brukere.","blockedProviders":"Blokkerte leverand\xf8rer","blockedProvidersDesc":"Skjul spesifikke leverand\xf8rer fra /v1/models-svaret. Blokkerte leverand\xf8rer vil ikke vises i modelloppf\xf8ringer.","providersBlocked":"{count} leverand\xf8r(er) blokkert fra /modeller","blockProviderTitle":"Blokk\xe9r {provider}","unblockProviderTitle":"Fjern blokkering av {provider}","routingStrategy":"Rutingstrategi","fillFirst":"Fyll f\xf8rst","fillFirstDesc":"Bruk kontoer i prioritert rekkef\xf8lge","roundRobin":"Round Robin","roundRobinDesc":"Bla gjennom alle kontoer","p2c":"P2C","p2cDesc":"Velg 2 tilfeldig, bruk den sunnere","random":"Tilfeldig","randomDesc":"Tilfeldig konto hver foresp\xf8rsel","leastUsed":"Minst brukt","leastUsedDesc":"Velg minst nylig brukte konto","costOpt":"Kostnad Opt","costOptDesc":"Foretrekker den billigste tilgjengelige kontoen","stickyLimit":"Sticky Limit","stickyLimitDesc":"Anrop per konto f\xf8r bytte","modelAliases":"Modellaliaser","modelAliasesDesc":"Jokertegnm\xf8nstre for \xe5 tilordne modellnavn p\xe5 nytt • Bruk * og ?","aliasPatternPlaceholder":"claude-sonnett-*","aliasTargetPlaceholder":"claude-sonnett-4-20250514","pattern":"M\xf8nster","targetModel":"M\xe5lmodell","add":"+ Legg til","session":"Sesjon","sessionDetailsAria":"Sesjonsdetaljer","status":"Status","authenticated":"Autentisert","guest":"Gjest","loginTime":"P\xe5loggingstid","sessionAge":"Sesjonsalder","browser":"Nettleser","clearLocalData":"Fjern lokale data","logout":"Logg ut","clearLocalDataConfirm":"Vil du slette alle lokale data? Dette vil tilbakestille innstillingene dine.","unknown":"Ukjent","systemActor":"systemet","ipAccessControl":"IP-tilgangskontroll","ipAccessControlDesc":"Blokker eller tillat bestemte IP-adresser","ipModeDisabled":"Deaktivert","ipModeBlacklist":"Svarteliste","ipModeWhitelist":"Hviteliste","ipModeWhitelistPriority":"WL prioritet","addIpAddress":"Legg til IP-adresse","ipAddressPlaceholder":"192.168.1.0/24 eller 10.0.*.*","block":"+ Blokker","allow":"+ Tillat","blocked":"Blokkert ({count})","allowed":"Tillatt ({count})","temporaryBans":"Midlertidig utestengelse ({count})","minLeft":"{min}m igjen","auditLog":"Revisjonslogg","searchAuditLogs":"S\xf8k i revisjonslogger...","failedLoadAuditLog":"Kunne ikke laste inn revisjonsloggen","noAuditEvents":"Ingen revisjonshendelser funnet","action":"Handling","actor":"Skuespiller","details":"Detaljer","time":"Tid","fallbackChainsTitle":"Reservekjeder","fallbackChainsDesc":"Definer leverand\xf8rens reserveordre per modell","addChain":"+ Legg til kjede","modelName":"Modellnavn","modelNamePlaceholder":"claude-sonnett-4-20250514","providersCommaSeparated":"Leverand\xf8rer (kommaseparert, i prioritert rekkef\xf8lge)","providersCommaSeparatedPlaceholder":"antropisk, openai, gemini","createChain":"Lag kjede","noFallbackChains":"Ingen reservekjeder","noFallbackChainsDesc":"Opprett en kjede for \xe5 definere leverand\xf8rens reserveordre for en modell.","loadingFallbackChains":"Laster inn reservekjeder...","deleteChainConfirm":"Vil du slette reservekjeden for \xab{model}\xbb?","chainCreated":"Kjede opprettet for {model}","chainDeleted":"Kjede slettet for {model}","failedCreateChain":"Kunne ikke opprette kjede","failedDeleteChain":"Kunne ikke slette kjeden","deleteChain":"Slett kjede","fillModelAndProviders":"Fyll ut modellnavn og leverand\xf8rer","addAtLeastOneProvider":"Legg til minst \xe9n leverand\xf8r","comboDefaultsTitle":"Combo standarder","globalComboConfig":"Global kombinasjonskonfigurasjon","defaultStrategy":"Standardstrategi","defaultStrategyDesc":"Brukes p\xe5 nye kombinasjoner uten eksplisitt strategi","comboStrategyAria":"Kombinasjonsstrategi","priority":"Prioritet","weighted":"Vektet","maxRetriesLabel":"Max pr\xf8ver p\xe5 nytt","retryDelayLabel":"Forsinkelse p\xe5 nytt (ms)","timeoutLabel":"Tidsavbrudd (ms)","healthCheck":"Helsesjekk","healthCheckDesc":"Forh\xe5ndssjekk leverand\xf8rens tilgjengelighet","trackMetrics":"Spor beregninger","trackMetricsDesc":"Registrer beregninger for foresp\xf8rsel per kombinasjon","providerOverrides":"Leverand\xf8roverstyringer","providerOverridesDesc":"Overstyr tidsavbrudd og fors\xf8k p\xe5 nytt per leverand\xf8r. Leverand\xf8rinnstillinger overstyrer globale standardinnstillinger.","providerMaxRetriesAria":"{provider} maksimalt fors\xf8k","providerTimeoutAria":"{provider} tidsavbrudd ms","removeProviderOverrideAria":"Fjern {provider} overstyring","newProviderNamePlaceholder":"f.eks. google, \xe5pne...","newProviderNameAria":"Nytt leverand\xf8rnavn","retries":"pr\xf8ver p\xe5 nytt","ms":"ms","saveComboDefaults":"Lagre Combo-standarder","maxNestingDepth":"Maks hekkedybde","concurrencyPerModel":"Samtidighet / modell","queueTimeout":"Tidsavbrudd for k\xf8 (ms)","providerProfiles":"Leverand\xf8rprofiler","providerProfilesDesc":"Separate innstillinger for motstandskraft for OAuth (\xf8ktbasert) og API Key (m\xe5lt) leverand\xf8rer. OAuth-leverand\xf8rer har strengere terskler p\xe5 grunn av lavere takstgrenser.","oauthProviders":"OAuth-leverand\xf8rer","apiKeyProviders":"API-n\xf8kkelleverand\xf8rer","transientCooldown":"Forbig\xe5ende nedkj\xf8ling","rateLimitCooldown":"Rate Limit Cooldown","maxBackoffLevel":"Maks Backoff Level","cbThreshold":"CB-terskel","cbResetTime":"CB-tilbakestillingstid","rateLimiting":"Satsbegrensende","rateLimitingDesc":"API-n\xf8kkelleverand\xf8rer er automatisk hastighetsbegrenset med sikre standardinnstillinger. Grenser l\xe6res fra responsoverskrifter og tilpasses over tid.","defaultSafetyNet":"Standard sikkerhetsnett","rpm":"RPM","minGap":"Min Gap","maxConcurrent":"Maks samtidig","activeLimiters":"Aktive begrensere","noActiveLimiters":"Ingen aktive ratebegrensere enn\xe5.","reservoir":"Reservoar","running":"L\xf8per","queued":"I k\xf8","circuitBreakers":"Str\xf8mbrytere","breakerStateClosed":"Stengt","breakerStateOpen":"\xc5pne","breakerStateHalfOpen":"Halv\xe5pent","tripped":"{count} utl\xf8ste","healthy":"{count} sunn","resetAll":"Tilbakestill alle","noCircuitBreakers":"Ingen effektbrytere aktive enn\xe5. De opprettes automatisk n\xe5r foresp\xf8rsler str\xf8mmer gjennom kombinasjonsr\xf8rledningen.","failures":"{count} feil(er)","policiesLocked":"Retningslinjer og l\xe5ste identifikatorer","allOperational":"Alle systemer er i drift - ingen sperringer eller utl\xf8ste brytere","loadingPolicies":"Laster inn retningslinjer ...","lockedIdentifiers":"L\xe5ste identifikatorer","unlockedIdentifier":"Ul\xe5st: {identifier}","sinceDate":"siden {date}","forceUnlock":"Tving oppl\xe5sing","unlocking":"L\xe5ser opp ...","failedUnlock":"Kunne ikke l\xe5se opp","failedLoadWithStatus":"Kunne ikke laste inn: {status}","failedLoadResilience":"Kunne ikke laste inn resiliensstatus","saveFailed":"Lagring mislyktes","resetFailed":"Tilbakestilling mislyktes","loadingResilience":"Laster motstandsstatus ...","retry":"Pr\xf8v p\xe5 nytt","systemStorage":"System og lagring","allDataLocal":"Alle data lagret lokalt p\xe5 maskinen din","databasePath":"Databasebane","exportDatabase":"Eksporter database","exportAll":"Eksporter alle (.tar.gz)","importDatabase":"Importer database","confirmDbImport":"Bekreft databaseimport","confirmDbImportDesc":"Dette vil erstatte alle gjeldende data med innholdet fra {file}. En sikkerhetskopi opprettes automatisk f\xf8r importen.","yesImport":"Ja, import","lastBackup":"Siste sikkerhetskopi","noBackupYet":"Ingen sikkerhetskopi enn\xe5","backupNow":"Sikkerhetskopier n\xe5","backupRestore":"Sikkerhetskopiering og gjenoppretting","viewBackups":"Se sikkerhetskopier","hide":"Skjul","backupRetentionDesc":"Database-\xf8yeblikksbilder opprettes automatisk f\xf8r gjenoppretting og hvert 15. minutt n\xe5r data endres. Oppbevaring: 24 timer i timen + 30 daglige sikkerhetskopier med smart rotasjon.","loadingBackups":"Laster inn sikkerhetskopier...","noBackupsYet":"Ingen sikkerhetskopier tilgjengelig enn\xe5. Sikkerhetskopier opprettes automatisk n\xe5r data endres.","backupsAvailable":"{count} sikkerhetskopi(er) tilgjengelig","refresh":"Oppdater","confirm":"Bekrefte?","yes":"Ja","no":"Nei","restore":"Gjenopprett","invalidFileType":"Ugyldig filtype. Bare .sqlite-filer godtas.","exportFailed":"Eksporten mislyktes","exportFailedWithError":"Eksport mislyktes: {error}","fullExportFailedWithError":"Full eksport mislyktes: {error}","backupCreated":"Sikkerhetskopi opprettet: {file}","restoreSuccess":"Gjenopprettet! {connections} tilkoblinger, {nodes} noder, {combos} kombinasjoner, {apiKeys} API-n\xf8kler.","importSuccess":"Database importert! {connections} tilkoblinger, {nodes} noder, {combos} kombinasjoner, {apiKeys} API-n\xf8kler.","justNow":"akkurat n\xe5","minutesAgo":"{count}m siden","hoursAgo":"{count}t siden","daysAgo":"{count}d siden","backupReasonManual":"manuell","backupReasonPreRestore":"forh\xe5ndsgjenoppretting","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Ingen endringer siden siste sikkerhetskopiering","backupFailed":"Sikkerhetskopiering mislyktes","restoreFailed":"Gjenoppretting mislyktes","importFailed":"Import mislyktes","errorDuringRestore":"Det oppstod en feil under gjenoppretting","errorDuringImport":"Det oppstod en feil under import","modelPricing":"Modellprising","modelPricingDesc":"Konfigurer kostnadssatser per modell • Alle priser i $/1M tokens","providers":"Leverand\xf8rer","registry":"Register","priced":"Priset","searchProvidersModels":"S\xf8k etter leverand\xf8rer eller modeller...","showAll":"Vis alle","noProvidersMatch":"Ingen leverand\xf8rer samsvarer med s\xf8ket ditt.","howPricingWorks":"Hvordan prissetting fungerer","cacheWrite":"Cache-skriving","unsaved":"ikke lagret","resetDefaults":"Tilbakestill standarder","saveProvider":"Lagre leverand\xf8r","saving":"Lagrer...","model":"Modell","models":"modeller","moreProviders":"{count} flere leverand\xf8rer","withPricing":"med konfigurert pris","policiesCircuitBreakers":"Retningslinjer og effektbrytere","activeIssuesDetected":"Aktive problemer oppdaget","off":"Av","resetPricingConfirm":"Vil du tilbakestille all prissetting for {provider} til standardverdiene?","pricingDescInput":"Inndata: tokens sendt til modellen","pricingDescOutput":"Utgang: tokens generert","pricingDescCached":"Bufret: gjenbrukt inndata (~50 % av inndatahastigheten)","pricingDescReasoning":"Begrunnelse: tenketegn (faller tilbake til utgang)","pricingDescCacheWrite":"Cache Write: lage cache-oppf\xf8ringer (faller tilbake til Input)","pricingDescFormula":"Kostnad = (input \xd7 input_rate) + (output \xd7 output_rate) + (cached \xd7 cached_rate) per million tokens.","pricingSettingsTitle":"Prisinnstillinger","totalModels":"Totalt antall modeller","active":"Aktiv","costCalculation":"Kostnadsberegning","costCalculationDesc":"Kostnadene beregnes basert p\xe5 tokenbruk og prissatser som er konfigurert for hver modell.","pricingFormat":"Prisformat","pricingFormatDesc":"Alle priser er i $/1M tokens (dollar per million tokens).","tokenTypes":"Tokentyper","inputTokenDesc":"Standard prompt-tokens","outputTokenDesc":"Fullf\xf8rings-/svarbrikke","cachedTokenDesc":"Bufret inndatatoken (vanligvis 50 % av inndatahastigheten)","reasoningTokenDesc":"Spesielle resonnement-/tenkesymboler (tilbakeslag til produksjonshastighet)","cacheCreationTokenDesc":"Tokens som brukes til \xe5 lage cache-oppf\xf8ringer (tilbake til inngangshastighet)","customPricingNote":"Du kan overstyre standardpriser for spesifikke modeller. Egendefinerte overstyringer prioriteres fremfor automatisk oppdagede priser.","editPricing":"Rediger priser","viewFullDetails":"Se alle detaljer"},"translator":{"title":"Oversetter","metaTitle":"Oversetter Lekeplass | OmniRoute","metaDescription":"Feils\xf8k, test og visualiser API-formatoversettelser mellom leverand\xf8rer","playgroundTitle":"Oversetter Lekeplass","playground":"Lekeplass","realtime":"Oversettelsesaktivitet i sanntid","chatTester":"Chat Tester","testBench":"Testbenk","liveMonitor":"Live Monitor","modeDescriptionPlayground":"Lim inn en hvilken som helst API-foresp\xf8rselstekst og se hvordan OmniRoute oversetter den mellom leverand\xf8rformater (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)","modeDescriptionChatTester":"Send ekte chatteforesp\xf8rsler gjennom OmniRoute og inspiser hele rundturen: inndata, oversatt foresp\xf8rsel, leverand\xf8rsvar og oversatt utdata.","modeDescriptionTestBench":"Kj\xf8r forh\xe5ndsdefinerte scenarier og sammenlign kompatibilitet p\xe5 tvers av leverand\xf8rer og modeller.","modeDescriptionLiveMonitor":"Se oversettelsesbegivenheter i sanntid mens foresp\xf8rsler str\xf8mmer gjennom OmniRoute.","modeDescriptionFallback":"Feils\xf8k, test og visualiser hvordan OmniRoute oversetter API-foresp\xf8rsler mellom leverand\xf8rer.","recentTranslations":"Nylige oversettelser","noTranslations":"Ingen oversettelser enn\xe5","source":"Kilde","target":"M\xe5l","time":"Tid","model":"Modell","status":"Status","latency":"Latens","totalTranslations":"Totale oversettelser","successful":"Vellykket","errors":"Feil","avgLatency":"Gj.sn. ventetid","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Live — Automatisk oppdatering","paused":"Pause","eventsAppearHint":"Oversettelseshendelser vises her n\xe5r foresp\xf8rsler str\xf8mmer gjennom OmniRoute. Bruk en av disse metodene for \xe5 generere hendelser:","chatTesterTab":"Chat Tester-fanen","testBenchTab":"Testbenk-fanen","externalApiCalls":"Eksterne API-anrop","ideCliIntegrations":"IDE/CLI-integrasjoner","inMemoryNote":"Merk: Hendelser lagres i minnet og tilbakestilles n\xe5r serveren starter p\xe5 nytt.","ok":"OK","errorShort":"FEIL","formatConverter":"Formatkonvertering","formatConverterDescription":"Lim inn eller skriv inn en JSON-foresp\xf8rselstekst. Oversetteren vil automatisk oppdage kildeformatet og konvertere det til m\xe5lformatet. Bruk denne til \xe5 feils\xf8ke hvordan OmniRoute oversetter foresp\xf8rsler mellom formater (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Inndata","output":"Utgang","auto":"Auto","swapFormats":"Bytt formater","translateAction":"Oversett","clear":"Klart","inputPlaceholder":"Lim inn en foresp\xf8rselstekst her eller velg en mal nedenfor...","exampleTemplates":"Eksempelmaler","exampleTemplatesHint":"— Klikk for \xe5 laste","templateLoadHint":"Malen laster foresp\xf8rselen i {format}-format. Endre kildeformat for \xe5 laste inn i et annet format.","compatibilityTester":"Kompatibilitetstester","compatibilityReport":"Kompatibilitetsrapport","testBenchDescription":"Kj\xf8r forh\xe5ndsdefinerte scenarier (Simple Chat, Tool Calling, etc.) for \xe5 bekrefte oversettelse og leverand\xf8rkompatibilitet. Velg et kildeformat og m\xe5lleverand\xf8r, og kj\xf8r deretter alle testene for \xe5 se en kompatibilitetsprosent. Bruk denne for \xe5 finne hvilke funksjoner som fungerer p\xe5 tvers av leverand\xf8rer.","targetProvider":"M\xe5lleverand\xf8r","runAllTests":"Kj\xf8r alle tester","runTest":"Kj\xf8r test","reRun":"Kj\xf8r p\xe5 nytt","running":"Kj\xf8rer...","passed":"best\xe5tt","failed":"mislyktes","passedIconLabel":"✅ Best\xe5tt","chunks":"biter","scenarioSimpleChat":"Enkel chat","scenarioToolCalling":"Verkt\xf8yanrop","scenarioMultiTurn":"Multisving","scenarioThinking":"Tenker","scenarioSystemPrompt":"Systemmelding","scenarioStreaming":"Streaming","templateNames":{"simple-chat":"Enkel chat","tool-calling":"Verkt\xf8yanrop","multi-turn":"Multisving","thinking":"Tenker","system-prompt":"Systemmelding","streaming":"Streaming"},"templateDescriptions":{"simple-chat":"Grunnleggende tekstmelding","tool-calling":"Funksjon/verkt\xf8y-p\xe5kalling","multi-turn":"Samtale med historien","thinking":"Utvidet tenkning / resonnement","system-prompt":"Komplekse systeminstruksjoner","streaming":"SSE-str\xf8mforesp\xf8rsel"},"templatePayloads":{"simpleChat":{"system":"Du er en hjelpsom assistent.","userGreeting":"Hei! Hvordan har du det i dag?"},"toolCalling":{"userWeather":"Hvordan er v\xe6ret i S\xe3o Paulo?","toolDescription":"F\xe5 gjeldende v\xe6r for et sted","cityNameDescription":"Bynavn"},"multiTurn":{"system":"Du er en kodeassistent.","userInitial":"Skriv en funksjon for \xe5 sortere en matrise i Python.","assistantExample":"Her er en enkel sorteringsfunksjon:\\n\\n``` python\\ndef sort_array(arr):\\n return sortert(arr)\\n```","userFollowUp":"Gj\xf8r det n\xe5 sortert i synkende rekkef\xf8lge."},"thinking":{"question":"Hva er summen av de f\xf8rste 100 primtallene?"},"systemPrompt":{"systemInstruction":"Du er en senior programvareingeni\xf8r med spesialisering i distribuerte systemer. Svar konsist p\xe5 sp\xf8rsm\xe5l ved \xe5 bruke bransjens beste praksis. Gi alltid kodeeksempler n\xe5r det er relevant. Formater svarene dine med markdown.","question":"Hvordan implementerer jeg et str\xf8mbryterm\xf8nster?"},"streaming":{"prompt":"Fortell meg en kort historie om en robot som l\xe6rer \xe5 male."}},"openaiCompatibleLabel":"OpenAI-kompatibel","anthropicCompatibleLabel":"Antropisk kompatibel","noTemplateForFormat":"Ingen mal for dette formatet","translationFailed":"Oversettelse mislyktes: {error}","pipelineDebugger":"Pipeline Debugger","translationPipeline":"Oversettelsesr\xf8rledning","pipelineVisualization":"Visualisering av pipeline","pipelineVisualizationHint":"Send en melding for \xe5 se hvordan foresp\xf8rselen din flyter gjennom gjenkjenning → oversettelse → leverand\xf8ranrop.","chatTesterDescription":"Send meldinger som et spesifikt klientformat og inspiser hvert trinn i oversettelsespipelinen.","chatTesterFlow":"Klientforesp\xf8rsel → Formatdeteksjon → OpenAI Intermediate → Leverand\xf8rformat → Svar","clickStepToInspect":"Klikk p\xe5 et hvilket som helst trinn for \xe5 inspisere dataene p\xe5 det stadiet.","clientFormat":"Klientformat","provider":"Leverand\xf8r","modelPlaceholder":"Velg eller skriv inn et modellnavn...","sendMessageToSeePipeline":"Send en melding for \xe5 se oversettelsespipeline","chatMessageHintPrefix":"Meldingen din vil bli formatert som en","chatMessageHintSuffix":"foresp\xf8rsel, oversatt gjennom r\xf8rledningen og sendt til den valgte leverand\xf8ren.","youWithFormat":"Du ({format})","assistant":"Assistent","typeMessage":"Skriv inn en melding...","send":"Send","clientRequest":"Kundeforesp\xf8rsel","clientRequestDescription":"Foresp\xf8rselsteksten slik klienten din ville sende den","formatDetected":"Format oppdaget","formatDetectedDescription":"OmniRoute oppdager automatisk API-formatet fra foresp\xf8rselsstrukturen","openaiIntermediate":"OpenAI Intermediate","openaiIntermediateDescription":"Alle formater normaliseres f\xf8rst til OpenAI-format (den universelle broen)","providerFormat":"Leverand\xf8rformat","providerFormatDescription":"OpenAI-formatet er oversatt til leverand\xf8rens opprinnelige format","providerResponse":"Leverand\xf8rens svar","providerResponseRawDescription":"R\xe5svaret fra leverand\xf8rens API","providerResponseSseDescription":"Den r\xe5 SSE-str\xf8mmen fra leverand\xf8rens API","unexpectedError":"Det oppstod en uventet feil","error":"Feil","errorMessage":"Feil: {message}","requestFailed":"Foresp\xf8rselen mislyktes","noTextExtracted":"(Ingen tekst er trukket ut)","liveMonitorDescriptionPrefix":"Viser oversettelseshendelser n\xe5r API-anrop flyter gjennom OmniRoute. Hendelser kommer fra bufferen i minnet (tilbakestilles ved omstart). Bruk","liveMonitorDescriptionSuffix":", eller eksterne API-kall for \xe5 generere hendelser."},"usage":{"title":"Bruk","loggerTab":"Logger","proxyTab":"Fullmakt","budgetManagement":"Budsjettstyring","budgetSaved":"Budsjettgrenser lagret","budgetSaveFailed":"Kunne ikke lagre budsjettet","loadingBudgetData":"Laster inn budsjettdata ...","noApiKeysTitle":"Ingen API-n\xf8kler","noApiKeysDescription":"Legg til API-n\xf8kler f\xf8rst for \xe5 sette opp budsjettgrenser.","apiKey":"API-n\xf8kkel","todaysSpend":"Dagens forbruk","thisMonth":"Denne m\xe5neden","setLimits":"Sett grenser","dailyLimitUsd":"Daglig grense (USD)","monthlyLimitUsd":"M\xe5nedlig grense (USD)","warningThresholdPercent":"Advarselsterskel (%)","dailyLimitPlaceholder":"f.eks. 5.00","monthlyLimitPlaceholder":"f.eks. 50,00","warningThresholdPlaceholder":"80","saveLimits":"Lagre grenser","budgetOk":"Budsjett OK — {remaining} gjenst\xe5r","budgetExceeded":"Budsjettet overskredet – foresp\xf8rsler kan bli blokkert","totalRequests":"Totalt antall foresp\xf8rsler","noDataYet":"Ingen data enn\xe5","latency":"Latens","latencyP50":"p50","latencyP95":"s95","latencyP99":"s99","promptCache":"Sp\xf8r Cache","systemHealth":"Systemhelse","entries":"Oppf\xf8ringer","activeCount":"{count} aktiv","openCircuitBreakersDetected":"\xc5pne str\xf8mbrytere oppdaget","hitRate":"Trefffrekvens","hitsMisses":"Treffer / savner","circuitBreakers":"Str\xf8mbrytere","lockedIPs":"L\xe5ste IP-er","lockoutsAutoRefreshHint":"Per-modell hastighetsgrense l\xe5ser • Auto-refresh 10s","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} igjen","howItWorks":"Hvordan det fungerer","howItWorksSubtitle":"Finn ut hvordan evalueringer validerer LLM-svarene dine","define":"Definer","defineStepDescription":"Opprett testtilfeller med inndatameldinger og forventede utdatakriterier ved \xe5 bruke strategier som inneholder, regul\xe6rt uttrykk eller eksakt samsvar.","run":"L\xf8p","runStepDescription":"Utf\xf8r testsaker mot LLM-endepunktene dine gjennom OmniRoute. Hver sak sendes som en ekte API-foresp\xf8rsel.","evaluate":"Vurder","evaluateStepDescription":"Svar sammenlignes mot forventede kriterier. Se best\xe5tt/ikke best\xe5tt for hver sak med ventetid og detaljert tilbakemelding.","evalSuites":"Evalueringssuiter","evalSuitesHint":"Klikk p\xe5 en suite for \xe5 se testtilfeller, og kj\xf8r deretter for \xe5 evaluere LLM-endepunktene dine","evalsLoading":"Laster inn eval suiter...","noEvalSuitesFound":"Ingen Eval-suiter funnet","noEvalSuitesDescription":"Eval-suiter kan defineres via API eller i kode. De tester modellutdata mot forventede resultater ved \xe5 bruke strategier som inneholder, regul\xe6rt uttrykk, eksakt samsvar og tilpassede funksjoner.","columnCase":"Sak","columnStatus":"Status","columnLatency":"Latens","columnDetails":"Detaljer","columnModel":"Modell","columnStrategy":"Strategi","columnExpected":"Forventet","statsSuites":"Suiter","statsTestCases":"Testtilfeller","statsModels":"Modeller","statsCoverage":"Dekning","statsStrategiesCount":"{count} strategier","evaluationStrategies":"Evalueringsstrategier","modelsUnderTest":"Modeller under test","searchSuitesPlaceholder":"S\xf8k etter suiter...","passSuffix":"pass","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"Kj\xf8r Eval","runningProgress":"Kj\xf8rer {current}/{total}...","passRate":"best\xe5tt rate","summaryBreakdown":"{passed} best\xe5tt \xb7 {failed} mislyktes \xb7 {total} totalt","passedIconLabel":"✅ Best\xe5tt","failedIconLabel":"❌ Mislyktes","detailsContains":"Inneholder: \\"{term}\\"","detailsRegex":"Regex: {pattern}","detailsExpected":"Forventet: \\"{expected}\\"","noResultsYet":"Ingen resultater enn\xe5","testCasesCount":"Testtilfeller ({count})","noTestCasesDefined":"Ingen testtilfeller definert","runEvalHint":"Klikk \\"Run Eval\\" for \xe5 utf\xf8re alle saker mot ditt LLM-endepunkt. Hver test sender en reell foresp\xf8rsel gjennom OmniRoute.","notifyNoTestCases":"Ingen testtilfeller definert for denne suiten","notifyAllCasesPassed":"Alle {total} saker best\xe5tt ✅","notifySomeCasesFailed":"{passed}/{total} best\xe5tt, {failed} mislyktes","notifyEvalRunFailed":"Evalkj\xf8ring mislyktes","notifyEvalTitle":"Eval: {name}","modelEvals":"Modellvurderinger","evalsHeroDescription":"Test og valider LLM-endepunktene dine ved \xe5 kj\xf8re forh\xe5ndsdefinerte evalueringspakker. Hver suite inneholder testtilfeller som sender reelle sp\xf8rsm\xe5l gjennom OmniRoute og sammenligner svar med forventede kriterier – som hjelper deg med \xe5 oppdage regresjoner, sammenligne modeller og sikre svarkvalitet p\xe5 tvers av leverand\xf8rer.","qualityValidation":"Kvalitetsvalidering","modelComparison":"Modellsammenligning","regressionDetection":"Regresjonsdeteksjon","latencyBenchmarks":"Latency Benchmarks","modelLockouts":"Modellsperringer","noLockouts":"Ingen modeller er for \xf8yeblikket l\xe5st","activeSessions":"Aktive \xf8kter","noSessions":"Ingen aktive \xf8kter","sessionsHint":"\xd8kter vises n\xe5r foresp\xf8rsler flyter gjennom proxyen","sessionsTrackedHint":"Spores via foresp\xf8rsel om fingeravtrykk • Auto-refresh 5s","session":"Sesjon","age":"Alder","requests":"Foresp\xf8rsler","connection":"Tilkobling","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}t","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Leverand\xf8rgrenser","noProviders":"Ingen leverand\xf8rer tilkoblet","connectProvidersForQuota":"Koble til leverand\xf8rer med OAuth for \xe5 spore API-kvotegrenser og bruk.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(filtrert fra {count})","autoRefresh":"Automatisk oppdatering","refreshAll":"Oppdater alle","loadingQuotas":"Laster inn...","account":"Konto","modelQuotas":"Modellkvoter","lastUsed":"Sist brukt","actions":"Handlinger","refreshQuota":"Oppdater kvote","today":"I dag","tomorrow":"I morgen","dayTimeFormat":"{day}, {time}","inDuration":"i {duration}","notApplicable":"N/A","rawPlanWithValue":"R\xe5 plan: {plan}","noPlanFromProvider":"Ingen plan fra leverand\xf8ren","noQuotaData":"Ingen kvotedata","noQuotaDataAvailable":"Ingen kvotedata tilgjengelig","noAccountsForTierFilter":"Fant ingen kontoer for niv\xe5filter","tierAll":"Alle","tierEnterprise":"Enterprise","tierTeam":"Team","tierBusiness":"Business","tierUltra":"Ultra","tierPro":"Pro","tierPlus":"Pluss","tierFree":"Gratis","tierUnknown":"Ukjent"},"modals":{"waitingAuth":"Venter p\xe5 autorisasjon","verificationUrl":"Verifiserings-URL","yourCode":"Din kode","remoteAccess":"Fjerntilgang:","connectedSuccess":"Tilkoblet vellykket!","connectionFailed":"Tilkobling mislyktes","chooseAuthMethod":"Velg autentiseringsmetode:","awsBuilderId":"AWS Builder ID","awsIamIdentity":"AWS IAM Identity Center","googleAccount":"Google-konto","githubAccount":"GitHub-konto","importToken":"Importer token","pasteToken":"Lim inn oppdateringstoken fra Kiro IDE.","awsRegion":"AWS-regionen","autoDetecting":"Automatisk oppdager tokens...","readingFromCache":"Leser fra AWS SSO-cache","readingFromCursor":"Leser fra Cursor IDE-databasen","initializing":"Initialiserer...","pricingConfig":"Priskonfigurasjon","loadingPricing":"Laster inn prisdata ...","pricingRatesFormat":"Prisformat","noPricingData":"Ingen prisdata tilgjengelig","noModelsFound":"Ingen modeller funnet"},"loggers":{"allProviders":"Alle leverand\xf8rer","allModels":"Alle modeller","allAccounts":"Alle kontoer","allApiKeys":"Alle API-n\xf8kler","allTypes":"Alle typer","allLevels":"Alle niv\xe5er","modelAZ":"Modell A-Z","modelZA":"Modell Z-A","loadingLogs":"Laster inn logger...","loadingProxyLogs":"Laster inn proxy-logger ...","noLogEntries":"Ingen loggoppf\xf8ringer funnet","noPayloadData":"Ingen nyttelastdata tilgjengelig for denne loggoppf\xf8ringen.","proxyEvent":"Proxy-hendelse","proxy":"Fullmakt","level":"Niv\xe5","directNative":"Direkte (innf\xf8dt)","combo":"Combo","inputTokens":"jeg:","outputTokens":"O:"},"stats":{"usageOverview":"Bruksoversikt","outputTokens":"Output tokens","totalCost":"Total kostnad","usageByModel":"Bruk etter modell","usageByAccount":"Bruk etter konto","failedToLoad":"Kunne ikke laste inn bruksstatistikk.","tokenHealth":"Token Health","totalOAuth":"Totalt OAuth","healthy":"Sunn","warning":"Advarsel","errored":"Feil","lastCheck":"Siste sjekk","noData":"Ingen data","share":"Del","unableToLoad":"Kan ikke laste inn systemberegninger","product":"Produkt","resources":"Ressurser","company":"Selskapet"},"auth":{"welcome":"Velkommen","signIn":"Logg p\xe5","enterPassword":"Skriv inn passordet ditt for \xe5 fortsette","password":"Passord","unifiedProxy":"Unified AI API Proxy","unifiedAiApiProxy":"Unified AI API Proxy","unifiedAiApiProxyDesc":"Rut foresp\xf8rsler til flere AI-leverand\xf8rer gjennom ett enkelt endepunkt. Lastbalansering, failover og brukssporing innebygd.","passwordNotEnabled":"Passordbeskyttelse er ikke aktivert","loading":"Laster inn...","invalidPassword":"Ugyldig passord","errorOccurredRetry":"Det oppsto en feil. Vennligst pr\xf8v igjen.","configureInstance":"La oss f\xe5 konfigurert OmniRoute-forekomsten","runOnboardingWizard":"Kj\xf8r onboarding-veiviseren for \xe5 sette opp passordet ditt og koble til din f\xf8rste AI-leverand\xf8r.","startOnboarding":"Start onboarding","secureYourInstance":"Sikre din forekomst","setPasswordDescription":"Angi et passord for \xe5 beskytte dashbordet og sikre API-endepunktene dine mot uautorisert tilgang.","configurePassword":"Konfigurer passord","continue":"Fortsett","windowWillClose":"Dette vinduet lukkes automatisk...","closeTabNow":"Du kan lukke denne fanen n\xe5.","copyUrlManual":"Vennligst kopier URL-en fra adressefeltet og lim den inn i applikasjonen.","accessDeniedDescription":"Du har ikke tillatelse til \xe5 f\xe5 tilgang til denne ressursen. Sjekk API-n\xf8kkelen din eller kontakt administratoren.","goToDashboard":"G\xe5 til Dashboard","featureMultiProviderTitle":"Multileverand\xf8r","featureMultiProviderDesc":"OpenAI, Anthropic, Google og mer","featureLoadBalancingTitle":"Lastbalansering","featureLoadBalancingDesc":"Distribuer foresp\xf8rsler intelligent","featureUsageTrackingTitle":"Brukssporing","featureUsageTrackingDesc":"Overv\xe5k kostnader og tokens","resetPassword":"Tilbakestill passord","resetDescription":"Velg en metode for \xe5 gjenopprette tilgangen til dashbordet","stopServer":"Stopp OmniRoute-serveren","processing":"Behandler...","pleaseWait":"Vennligst vent mens vi fullf\xf8rer autorisasjonen.","authSuccess":"Godkjenning vellykket!","copyUrl":"Kopier denne nettadressen","accessDenied":"Tilgang nektet","methodCliTitle":"Metode 1: CLI-tilbakestilling","methodCliDescription":"Kj\xf8r f\xf8lgende kommando p\xe5 serveren der OmniRoute kj\xf8rer:","methodCliHint":"Dette vil be deg om \xe5 angi et nytt passord. Serveren m\xe5 stoppes f\xf8rst.","methodManualTitle":"Metode 2: Manuell tilbakestilling","methodManualDescription":"Slett passordet fra databasen og sett et nytt ved oppstart:","setPasswordInYour":"Sett et nytt passord i din","fileLabelSuffix":"fil:","newPasswordPlaceholder":"ditt_nye_passord","deleteSettingsFile":"Slett","orRemovePasswordHashField":"eller fjern passordHash-feltet","restartServerWithNewPassword":"Start serveren p\xe5 nytt - den vil bruke det nye passordet","backToLogin":"Tilbake til p\xe5logging","forgotPassword":"Glemt passord?"},"landing":{"brandName":"OmniRoute","navigateHome":"Naviger til hjem","toggleMenu":"Bytt meny","featuresLink":"Funksjoner","docsLink":"Dokumenter","github":"GitHub","versionLive":"v1.0 er n\xe5 live","oneEndpoint":"Ett endepunkt for","allProviders":"Alle AI-leverand\xf8rer","heroDescription":"AI-endepunktproxy med web-dashboard - En JavaScript-port av CLIProxyAPI. Fungerer s\xf8ml\xf8st med Claude Code, OpenAI Codex, Cline, RooCode og andre CLI-verkt\xf8y.","getStarted":"Kom i gang","viewOnGithub":"Se p\xe5 GitHub","powerfulFeatures":"Kraftige funksjoner","featuresSubtitle":"Alt du trenger for \xe5 administrere AI-infrastrukturen din p\xe5 ett sted, bygget for skala.","featureUnifiedEndpointTitle":"Samlet endepunkt","featureUnifiedEndpointDesc":"F\xe5 tilgang til alle leverand\xf8rer via en enkelt standard API-URL.","featureEasySetupTitle":"Enkelt oppsett","featureEasySetupDesc":"Kom i gang p\xe5 f\xe5 minutter med npx-kommandoen.","featureModelFallbackTitle":"Modell Fallback","featureModelFallbackDesc":"Bytt leverand\xf8r automatisk ved feil eller h\xf8y ventetid.","featureUsageTrackingTitle":"Brukssporing","featureUsageTrackingDesc":"Detaljert analyse og kostnadsoverv\xe5king p\xe5 tvers av alle modeller.","featureOAuthApiKeysTitle":"OAuth- og API-n\xf8kler","featureOAuthApiKeysDesc":"Administrer legitimasjon p\xe5 en sikker m\xe5te i ett hvelv.","featureCloudSyncTitle":"Cloud Sync","featureCloudSyncDesc":"Synkroniser konfigurasjonene dine p\xe5 tvers av enheter umiddelbart.","featureCliSupportTitle":"CLI-st\xf8tte","featureCliSupportDesc":"Fungerer med Claude Code, Codex, Cline, Cursor og mer.","featureDashboardTitle":"Dashbord","featureDashboardDesc":"Visuelt dashbord for trafikkanalyse i sanntid.","howItWorks":"Hvordan OmniRoute fungerer","howItWorksDescription":"Data flyter s\xf8ml\xf8st fra applikasjonen din gjennom v\xe5rt intelligente rutinglag til den beste leverand\xf8ren for jobben.","howItWorksStep1Title":"1. CLI og SDK-er","howItWorksStep1Description":"Foresp\xf8rslene dine starter fra favorittverkt\xf8yene dine eller v\xe5r enhetlige SDK. Bare endre basis-URLen.","howItWorksStep2Title":"2. OmniRoute Hub","howItWorksStep2Description":"Motoren v\xe5r analyserer foresp\xf8rselen, sjekker leverand\xf8rens helse og ruter for lavest ventetid eller kostnad.","howItWorksStep3Title":"3. AI-leverand\xf8rer","howItWorksStep3Description":"Foresp\xf8rselen oppfylles av OpenAI, Anthropic, Gemini eller andre umiddelbart.","getStartedIn30Seconds":"Kom i gang p\xe5 30 sekunder","getStartedDescription":"Installer OmniRoute, konfigurer leverand\xf8rene dine via nettdashbordet, og begynn \xe5 rute AI-foresp\xf8rsler.","installOmniRoute":"Installer OmniRoute","installStepDescription":"Kj\xf8r npx-kommandoen for \xe5 starte serveren umiddelbart","openDashboard":"\xc5pne Dashboard","openDashboardStepDescription":"Konfigurer leverand\xf8rer og API-n\xf8kler via webgrensesnitt","routeRequests":"Ruteforesp\xf8rsler","routeRequestsStepDescription":"Pek CLI-verkt\xf8yene dine til {endpoint}","terminal":"terminal","copy":"Kopier","copied":"✓ Kopiert","startingOmniRoute":"Starter OmniRoute...","serverRunningOnLabel":"Server kj\xf8rer p\xe5","dashboardLabel":"Dashbord","readyToRoute":"Klar til rute! ✓","configureProvidersNote":"\uD83D\uDCDD Konfigurer leverand\xf8rer i dashbordet eller bruk milj\xf8variabler","dataLocation":"Dataplassering:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Windows:","product":"Produkt","dashboardLink":"Dashbord","changelog":"Endringslogg","resources":"Ressurser","documentation":"Dokumentasjon","npm":"NPM","legal":"Lovlig","mitLicense":"MIT-lisens","footerTagline":"Det enhetlige endepunktet for AI-generering. Koble til, rute og administrer AI-leverand\xf8rene dine p\xe5 en enkel m\xe5te.","copyright":"\xa9 {year} OmniRoute. Alle rettigheter forbeholdt.","flowToolClaudeCode":"Claude Code","flowToolOpenAICodex":"OpenAI Codex","flowToolCline":"Cline","flowToolCursor":"Mark\xf8r","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Antropisk","flowProviderGemini":"Tvillingene","flowProviderGithubCopilot":"GitHub Copilot","interactiveDiagram":"Interaktivt diagram synlig p\xe5 skrivebordet","ctaTitle":"Klar til \xe5 forenkle AI-infrastrukturen din?","ctaDescription":"Bli med utviklere som str\xf8mlinjeformer AI-integrasjonene sine med OmniRoute. \xc5pen kildekode og gratis \xe5 starte.","startFree":"Start gratis","readDocumentation":"Les dokumentasjon"},"docs":{"title":"Dokumentasjon","quickStart":"Rask start","features":"Funksjoner","supportedProviders":"St\xf8ttede leverand\xf8rer","supportedProvidersToc":"Leverand\xf8rer","commonUseCases":"Vanlige brukstilfeller","clientCompatibility":"Klientkompatibilitet","apiReference":"API-referanse","method":"Metode","path":"Sti","notes":"Notater","modelPrefixes":"Modellprefikser","prefix":"Prefiks","troubleshooting":"Feils\xf8king","supportsChat":"St\xf8tter b\xe5de chat- og svarendepunkter.","oauthAutoRefresh":"OAuth-tilkobling med automatisk tokenoppdatering.","fullStreaming":"Full streamingst\xf8tte for alle modeller.","docsLabel":"Dokumenter","docsHeroDescription":"AI-gateway for LLM-er med flere leverand\xf8rer. Ett endepunkt for OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor og mer enn 20 leverand\xf8rer.","openDashboard":"\xc5pne Dashboard","endpointPage":"Sluttpunktside","github":"GitHub","reportIssue":"Rapporter problem","onThisPage":"P\xe5 denne siden","documentationVersion":"Dokumentasjon - v{version}","quickStartStep1Title":"1. Installer og kj\xf8r","quickStartStep1Prefix":"L\xf8p","quickStartStep1Middle":"eller klone fra GitHub og kj\xf8re","quickStartStep2Title":"2. Opprett API-n\xf8kkel","quickStartStep2Text":"G\xe5 til endepunkt -> Registrerte n\xf8kler. Generer \xe9n n\xf8kkel per milj\xf8.","quickStartStep3Title":"3. Koble til leverand\xf8rer","quickStartStep3Text":"Legg til leverand\xf8rkontoer via OAuth-p\xe5logging, API-n\xf8kkel eller gratis-lags automatisk tilkobling.","quickStartStep4Title":"4. Angi klientbase-URL","quickStartStep4Prefix":"Pek IDE- eller API-klienten din til","quickStartStep4Suffix":"Bruk for eksempel leverand\xf8rprefiks","featureRoutingTitle":"Ruting for flere leverand\xf8rer","featureRoutingText":"Rut foresp\xf8rsler til 30+ AI-leverand\xf8rer gjennom ett enkelt OpenAI-kompatibelt endepunkt. St\xf8tter chat, svar, lyd og bilde-APIer.","featureCombosTitle":"Kombinasjoner og balansering","featureCombosText":"Lag modellkombinasjoner med reservekjeder og balanseringsstrategier: round-robin, prioritet, tilfeldig, minst brukt og kostnadsoptimalisert.","featureUsageTitle":"Bruk og kostnadssporing","featureUsageText":"Sanntids-tokentelling, kostnadsberegning per leverand\xf8r/modell og detaljert bruksoppdeling etter API-n\xf8kkel og konto.","featureAnalyticsTitle":"Analytics Dashboard","featureAnalyticsText":"Visuell analyse med diagrammer for foresp\xf8rsler, tokens, feil, ventetid, kostnader og modellpopularitet over tid.","featureHealthTitle":"Helseoverv\xe5king","featureHealthText":"Live helsesjekker, leverand\xf8rstatus, str\xf8mbrytertilstander og automatisk hastighetsgrensedeteksjon med eksponentiell tilbakekobling.","featureCliTitle":"CLI-verkt\xf8y","featureCliText":"Administrer IDE-konfigurasjoner, eksporter/importer sikkerhetskopier, oppdag kodex-profiler og konfigurer innstillinger fra dashbordet.","featureSecurityTitle":"Sikkerhet og retningslinjer","featureSecurityText":"API-n\xf8kkelautentisering, IP-filtrering, prompt-injeksjonsvakt, domenepolicyer, \xf8ktadministrasjon og revisjonslogging.","featureCloudSyncTitle":"Cloud Sync","featureCloudSyncText":"Synkroniser konfigurasjonen din med Cloudflare Workers for ekstern tilgang med kryptert legitimasjon og automatisk failover.","providersAcrossConnectionTypes":"{count}-leverand\xf8rer p\xe5 tvers av tre tilkoblingstyper.","manageProviders":"Administrer leverand\xf8rer","providersCount":"{count} leverand\xf8rer","providerTypeFree":"Gratis lag","providerTypeOAuth":"OAuth","providerTypeApiKey":"API-n\xf8kkel","useCaseSingleEndpointTitle":"Enkelt endepunkt for mange leverand\xf8rer","useCaseSingleEndpointText":"Pek klienter til \xe9n basis-URL og rute etter modellprefiks (for eksempel: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Fallback og modellbytte med kombinasjoner","useCaseFallbackText":"Lag kombinasjonsmodeller i Dashboard og hold klientkonfigurasjonen stabil mens leverand\xf8rene roterer internt.","useCaseUsageVisibilityTitle":"Bruk, kostnader og feils\xf8kingssynlighet","useCaseUsageVisibilityText":"Spor tokens og kostnader etter leverand\xf8r, konto og API-n\xf8kkel i fanene Bruk og Analytics.","clientCherryStudioTitle":"Cherry Studio","baseUrlLabel":"Base URL","chatEndpointLabel":"Chat-endepunkt","modelRecommendationLabel":"Modellanbefaling: eksplisitt prefiks","clientCodexTitle":"Codex / GitHub Copilot-modeller","clientCodexBullet1":"Bruk modell-ID-er med","clientCodexBullet2":"Codex-familiemodeller rutes automatisk til","clientCodexBullet3":"Ikke-Codex-modeller fortsetter","clientCursorTitle":"Mark\xf8r IDE","clientCursorBullet1":"Bruk","clientCursorBullet1Suffix":"prefiks for Cursor-modeller.","clientCursorBullet2":"OAuth-tilkobling - logg p\xe5 fra siden Leverand\xf8rer.","clientClaudeTitle":"Claude Code / Antigravity","clientClaudeBullet1Prefix":"Bruk","clientClaudeBullet1Middle":"(Claude) eller","clientClaudeBullet1Suffix":"(Antigravity) prefiks.","endpointChatNote":"OpenAI-kompatibelt chat-endepunkt (standard).","endpointResponsesNote":"Responses API-endepunkt (Codex, o-serien).","endpointModelsNote":"Modellkatalog for alle tilkoblede leverand\xf8rer.","endpointAudioNote":"Lydtranskripsjon (Deepgram, AssemblyAI).","endpointImagesNote":"Bildegenerering (NanoBanana).","endpointRewriteChatNote":"Omskrivehjelper for klienter uten /v1.","endpointRewriteResponsesNote":"Omskriv hjelper for svar uten /v1.","endpointRewriteModelsNote":"Omskrivehjelper for modelloppdagelse uten /v1.","modelPrefixesDescriptionStart":"Bruk leverand\xf8rprefikset f\xf8r modellnavnet for \xe5 rute til en bestemt leverand\xf8r. Eksempel:","modelPrefixesDescriptionEnd":"ruter til GitHub Copilot.","provider":"Leverand\xf8r","type":"Type","troubleshootingModelRouting":"Hvis klienten mislykkes med modellruting, bruk eksplisitt leverand\xf8r/modell (for eksempel: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Hvis du f\xe5r tvetydige modellfeil, velger du et leverand\xf8rprefiks i stedet for en bare modell-ID.","troubleshootingCodexFamily":"For GitHub Codex-familiemodeller, behold modellen som gh/<codex-model>; ruteren velger /responser automatisk.","troubleshootingTestConnection":"Bruk Dashboard > Leverand\xf8rer > Test tilkobling f\xf8r du tester fra IDE-er eller eksterne klienter.","troubleshootingCircuitBreaker":"Hvis en leverand\xf8r viser at str\xf8mbryteren er \xe5pen, vent p\xe5 nedkj\xf8ling eller sjekk helsesiden for detaljer.","troubleshootingOAuth":"For OAuth-leverand\xf8rer, autentiser p\xe5 nytt hvis tokens utl\xf8per. Sjekk leverand\xf8rkortets statusindikator."},"legal":{"privacyPolicy":"Personvernerkl\xe6ring","termsOfService":"Vilk\xe5r for bruk","providerConfigurations":"Leverand\xf8rkonfigurasjoner","apiKeys":"API-n\xf8kler","usageLogs":"Brukslogger","applicationSettings":"Applikasjonsinnstillinger","viewExportAnalytics":"Se og eksporter bruksanalyse","clearHistory":"T\xf8m brukshistorikken n\xe5r som helst","configureRetention":"Konfigurer retningslinjer for loggoppbevaring","backupRestore":"Sikkerhetskopier og gjenopprett databasen","privacyMetadataTitle":"Personvernerkl\xe6ring | OmniRoute","privacyMetadataDescription":"Personvernregler for OmniRoute AI API-proxy-ruteren.","termsMetadataTitle":"Vilk\xe5r for bruk | OmniRoute","termsMetadataDescription":"Vilk\xe5r for bruk for OmniRoute AI API-proxy-ruteren.","backToHome":"Tilbake til hjemmet","lastUpdated":"Sist oppdatert: {date}","policyLastUpdatedDate":"13. februar 2026","listSeparator":"-","questionsVisit":"Sp\xf8rsm\xe5l? Bes\xf8k v\xe5r","githubRepository":"GitHub-depot","privacySection1Title":"1. Lokal-f\xf8rst arkitektur","privacySection1Text":"OmniRoute er designet som en lokal f\xf8rst-applikasjon. All databehandling og lagring skjer utelukkende p\xe5 maskinen din. Det er ingen sentralisert server som samler inn informasjonen din.","privacySection2Title":"2. Data vi lagrer","privacyDataStoredIn":"F\xf8lgende data lagres lokalt i","privacyDataProviderConfigurationsDesc":"tilkoblings-URLer, leverand\xf8rtyper og prioritetsinnstillinger","privacyDataApiKeysDesc":"kryptert og lagret lokalt for autentisering med AI-leverand\xf8rer","privacyDataUsageLogsDesc":"antall foresp\xf8rsler, tokenbruk, modellnavn, tidsstempler og responstider","privacyDataApplicationSettingsDesc":"temapreferanser, rutingstrategi og kombinasjonskonfigurasjoner","privacySection3Title":"3. Ingen telemetri","privacySection3Text":"OmniRoute samler ikke inn telemetri, analyser eller krasjrapporter. Ingen data sendes til oss eller noen tredjepart. Dine bruksm\xf8nstre, API-kall og konfigurasjoner forblir helt private.","privacySection4Title":"4. Tredjeparts AI-leverand\xf8rer","privacySection4Text":"N\xe5r du foretar API-anrop gjennom OmniRoute, blir foresp\xf8rslene dine videresendt til AI-leverand\xf8rene du har konfigurert (for eksempel: OpenAI, Anthropic, Google). Disse leverand\xf8rene har sine egne retningslinjer for personvern som styrer hvordan de h\xe5ndterer dataene dine. Vennligst se gjennom:","privacyOpenAiPolicy":"OpenAI personvernerkl\xe6ring","privacyAnthropicPolicy":"Antropiske retningslinjer for personvern","privacyGooglePolicy":"Googles personvernregler","privacySection5Title":"5. Cloud Sync (valgfritt)","privacySection5Text":"Hvis du aktiverer den valgfrie skysynkroniseringsfunksjonen, kan leverand\xf8rkonfigurasjoner og API-n\xf8kler overf\xf8res til et konfigurert skyendepunkt. Denne funksjonen er deaktivert som standard og krever eksplisitt opt-in.","privacySection6Title":"6. Logging","privacyLoggingIntro":"Foresp\xf8rselslogger kan konfigureres gjennom dashbordinnstillingene. Du kan:","privacySection7Title":"7. Dine rettigheter","privacySection7TextStart":"Siden all data er lagret lokalt, har du full kontroll. Du kan slette dataene dine n\xe5r som helst ved \xe5 fjerne","privacySection7TextEnd":"katalogen eller bruke funksjonene for sikkerhetskopiering og gjenoppretting av databasen i dashbordet.","termsSection1Title":"1. Oversikt","termsSection1Text":"OmniRoute er en lokal-f\xf8rste AI API-proxy-ruter som fungerer utelukkende p\xe5 maskinen din. Den ruter foresp\xf8rsler til flere AI-leverand\xf8rer med lastbalansering, failover og brukssporing.","termsSection2Title":"2. Brukeransvar","termsResponsibilityApiKeys":"Du er alene ansvarlig for \xe5 administrere dine egne API-n\xf8kler og legitimasjon for tredjeparts AI-leverand\xf8rer (OpenAI, Anthropic, Google, etc.).","termsResponsibilityCompliance":"Du m\xe5 overholde vilk\xe5rene for bruk for hver AI-leverand\xf8r hvis API du f\xe5r tilgang til gjennom OmniRoute.","termsResponsibilitySecurity":"Du er ansvarlig for sikkerheten til din lokale OmniRoute-installasjon, inkludert \xe5 angi et passord og begrense nettverkstilgang.","termsSection3Title":"3. Hvordan det fungerer","termsSection3Text":"OmniRoute fungerer som en mellomfullmektig. API-anrop som sendes til OmniRoute, oversettes og videresendes til dine konfigurerte AI-leverand\xf8rer. OmniRoute endrer ikke innholdet i dine foresp\xf8rsler eller svar utover den n\xf8dvendige protokolloversettelsen.","termsSection4Title":"4. Datah\xe5ndtering","termsDataStoredLocally":"Alle data lagres lokalt p\xe5 din maskin i en SQLite-database.","termsNoTransmission":"OmniRoute overf\xf8rer ingen data til eksterne servere med mindre du eksplisitt aktiverer skysynkroniseringsfunksjoner.","termsDataLocationText":"Brukslogger, API-n\xf8kler og konfigurasjon lagres i","termsSection5Title":"5. Ansvarsfraskrivelse","termsSection5Text":"OmniRoute leveres \\"som den er\\" uten garanti av noe slag. Vi er ikke ansvarlige for kostnader som p\xe5l\xf8per gjennom API-bruk, tjenesteavbrudd eller tap av data. Oppretthold alltid sikkerhetskopier av konfigurasjonen din.","termsSection6Title":"6. \xc5pen kildekode","termsSection6Text":"OmniRoute er \xe5pen kildekode-programvare. Du st\xe5r fritt til \xe5 inspisere, modifisere og distribuere den under lisensvilk\xe5rene."}}')}};
1
+ "use strict";exports.id=8220,exports.ids=[8220],exports.modules={88220:a=>{a.exports=JSON.parse('{"common":{"save":"Lagre","cancel":"Avbryt","delete":"Slett","loading":"Laster inn...","error":"Det oppsto en feil","success":"Suksess","confirm":"Er du sikker?","refresh":"Oppdater","close":"Lukk","add":"Legg til","edit":"Rediger","search":"S\xf8k","back":"Tilbake","next":"Neste","submit":"Send inn","reset":"Tilbakestill","copy":"Kopier","copied":"Kopiert!","enabled":"Aktivert","disabled":"Deaktivert","active":"Aktiv","inactive":"Inaktiv","noData":"Ingen data tilgjengelig","configure":"Konfigurer","manage":"Administrer","name":"Navn","actions":"Handlinger","status":"Status","type":"Type","model":"Modell","models":"modeller","provider":"Leverand\xf8r","account":"Konto","time":"Tid","details":"Detaljer","created":"Opprettet","lastUsed":"Sist brukt","loadMore":"Last inn mer","noResults":"Ingen resultater funnet","reloadPage":"Last inn siden p\xe5 nytt","connected":"Tilkoblet","disconnected":"Koblet fra","notConfigured":"Ikke konfigurert","testConnection":"Test tilkobling","enable":"Aktiver","disable":"Deaktiver","columns":"Kolonner","newest":"Nyeste","oldest":"Eldst","all":"Alle","none":"Ingen","yes":"Ja","no":"Nei","warning":"Advarsel","note":"Merk","free":"Gratis","skipToContent":"G\xe5 til innhold"},"sidebar":{"home":"Hjem","dashboard":"Dashbord","providers":"Leverand\xf8rer","combos":"Combos","usage":"Bruk","analytics":"Analytics","costs":"Kostnader","health":"Helse","limits":"Grenser og kvoter","cliTools":"CLI-verkt\xf8y","settings":"Innstillinger","translator":"Oversetter","docs":"Dokumenter","issues":"Problemer","endpoint":"Endepunkt","apiManager":"API-behandler","logs":"Logger","auditLog":"Revisjonslogg","shutdown":"Avslutning","restart":"Start p\xe5 nytt","shutdownConfirm":"Sl\xe5 av OmniRoute?","restartConfirm":"Starte OmniRoute p\xe5 nytt?","version":"v{version}","debug":"Feils\xf8k","system":"System","help":"Hjelp","serverDisconnected":"Server frakoblet","serverDisconnectedMsg":"Proxy-serveren er stoppet eller starter p\xe5 nytt.","expandSidebar":"Utvid sidefeltet","collapseSidebar":"Skjul sidefeltet"},"header":{"logout":"Logg ut","language":"Spr\xe5k","providers":"Leverand\xf8rer","providerDescription":"Administrer AI-leverand\xf8rtilkoblingene dine","combos":"Combos","comboDescription":"Modellkombinasjoner med fallback","usage":"Bruk og analyse","usageDescription":"Overv\xe5k API-bruken din, tokenforbruk og foresp\xf8rselslogger","analytics":"Analytics","analyticsDescription":"Diagrammer, trender og evalueringsinnsikt","cliTools":"CLI-verkt\xf8y","cliToolsDescription":"Konfigurer CLI-verkt\xf8y","home":"Hjem","homeDescription":"Velkommen til OmniRoute","endpoint":"Endepunkt","endpointDescription":"API-endepunktkonfigurasjon","settings":"Innstillinger","settingsDescription":"Administrer dine preferanser","openaiCompatible":"OpenAI-kompatibel","anthropicCompatible":"Antropisk kompatibel"},"home":{"quickStart":"Rask start","quickStartDesc":"Kom i gang i 4 trinn. Koble til leverand\xf8rer, rutemodeller, overv\xe5k alt.","fullDocs":"Fulle dokumenter","step1Title":"1. Opprett API-n\xf8kkel","step1Desc":"G\xe5 til <endpoint>Endpoint</endpoint> -> Registrerte n\xf8kler. Generer \xe9n n\xf8kkel per milj\xf8.","step2Title":"2. Koble til leverand\xf8rer","step2Desc":"Legg til kontoer i <providers>Providers</providers>. St\xf8tter OAuth, API Key og gratis niv\xe5er.","step3Title":"3. Pek klienten din","step3Desc":"Angi basis-URL til {url} i IDE- eller API-klienten.","step4Title":"4. Overv\xe5k og optimaliser","step4Desc":"Spor tokens, kostnader og feil i <logs>Request Logs</logs> og <analytics>Analytics</analytics>.","providersOverview":"Oversikt over leverand\xf8rer","configuredOf":"{configured} konfigurert av {total} tilgjengelige leverand\xf8rer","noModelsAvailable":"Ingen modeller tilgjengelig for denne leverand\xf8ren.","configureFirst":"Konfigurer en tilkobling f\xf8rst i {providers}","configureProvider":"Konfigurer leverand\xf8r","modelAvailable":"{count} modell tilgjengelig","modelsAvailable":"{count} modeller tilgjengelig","connectionsActive":"{count} tilkobling aktiv","connectionsActivePlural":"{count} tilkoblinger aktive","copyModelName":"Kopier modellnavnet","documentation":"Dokumentasjon","healthMonitor":"Helsemonitor","reportIssue":"Rapporter problem","activeError":"{active} aktiv \xb7 {errors} feil","oauthLabel":"OAuth","apiKeyLabel":"API-n\xf8kkel","requestsShort":"{count} req","providerModelsTitle":"{provider} - Modeller","copiedModel":"Kopiert: {model}","aliasLabel":"alias"},"analytics":{"title":"Analytics","overviewDescription":"Overv\xe5k API-bruksm\xf8nstre, tokenforbruk, kostnader og aktivitetstrender p\xe5 tvers av alle leverand\xf8rer og modeller.","evalsDescription":"Kj\xf8r evalueringspakker for \xe5 teste og validere LLM-endepunktene dine. Sammenlign modellkvalitet, registrer regresjoner og benchmark latens.","overview":"Oversikt","evals":"Evals"},"apiManager":{"title":"API-n\xf8kler","createKey":"Opprett API-n\xf8kkel","key":"N\xf8kkel","revokeKey":"Tilbakekall n\xf8kkel","revokeConfirm":"Er du sikker p\xe5 at du vil tilbakekalle denne API-n\xf8kkelen?","noKeys":"Ingen API-n\xf8kler enn\xe5","noKeysDesc":"Lag din f\xf8rste API-n\xf8kkel for \xe5 autentisere foresp\xf8rsler til endepunktet ditt","keyLabel":"N\xf8kkeletikett","permissions":"Tillatelser","expiresAt":"Utl\xf8per","never":"Aldri","revoke":"Oppheve","showKey":"Vis n\xf8kkel","hideKey":"Skjul n\xf8kkel","copyKey":"Kopier API-n\xf8kkel","allModels":"Alle modeller","selectedModels":"Utvalgte modeller","readOnly":"Kun lesetilgang","fullAccess":"Full tilgang","keyManagement":"API Key Management","keyManagementDesc":"Opprett og administrer API-n\xf8kler for autentisering av foresp\xf8rsler til endepunktet ditt","totalKeys":"Totaln\xf8kler","restricted":"Begrenset","totalRequests":"Totalt antall foresp\xf8rsler","modelsAvailable":"Modeller tilgjengelig","registeredKeys":"Registrerte n\xf8kler","keysRegistered":"{count} n\xf8kler registrert","keyRegistered":"{count} n\xf8kkel registrert","keysSecurityNote":"Hver n\xf8kkel isolerer brukssporing og kan trekkes tilbake uavhengig. N\xf8kler er maskert etter opprettelse for sikkerhet.","createFirstKey":"Lag din f\xf8rste n\xf8kkel","name":"Navn","usage":"Bruk","created":"Opprettet","actions":"Handlinger","reqs":"krav","neverUsed":"Aldri brukt","deleteConfirm":"Vil du slette denne API-n\xf8kkelen?","usageTips":"Brukstips","tipAuth":"Bruk API-n\xf8kler i autorisasjonsoverskriften som b\xe6rer DIN_KEY","tipSecure":"N\xf8kler vises bare \xe9n gang under opprettelsen – oppbevar dem sikkert","tipSeparate":"Lag separate n\xf8kler for forskjellige klienter eller milj\xf8er","tipRestrict":"Begrens n\xf8kler til spesifikke modeller for bedre sikkerhet og kostnadskontroll","keyName":"N\xf8kkelnavn","keyNamePlaceholder":"f.eks. produksjonsn\xf8kkel, utviklingsn\xf8kkel","keyNameDesc":"Velg et beskrivende navn for \xe5 identifisere form\xe5let med denne n\xf8kkelen","keyCreated":"API-n\xf8kkel opprettet","keyCreatedSuccess":"N\xf8kkel ble opprettet!","keyCreatedNote":"Kopier og lagre denne n\xf8kkelen n\xe5 – den vises ikke igjen.","done":"Ferdig","savePermissions":"Lagre tillatelser","allowAll":"Tillat alle","restrict":"Begrens","allowAllInfo":"Denne n\xf8kkelen har tilgang til alle tilgjengelige modeller.","restrictInfo":"Denne n\xf8kkelen har tilgang til {selected} av {total}-modeller.","selected":"{count} valgt","all":"Alle","clear":"Klart","searchModels":"S\xf8k etter modeller etter navn eller leverand\xf8r...","noModelsFound":"Ingen modeller funnet","keyNameRequired":"N\xf8kkelnavn er p\xe5krevd","keyNameTooLong":"N\xf8kkelnavnet m\xe5 v\xe6re {max} tegn eller mindre","keyNameInvalid":"N\xf8kkelnavn kan bare inneholde bokstaver, tall, mellomrom, bindestreker og understreker","invalidKeyName":"Ugyldig n\xf8kkelnavn","failedCreateKey":"Kunne ikke opprette n\xf8kkel","failedCreateKeyRetry":"Kunne ikke opprette n\xf8kkel. Vennligst pr\xf8v igjen.","invalidKeyId":"Ugyldig n\xf8kkel-ID","failedDeleteKey":"Kunne ikke slette n\xf8kkelen","failedDeleteKeyRetry":"Kunne ikke slette n\xf8kkelen. Vennligst pr\xf8v igjen.","invalidModelsSelection":"Ugyldig modellvalg","cannotSelectMoreThanModels":"Kan ikke velge mer enn {max} modeller","failedUpdatePermissions":"Kunne ikke oppdatere tillatelser","failedUpdatePermissionsRetry":"Kunne ikke oppdatere tillatelser. Vennligst pr\xf8v igjen.","unknownProvider":"ukjent","copyMaskedKey":"Kopier maskert n\xf8kkel","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Siste: {date}","editPermissions":"Rediger tillatelser","deleteKey":"Slett n\xf8kkel","model":"{count} modell","models":"{count} modeller","permissionsTitle":"Tillatelser: {name}","allowAllDesc":"Denne n\xf8kkelen har tilgang til alle tilgjengelige modeller.","restrictDesc":"Denne n\xf8kkelen har tilgang til {selectedCount} av {totalModels}-modeller.","selectedCount":"{count} valgt"},"auditLog":{"title":"Revisjonslogg","searchPlaceholder":"S\xf8kehandlinger...","action":"Handling","actor":"Skuespiller","target":"M\xe5l","ipAddress":"IP-adresse","timestamp":"Tidsstempel","noEntries":"Ingen revisjonsoppf\xf8ringer funnet","filterByAction":"Filtrer etter handling...","filterByActor":"Filtrer etter skuespiller...","filterEntriesAria":"Filtrer revisjonsloggoppf\xf8ringer","filterByActionTypeAria":"Filtrer etter handlingstype","filterByActorAria":"Filtrer etter skuespiller","refreshAuditLogAria":"Oppdater revisjonslogg","tableAria":"Revisjonsloggoppf\xf8ringer","failedFetchAuditLog":"Kunne ikke hente revisjonsloggen","notAvailable":"—","description":"Administrative handlinger og sikkerhetshendelser","showing":"Viser {count} oppf\xf8ringer (offset {offset})","previous":"Forrige"},"cliTools":{"title":"CLI-verkt\xf8y","noActiveProviders":"Ingen aktive tilbydere","noActiveProvidersDesc":"Vennligst legg til og koble til leverand\xf8rer f\xf8rst for \xe5 konfigurere CLI-verkt\xf8y.","mapModels":"Kartmodeller","testConnection":"Test tilkobling","connectionStatus":"Tilkoblingsstatus","configureEndpoint":"Konfigurer endepunkt","instructions":"Instruksjoner","modelMapping":"Modellkartlegging","baseUrl":"Base URL","apiKey":"API-n\xf8kkel","configured":"Konfigurert","notConfigured":"Ikke konfigurert","notInstalled":"Ikke installert","custom":"Egendefinert","unknown":"Ukjent","lastSavedAt":"Sist lagret: {date}","never":"Aldri","justNow":"akkurat n\xe5","minutesAgoShort":"{count}m siden","hoursAgoShort":"{count}t siden","daysAgoShort":"{count}d siden","monthsAgoShort":"{count}mnd siden","yearsAgoShort":"{count}y siden","runtimeCheckFailed":"Kj\xf8retidssjekk mislyktes","yourApiKeyPlaceholder":"din-api-n\xf8kkelen","modelPlaceholder":"leverand\xf8r/modell-id","configurationSaved":"Konfigurasjonen er lagret.","failedToSave":"Kunne ikke lagre konfigurasjonen.","noApiKeysCreateOne":"Ingen API-n\xf8kler – Opprett en p\xe5 N\xf8kler-siden","defaultOmnirouteKey":"sk_omniroute (standard)","selectModel":"Velg modell","selectModelForAlias":"Velg modell for {alias}","selectModelForTool":"Velg modell for {tool}","select":"Velg","clear":"Klart","comingSoon":"Kommer snart","checkingRuntime":"Sjekker kj\xf8retidsstatus ...","guideOnlyIntegration":"Integrasjon kun for guide (ingen lokal kj\xf8retid kreves)","cliRuntimeDetected":"CLI kj\xf8retid oppdaget og klar","cliFoundNotRunnable":"CLI funnet, men ikke kj\xf8rbar{reason}","cliRuntimeNotDetected":"CLI kj\xf8retid ikke oppdaget","binary":"Bin\xe6r","configPath":"Konfigurasjonsbane","configPathShort":"Konfig","failedCheckRuntimeStatus":"Kunne ikke sjekke kj\xf8retidsstatus.","copy":"Kopier","copied":"Kopiert","copyConfig":"Kopier konfig","saveConfig":"Lagre konfig","selectionSaved":"Utvalget lagret","guide":"Veiledning","detected":"Oppdaget","notReady":"Ikke klar","active":"Aktiv","inactive":"Inaktiv","startMitm":"Start MITM","stopMitm":"Stopp MITM","mitmStarted":"MITM startet vellykket!","mitmStopped":"MITM stoppet vellykket!","failedStart":"Kunne ikke starte MITM","failedStop":"Kunne ikke stoppe MITM","saveMappings":"Lagre tilordninger","mappingsSaved":"Kartene er lagret!","failedSaveMappings":"Kunne ikke lagre tilordninger","howItWorks":"Slik fungerer det:","antigravityHowWorksDesc":"Antigravity sender foresp\xf8rsler til Googles endepunkt. MITM avskj\xe6rer og omdirigerer dem til OmniRoute.","antigravityStep1":"1. Start MITM for \xe5 rute foresp\xf8rsler gjennom OmniRoute.","antigravityStep2Prefix":"2. Legg til","antigravityStep2Suffix":"til vertsfilen din som 127.0.0.1.","antigravityStep3":"3. \xc5pne Antigravity og foresp\xf8rsler vil bli fullf\xf8rt.","sudoPasswordRequiredTitle":"Sudo-passord kreves","sudoPasswordHint":"Administratorpassord kreves for \xe5 endre vertsfil og systemproxyinnstillinger.","enterSudoPassword":"Skriv inn sudo-passord","sudoPasswordRequiredError":"Sudo-passord kreves.","cancel":"Avbryt","confirm":"Bekreft","settingsApplied":"Innstillingene ble brukt!","failedApplySettings":"Kunne ikke bruke innstillingene","settingsReset":"Innstillinger tilbakestilt!","failedResetSettings":"Kunne ikke tilbakestille innstillingene","backupRestored":"Sikkerhetskopien gjenopprettet!","failedRestore":"Kunne ikke gjenopprette","checkingCli":"Sjekker {tool} CLI...","cliNotRunnable":"{tool} CLI installert, men ikke kj\xf8rbar","cliNotInstalled":"{tool} CLI ikke installert","cliNotDetected":"{tool} CLI ikke oppdaget","cliDetectedReady":"{tool} CLI oppdaget og klar","cliFoundFailedHealthcheck":"{tool} CLI ble funnet, men mislyktes med kj\xf8retidshelsesjekk{reason}.","installCliPrompt":"Installer {tool} CLI for \xe5 bruke denne funksjonen.","installCodexPrompt":"Installer Codex CLI for \xe5 bruke funksjonen for automatisk bruk.","hide":"Skjul","howToInstall":"Hvordan installere","installationGuide":"Installasjonsveiledning","platforms":"macOS / Linux / Windows:","afterInstallationRun":"Etter installasjon, kj\xf8r","toVerify":"\xe5 verifisere.","current":"Gjeldende","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Tilbakestill til standard","providerModelPlaceholder":"leverand\xf8r/modell-id","apply":"S\xf8k","reset":"Tilbakestill","manualConfig":"Manuell konfig","backups":"Sikkerhetskopier","configBackups":"Konfigurer sikkerhetskopier","noBackupsYet":"Ingen sikkerhetskopier enn\xe5. Sikkerhetskopier opprettes automatisk f\xf8r hver bruk eller tilbakestilling.","restore":"Gjenopprett","backupRestoredReloading":"Sikkerhetskopien gjenopprettet! Laster inn status p\xe5 nytt ...","failedRestoreBackup":"Kunne ikke gjenopprette sikkerhetskopien","applied":"S\xf8kt!","failed":"Mislyktes","resetDone":"Tilbakestill!","omnirouteConfiguredOpenAiCompatible":"OmniRoute er konfigurert som OpenAI-kompatibel leverand\xf8r","provider":"Leverand\xf8r","model":"Modell","providers":"Leverand\xf8rer","auth":"Auth","noApiKeysAvailable":"Ingen API-n\xf8kler tilgjengelig","usingDefaultOmniroute":"Bruker standard: sk_omniroute","updateConfig":"Oppdater konfig","applyConfig":"Bruk Config","noBackupsAvailable":"Ingen sikkerhetskopier tilgjengelig.","profileSaved":"Profilen \\"{name}\\" er lagret!","failedSaveProfile":"Kunne ikke lagre profilen","profileActivated":"Profil aktivert!","failedActivateProfile":"Kunne ikke aktivere profilen","profiles":"Profiler","savedProfiles":"Lagrede profiler","noProfilesYet":"Ingen profiler er lagret enn\xe5. Lagre gjeldende konfigurasjon som en profil nedenfor.","activate":"Aktiver","deleteProfile":"Slett profil","profileNamePlaceholder":"Profilnavn (f.eks. personlig konto)","saveCurrent":"Lagre gjeldende","codexAuthNotePrefix":"Codex bruker","codexAuthNoteMiddle":"med","codexAuthNoteSuffix":"Klikk \\"Bruk\\" for \xe5 konfigurere automatisk.","claudeManualConfiguration":"Claude CLI - Manuell konfigurasjon","codexManualConfiguration":"Codex CLI - Manual Configuration","droidManualConfiguration":"Factory Droid - Manuell konfigurasjon","openClawManualConfiguration":"\xc5pne Claw - Manuell konfigurasjon","clineManualConfiguration":"Cline manuell konfigurasjon","kiloManualConfiguration":"Kilokode manuell konfigurasjon","toolDescriptions":{"antigravity":"Google Antigravity IDE med MITM","claude":"Antropisk Claude Code CLI","codex":"OpenAI Codex CLI","droid":"Factory Droid AI Assistant","openclaw":"\xc5pne Claw AI Assistant","cline":"Cline AI-kodingsassistent CLI","kilo":"Kilokode AI Assistant CLI","cursor":"Cursor AI Code Editor","continue":"Fortsett AI Assistant"},"guides":{"cursor":{"notes":{"0":"Krever Cursor Pro-konto for \xe5 bruke denne funksjonen.","1":"Mark\xf8ren ruter foresp\xf8rsler gjennom sin egen server, s\xe5 lokalt endepunkt st\xf8ttes ikke. Aktiver Cloud Endpoint i Innstillinger."},"steps":{"1":{"title":"\xc5pne Innstillinger","desc":"G\xe5 til Innstillinger -> Modeller"},"2":{"title":"Aktiver OpenAI API","desc":"Aktiver alternativet \\"OpenAI API-n\xf8kkel\\"."},"3":{"title":"Base URL"},"4":{"title":"API-n\xf8kkel"},"5":{"title":"Legg til egendefinert modell","desc":"Klikk \\"Vis alle modeller\\" -> \\"Legg til egendefinert modell\\""},"6":{"title":"Velg modell"}}},"continue":{"steps":{"1":{"title":"\xc5pne Config","desc":"\xc5pne Fortsett konfigurasjonsfil"},"2":{"title":"API-n\xf8kkel"},"3":{"title":"Velg modell"},"4":{"title":"Legg til modellkonfig","desc":"Legg til f\xf8lgende konfigurasjon til modellarrayet ditt:"}}}}},"combos":{"title":"Combos","description":"Lag modellkombinasjoner med vektet ruting og reservest\xf8tte","createCombo":"Opprett kombinasjon","editCombo":"Rediger kombinasjon","deleteCombo":"Slett kombinasjon","noModels":"Ingen modeller","noModelsYet":"Ingen modeller lagt til enn\xe5","addModel":"Legg til modell","addModelToCombo":"Legg til modell i kombinasjon","routingStrategy":"Rutingstrategi","maxRetries":"Max pr\xf8ver p\xe5 nytt","timeout":"Tidsavbrudd (ms)","healthcheck":"Helsesjekk","priority":"Prioritet","fallback":"Tilbakeslag","roundRobin":"Round Robin","random":"Tilfeldig","leastLatency":"Minste ventetid","comboName":"Kombinasjonsnavn","comboNamePlaceholder":"min-kombo","deleteConfirm":"Vil du slette denne kombinasjonen?","noCombosYet":"Ingen kombinasjoner enn\xe5","comboCreated":"Kombinasjonen ble opprettet","comboUpdated":"Kombinasjonen ble oppdatert","comboDeleted":"Combo slettet","failedCreate":"Kunne ikke opprette kombinasjon","failedUpdate":"Kunne ikke oppdatere kombinasjonen","errorCreating":"Feil ved opprettelse av kombinasjon","errorUpdating":"Feil ved oppdatering av kombinasjon","errorDeleting":"Feil ved sletting av kombinasjon","testFailed":"Testforesp\xf8rsel mislyktes","failedToggle":"Kunne ikke bytte kombinasjon","testResults":"Testresultater — {name}","resolvedBy":"L\xf8st av:","more":"+{count} til","reqs":"krav","success":"suksess","proxyConfigured":"Proxy konfigurert","copyComboName":"Kopier kombinasjonsnavnet","enableCombo":"Aktiver kombinasjon","disableCombo":"Deaktiver kombinasjon","testCombo":"Testkombo","duplicate":"Duplikat","proxyConfig":"Proxy-konfigurasjon","nameRequired":"Navn er p\xe5krevd","nameInvalid":"Bare bokstaver, tall, -, _, / og . tillatt","nameHint":"Bokstaver, tall, -, _, / og . tillatt","priorityDesc":"Sekvensiell fallback: pr\xf8ver modell 1 f\xf8rst, deretter 2 osv.","weightedDesc":"Fordeler trafikk etter vektprosent med reserve","roundRobinDesc":"Sirkul\xe6r fordeling: hver foresp\xf8rsel g\xe5r til neste modell i rotasjon","randomDesc":"Ensartet tilfeldig valg, deretter fallback til gjenv\xe6rende modeller","leastUsedDesc":"Velger modellen med f\xe6rrest foresp\xf8rsler, og balanserer belastningen over tid","costOptimizedDesc":"Ruter til den billigste modellen f\xf8rst basert p\xe5 priser","models":"Modeller","autoBalance":"Autobalanse","advancedSettings":"Avanserte innstillinger","retryDelay":"Forsinkelse p\xe5 nytt (ms)","concurrencyPerModel":"Samtidighet / modell","queueTimeout":"Tidsavbrudd for k\xf8 (ms)","advancedHint":"La st\xe5 tomt for \xe5 bruke globale standardinnstillinger. Disse overstyrer innstillingene per leverand\xf8r.","moveUp":"Flytt opp","moveDown":"Flytt ned","removeModel":"Fjern","saving":"Lagrer...","weighted":"Vektet","leastUsed":"Minst brukt","costOpt":"Cost-Opt"},"costs":{"title":"Kostnader","budget":"Budsjett","totalCost":"Total kostnad","breakdown":"Kostnadsfordeling","noData":"Ingen kostnadsdata","byModel":"Etter modell","byProvider":"Av leverand\xf8r"},"endpoint":{"title":"API-endepunkt","available":"Tilgjengelige endepunkter","cloudProxy":"Cloud Proxy","disableConfirm":"Er du sikker p\xe5 at du vil deaktivere skyproxy?","baseUrl":"Base URL","apiKeyLabel":"API-n\xf8kkel","registeredKeys":"Registrerte n\xf8kler","chatCompletions":"Chatfullf\xf8ringer","responses":"Svar","listModels":"Liste over modeller","usingCloudProxy":"Bruker Cloud Proxy","usingLocalServer":"Bruker lokal server","machineId":"Maskin-ID: {id}...","disableCloud":"Deaktiver Cloud","enableCloud":"Aktiver Cloud","modelsAcrossEndpoints":"{models} modeller p\xe5 tvers av {endpoints} endepunkter","chatDesc":"Streaming og ikke-streaming chat med alle leverand\xf8rer","embeddings":"Innst\xf8pinger","embeddingsDesc":"Tekstinnbygging for s\xf8k og RAG-r\xf8rledninger","imageGeneration":"Bildegenerering","imageDesc":"Generer bilder fra tekstmeldinger","rerank":"Ranger p\xe5 nytt","rerankDesc":"Ranger dokumenter p\xe5 nytt etter relevans for en sp\xf8rring","audioTranscription":"Lydtranskripsjon","audioTranscriptionDesc":"Transkribere lydfiler til tekst (Whisper)","textToSpeech":"Tekst til tale","textToSpeechDesc":"Konverter tekst til tale med naturlig lyd","moderations":"Moderasjoner","moderationsDesc":"Innholdsmoderering og sikkerhetsklassifisering","enableCloudTitle":"Aktiver Cloud Proxy","whatYouGet":"Hva du vil f\xe5","cloudBenefitAccess":"F\xe5 tilgang til API-en din fra hvor som helst i verden","cloudBenefitShare":"Del enkelt endepunkt med teamet ditt","cloudBenefitPorts":"Du trenger ikke \xe5 \xe5pne porter eller konfigurere brannmur","cloudBenefitEdge":"Rask globalt kantnettverk","cloudSessionNote":"Cloud vil beholde godkjennings\xf8kten din i 1 dag. Hvis den ikke brukes, slettes den automatisk.","cloudUnstableNote":"Cloud er for \xf8yeblikket ustabil med Claude Code OAuth i noen tilfeller.","cloudConnected":"Cloud Proxy tilkoblet!","connectingToCloud":"Kobler til skyen ...","verifyingConnection":"Bekrefter tilkoblingen …","connecting":"Kobler til...","verifying":"Bekrefter...","connected":"Tilkoblet!","disableCloudTitle":"Deaktiver Cloud Proxy","disableWarning":"Alle autentiserings\xf8kter vil bli slettet fra skyen.","syncingData":"Synkroniserer siste data ...","disablingCloud":"Deaktiverer skyen …","syncing":"Synkroniserer...","disabling":"Deaktiverer...","cloudConnectedVerified":"Cloud Proxy tilkoblet og bekreftet!","connectedVerificationPending":"Tilkoblet — bekreftelse venter","connectedVerificationPendingWithError":"Tilkoblet — bekreftelse venter: {error}","cloudDisabledSuccess":"Cloud deaktivert","syncedSuccess":"Synkronisert vellykket","failedDisable":"Kunne ikke deaktivere skyen","failedEnable":"Kunne ikke aktivere skyen","cloudRequestTimeout":"Tidsavbrudd for skyforesp\xf8rsel","cloudRequestFailed":"Skyforesp\xf8rsel mislyktes","cloudWorkerUnreachable":"Kunne ikke n\xe5 skyarbeideren. S\xf8rg for at skytjenesten kj\xf8rer (npm kj\xf8r dev in /cloud).","connectionFailed":"Tilkobling mislyktes","syncFailed":"Kunne ikke synkronisere skydata","providerModelsTitle":"{provider} — Modeller","noModelsForProvider":"Ingen modeller tilgjengelig for denne leverand\xf8ren.","chat":"Chat","embedding":"Innebygging","image":"Bilde","custom":"tilpasset","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":"Kjerne-API-er","categoryMedia":"Media & Multi-Modal","categoryUtility":"Verkt\xf8y & Administrasjon"},"health":{"title":"Systemhelse","description":"Sanntidsoverv\xe5king av din OmniRoute-forekomst","healthy":"Sunn","degraded":"Degradert","down":"Ned","uptime":"Oppetid","memory":"Minne","memoryRss":"Minne (RSS)","heap":"Heap","cpu":"CPU","database":"Database","version":"Versjon","lastCheck":"Siste sjekk","providerHealth":"Leverand\xf8rhelse","systemMetrics":"Systemm\xe5linger","tokenHealth":"Token Health","refreshAll":"Oppdater alle","checkNow":"Sjekk n\xe5","loadingHealth":"Laster inn helsedata ...","failedToLoad":"Kunne ikke laste inn helsedata: {error}","retry":"Pr\xf8v p\xe5 nytt","allOperational":"Alle systemer i drift","issuesDetected":"Systemproblemer oppdaget","updatedAt":"Oppdatert {time}","latency":"Latens","latencyP50":"p50","latencyP95":"s95","latencyP99":"s99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Totalt antall foresp\xf8rsler","noDataYet":"Ingen data enn\xe5","promptCache":"Sp\xf8r Cache","entries":"Oppf\xf8ringer","hitRate":"Trefffrekvens","hitsMisses":"Treffer / savner","signatureCache":"Signaturbuffer","signatureDefaults":"Standarder","signatureTool":"Verkt\xf8y","signatureFamily":"Familie","signatureSession":"Sesjon","recovering":"Gjenoppretter","noCBData":"Ingen str\xf8mbryterdata tilgjengelig. Kom med noen foresp\xf8rsler f\xf8rst.","providerHealthStatusAria":"Leverand\xf8rens helsestatus","issuesLabel":"Problemer oppdaget","operational":"Operasjonell","providers":"Leverand\xf8rer","healthyCount":"{count} sunn","nodeVersion":"Node {version}","failures":"{count} feil","failuresPlural":"{count} feil","lastFailure":"Sist","rateLimitStatus":"Takstgrensestatus","activeLimiters":"{count} aktiv begrenser","activeLimitersPlural":"{count} aktive begrensere","queued":"I k\xf8","queuedCount":"{count} i k\xf8","running":"l\xf8ping","runningCount":"{count} kj\xf8rer","ok":"OK","activeLockouts":"Aktive lockouter","resetConfirm":"Tilbakestille alle effektbrytere til sunn tilstand? Dette vil slette alle feiltellinger og gjenopprette alle leverand\xf8rer til driftsstatus.","resetAllTitle":"Tilbakestill alle effektbrytere til sunn tilstand","resetting":"Tilbakestiller...","resetAll":"Tilbakestill alle","until":"Inntil {time}"},"limits":{"title":"Grenser og kvoter","rateLimit":"Satsgrense","remaining":"Gjenv\xe6rende","requestsPerMinute":"Foresp\xf8rsler/min","tokensPerMinute":"Poletter/min","dailyLimit":"Daglig grense"},"logs":{"title":"Logger","requestLogs":"Be om logger","proxyLogs":"Proxy-logger","auditLog":"Revisjonslogg","console":"Konsoll","auditLogDesc":"Administrative handlinger og sikkerhetshendelser","loading":"Laster inn...","refresh":"Oppdater","filterByAction":"Filtrer etter handling...","filterByActor":"Filtrer etter skuespiller...","filterEntriesAria":"Filtrer revisjonsloggoppf\xf8ringer","filterByActionTypeAria":"Filtrer etter handlingstype","filterByActorAria":"Filtrer etter skuespiller","refreshAuditLogAria":"Oppdater revisjonslogg","tableAria":"Revisjonsloggoppf\xf8ringer","failedFetchAuditLog":"Kunne ikke hente revisjonsloggen","showing":"Viser {count} oppf\xf8ringer (offset {offset})","search":"S\xf8k","timestamp":"Tidsstempel","action":"Handling","actor":"Skuespiller","target":"M\xe5l","details":"Detaljer","ipAddress":"IP-adresse","notAvailable":"—","noEntries":"Ingen revisjonsloggoppf\xf8ringer funnet","previous":"Forrige","next":"Neste"},"onboarding":{"welcome":"Velkommen","security":"Sikkerhet","test":"Test","ready":"Klar!","setPassword":"Angi passord","addProvider":"Legg til din f\xf8rste leverand\xf8r","getStarted":"Kom i gang","skip":"Hopp over","skipWizard":"Hopp over veiviseren helt","skipPassword":"Hopp over passordoppsett","skipAndContinue":"Hopp over og fortsett","passwordLabel":"Passord","confirmPassword":"Bekreft passord","enterPassword":"Skriv inn passord","confirmPasswordPlaceholder":"Bekreft passord","passwordsMismatch":"Passord stemmer ikke","setupComplete":"Oppsettet er fullf\xf8rt!","goToDashboard":"G\xe5 til Dashboard →","welcomeDesc":"OmniRoute er din lokale AI API-proxy. Den ruter foresp\xf8rsler til flere AI-leverand\xf8rer med lastbalansering, failover og brukssporing.","multiProvider":"Multileverand\xf8r","usageTracking":"Brukssporing","apiKeyMgmt":"API Key Mgmt","securityDesc":"Angi et passord for \xe5 beskytte dashbordet ditt, eller hopp over n\xe5.","providerDesc":"Koble til din f\xf8rste AI-leverand\xf8r. Du kan legge til flere senere.","apiKeyRequired":"API-n\xf8kkel (p\xe5krevd)","customUrlOptional":"Egendefinert URL (valgfritt)","testDesc":"La oss kontrollere at leverand\xf8rtilkoblingen din fungerer.","runTest":"Kj\xf8r tilkoblingstest","testingConnection":"Tester tilkoblingen...","connectionSuccessful":"Tilkoblingen var vellykket! Leverand\xf8ren din er klar.","noProviderFound":"Ingen leverand\xf8r funnet. Du kan legge til en fra dashbordet senere.","testFailed":"Testen mislyktes, men du kan konfigurere dette senere.","couldNotTest":"Kunne ikke teste akkurat n\xe5. Du kan teste fra dashbordet.","doneDesc":"Du er klar! OmniRoute-forekomsten din er konfigurert og klar til \xe5 fullf\xf8re AI-foresp\xf8rsler.","yourEndpoint":"Ditt endepunkt:","continue":"Fortsett","retry":"Pr\xf8v p\xe5 nytt","failedSetPassword":"Kunne ikke angi passord. Pr\xf8v igjen.","failedAddProvider":"Kunne ikke legge til leverand\xf8r. Pr\xf8v igjen.","connectionError":"Tilkoblingsfeil. Vennligst pr\xf8v igjen.","provider":"Leverand\xf8r"},"providers":{"title":"Leverand\xf8rer","addProvider":"Legg til leverand\xf8r","editProvider":"Rediger leverand\xf8r","deleteProvider":"Slett leverand\xf8r","noProviders":"Ingen leverand\xf8rer er konfigurert","modelAvailability":"Modelltilgjengelighet","accounts":"Kontoer","newAccount":"Ny konto","deleteConfirm":"Er du sikker p\xe5 at du vil slette denne leverand\xf8ren?","testing":"Tester...","testConnection":"Test tilkobling","testSuccess":"Tilkoblingen var vellykket","testFailed":"Tilkobling mislyktes","available":"Tilgjengelig","cooldown":"Nedkj\xf8ling","unavailable":"Utilgjengelig","unknown":"Ukjent","oauthLabel":"OAuth","compatibleLabel":"Kompatibel","chat":"Chat","responses":"Svar","messages":"Meldinger","oauthProviders":"OAuth-leverand\xf8rer","freeProviders":"Gratis leverand\xf8rer","apiKeyProviders":"API-n\xf8kkelleverand\xf8rer","compatibleProviders":"API-n\xf8kkel-kompatible leverand\xf8rer","testAll":"Test alle","testAllOAuth":"Test alle OAuth-tilkoblinger","testAllFree":"Test alle gratis tilkoblinger","testAllApiKey":"Test alle API-n\xf8kkeltilkoblinger","testAllCompatible":"Test alle kompatible tilkoblinger","connected":"{count} Tilkoblet","errorCount":"{count} Feil ({code})","errorCountNoCode":"{count} Feil","noConnections":"Ingen tilkoblinger","disabled":"Deaktivert","enableProvider":"Aktiver leverand\xf8r","disableProvider":"Deaktiver leverand\xf8r","testResults":"Testresultater","noCompatibleYet":"Ingen kompatible leverand\xf8rer lagt til enn\xe5","compatibleHint":"Bruk knappene ovenfor for \xe5 legge til OpenAI eller Anthropic-kompatible endepunkter","addOpenAICompatible":"Legg til OpenAI-kompatibel","addAnthropicCompatible":"Legg til Antropisk kompatibel","addNewProvider":"Legg til ny leverand\xf8r","backToProviders":"Tilbake til Leverand\xf8rer","configureNewProvider":"Konfigurer en ny AI-leverand\xf8r som skal brukes med applikasjonene dine.","providerLabel":"Leverand\xf8r","selectProvider":"Velg en leverand\xf8r","selectedProvider":"Valgt leverand\xf8r","authMethod":"Autentiseringsmetode","apiKeyLabel":"API-n\xf8kkel","apiKeyRequired":"API-n\xf8kkel kreves","selectProviderRequired":"Velg en leverand\xf8r","enterApiKey":"Skriv inn API-n\xf8kkelen din","apiKeySecure":"API-n\xf8kkelen din vil bli kryptert og lagret sikkert.","oauth2Connect":"Koble til OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Koble til kontoen din med OAuth2-autentisering.","displayName":"Vist navn","displayNamePlaceholder":"f.eks. Production API, Dev Environment","displayNameHint":"Valgfritt. Et vennlig navn for \xe5 identifisere denne konfigurasjonen.","active":"Aktiv","activeDescription":"Aktiver denne leverand\xf8ren for bruk i appene dine","cancel":"Avbryt","createProvider":"Opprett leverand\xf8r","failedCreate":"Kunne ikke opprette leverand\xf8r","errorOccurred":"Det oppsto en feil. Vennligst pr\xf8v igjen.","modelStatus":"Modellstatus","allModelsOperational":"Alle modeller i drift","modelsWithIssues":"{count} modell(er) med problemer","allModelsNormal":"Alle modellene reagerer normalt.","cooldownCleared":"Nedkj\xf8ling ryddet for {model}","failedClearCooldown":"Kunne ikke fjerne nedkj\xf8ling","loadingAvailability":"Laster modelltilgjengelighet ...","clearCooldown":"Klart","clearing":"Rydder...","until":"Inntil {time}","providerTestFailed":"Providertesten mislyktes","modeTest":"{mode} Test","passedCount":"{count} best\xe5tt","failedCount":"{count} mislyktes","testedCount":"{count} testet","millisecondsAbbr":"{value}ms","okShort":"OK","errorShort":"FEIL","noActiveConnectionsInGroup":"Fant ingen aktive tilkoblinger for denne gruppen.","allTestsPassed":"Alle {total} tester best\xe5tt","testSummary":"{passed}/{total} best\xe5tt, {failed} mislyktes","nameLabel":"Navn","prefixLabel":"Prefiks","baseUrlLabel":"Base URL","apiTypeLabel":"API-type","prefixHint":"Obligatorisk. Unikt prefiks for modellnavn.","nameHint":"Obligatorisk. En vennlig etikett for denne noden.","baseUrlHint":"Obligatorisk.  Leverand\xf8rens API-base-URL.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Bekreft tilkoblingen","validating":"Validerer...","connectionValid":"Tilkoblingen er gyldig!","connectionFailed":"Tilkobling mislyktes. Sjekk URL og n\xf8kkel.","testKeyLabel":"Test API-n\xf8kkel","testKeyPlaceholder":"sk-... (kun for validering)","providerNotFound":"Finner ikke leverand\xf8r","deleteConnectionConfirm":"Vil du slette denne tilkoblingen?","failedSetAlias":"Kunne ikke angi alias","failedSaveConnection":"Kunne ikke lagre tilkoblingen","failedSaveConnectionRetry":"Kunne ikke lagre tilkoblingen. Vennligst pr\xf8v igjen.","failedRetestConnection":"Kunne ikke teste tilkoblingen p\xe5 nytt","deleteCompatibleNodeConfirm":"Vil du slette denne {type}-kompatible noden?","anthropicCompatibleDetails":"Antropisk kompatible detaljer","openaiCompatibleDetails":"OpenAI-kompatible detaljer","messagesApi":"Messages API","responsesApi":"Responses API","chatCompletions":"Chatfullf\xf8ringer","importingModels":"Importerer...","importFromModels":"Importer fra /models","addConnectionToImport":"Legg til en tilkobling for \xe5 aktivere import.","noModelsConfigured":"Ingen modeller er konfigurert","connectionCount":"{count} tilkobling(er)","fetchingModels":"Henter tilgjengelige modeller...","failedFetchModels":"Kunne ikke hente modellene","noModelsFound":"Ingen modeller funnet","importFailed":"Import mislyktes","noNewModelsAdded":"Ingen nye modeller ble lagt til.","adding":"Legger til...","importingModelsTitle":"Importere modeller","copyModel":"Kopier modell","removeModel":"Fjern modellen","rateLimitProtected":"Beskyttet","rateLimitUnprotected":"Ubeskyttet","enableRateLimitProtection":"Klikk for \xe5 aktivere satsgrensebeskyttelse","disableRateLimitProtection":"Klikk for \xe5 deaktivere satsgrensebeskyttelse","productionKey":"Produksjonsn\xf8kkel","enterNewApiKey":"Skriv inn ny API-n\xf8kkel","optional":"Valgfritt","anthropicCompatibleName":"Antropisk kompatibel","openaiCompatibleName":"OpenAI-kompatibel","failedImportModels":"Kunne ikke importere modeller","noModelsReturnedFromEndpoint":"Ingen modeller returnert fra /models endepunkt.","importingModelsProgress":"Importerer {current} av {total} modeller ...","foundModelsStartingImport":"Fant {count} modeller. Starter import...","importingModelById":"Importerer {modelId}...","importSuccessCount":"Vellykket importert {count, plural, one {# model} other {# models}}!","noNewModelsAddedExisting":"Ingen nye modeller ble lagt til (alle finnes allerede).","importDoneCount":"✓ Ferdig! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Det oppstod en uventet feil","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"meldinger","responsesPath":"svar","chatCompletionsPath":"chat/fullf\xf8ringer","add":"Legg til","edit":"Rediger","delete":"Slett","anthropic":"Antropisk","openai":"OpenAI","singleConnectionPerCompatible":"Bare \xe9n tilkobling er tillatt per kompatibel node. Legg til en annen node hvis du trenger flere tilkoblinger.","connections":"Tilkoblinger","providerProxyTitleConfigured":"Leverand\xf8rproxy: {host}","configured":"konfigurert","providerProxyConfigureHint":"Konfigurer proxy for alle tilkoblinger til denne leverand\xf8ren","providerProxy":"Leverand\xf8rfullmakt","noConnectionsYet":"Ingen tilkoblinger enn\xe5","addFirstConnectionHint":"Legg til din f\xf8rste tilkobling for \xe5 komme i gang","addConnection":"Legg til tilkobling","availableModels":"Tilgjengelige modeller","pageAutoRefresh":"Siden oppdateres automatisk...","statusDisabled":"deaktivert","statusConnected":"tilkoblet","statusRuntimeIssue":"kj\xf8retidsproblem","statusAuthFailed":"auth mislyktes","statusRateLimited":"sats begrenset","statusNetworkIssue":"nettverksproblem","statusTestUnsupported":"test st\xf8ttes ikke","statusUnavailable":"utilgjengelig","statusFailed":"mislyktes","statusError":"feil","oauthAccount":"OAuth-konto","errorTypeRuntime":"Lokal kj\xf8retid","errorTypeUpstreamAuth":"Oppstr\xf8ms auth","errorTypeMissingCredential":"Mangler legitimasjon","errorTypeRefreshFailed":"Oppdatering mislyktes","errorTypeTokenExpired":"Token utl\xf8pt","errorTypeRateLimited":"Begrenset pris","errorTypeUpstreamUnavailable":"Oppstr\xf8ms utilgjengelig","errorTypeNetworkError":"Nettverksfeil","errorTypeTestUnsupported":"Testen st\xf8ttes ikke","errorTypeUpstreamError":"Oppstr\xf8ms feil","proxySourceGlobal":"Globalt","proxySourceProvider":"Leverand\xf8r","proxySourceKey":"N\xf8kkel","proxyConfiguredBySource":"Fullmakt ({source}): {host}","autoPriority":"Auto: {priority}","proxy":"Fullmakt","retestAuthentication":"Test autentisering p\xe5 nytt","retest":"Test p\xe5 nytt","disableConnection":"Deaktiver tilkobling","enableConnection":"Aktiver tilkobling","reauthenticateConnection":"Autentiser denne tilkoblingen p\xe5 nytt","proxyConfig":"Proxy konfig","aliasExistsAlert":"Aliaset \\"{alias}\\" eksisterer allerede. Bruk en annen modell eller rediger eksisterende alias.","openRouterAnyModelHint":"OpenRouter st\xf8tter alle modeller. Legg til modeller og lag aliaser for rask tilgang.","modelIdFromOpenRouter":"Modell-ID (fra OpenRouter)","openRouterModelPlaceholder":"antropisk/claude-3-opus","customModels":"Egendefinerte modeller","customModelsHint":"Legg til modell-ID-er som ikke er i standardlisten. Disse vil v\xe6re tilgjengelige for ruting.","modelId":"Modell-ID","customModelPlaceholder":"f.eks. gpt-4.5-turbo","loading":"Laster inn...","removeCustomModel":"Fjern tilpasset modell","noCustomModels":"Ingen tilpassede modeller lagt til enn\xe5.","allSuggestedAliasesExist":"Alle foresl\xe5tte aliaser finnes allerede. Velg en annen modell eller fjern motstridende aliaser.","failedSaveCustomModel":"Kunne ikke lagre egendefinert modell","modelAddedSuccess":"Modell {modelId} ble lagt til","failedAddModelTryAgain":"Kunne ikke legge til modell. Vennligst pr\xf8v igjen.","failedSaveImportedModel":"Kunne ikke lagre importert modell til egendefinert database","failedImportModelsTryAgain":"Kunne ikke importere modeller. Vennligst pr\xf8v igjen.","failedRemoveModelFromDatabase":"Kunne ikke fjerne modellen fra databasen","modelRemovedSuccess":"Modellen ble fjernet","failedDeleteModelTryAgain":"Kunne ikke slette modellen. Vennligst pr\xf8v igjen.","compatibleModelsDescription":"Legg til {type}-kompatible modeller manuelt eller importer dem fra /models-endepunktet.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"API-n\xf8kkelvalidering mislyktes. Sjekk n\xf8kkelen din og pr\xf8v igjen.","addProviderApiKeyTitle":"Legg til {provider} API-n\xf8kkel","checking":"Sjekker...","check":"Sjekk","valid":"Gyldig","invalid":"Ugyldig","creating":"Oppretter...","validationChecksAnthropicCompatible":"Valideringssjekker {provider} ved \xe5 bekrefte API-n\xf8kkelen.","validationChecksOpenAiCompatible":"Valideringssjekker {provider} via /models p\xe5 din basis-URL.","priorityLabel":"Prioritet","saving":"Lagrer...","save":"Lagre","editConnection":"Rediger tilkobling","accountName":"Kontonavn","email":"E-post","healthCheckMinutes":"Helsesjekk (min)","healthCheckHint":"Proaktivt token-oppdateringsintervall. 0 = deaktivert.","failedTestConnection":"Kunne ikke teste tilkoblingen","failed":"Mislyktes","leaveBlankKeepCurrentApiKey":"La st\xe5 tomt for \xe5 beholde gjeldende API-n\xf8kkel.","editCompatibleTitle":"Rediger {type} Kompatibel","compatibleBaseUrlHint":"Bruk basis-URLen (som slutter p\xe5 /v1) for din {type}-kompatible API.","apiKeyForCheck":"API-n\xf8kkel (for sjekk)","compatibleProdPlaceholder":"{type} Kompatibel (Prod)"},"settings":{"title":"Innstillinger","general":"Generelt","security":"Sikkerhet","appearance":"Utseende","routing":"Ruting","cache":"Cache","resilience":"Spenst","systemPrompt":"Systemmelding","thinkingBudget":"Tenker budsjett","proxy":"Fullmakt","pricing":"Prissetting","storage":"Oppbevaring","policies":"Retningslinjer","ipFilter":"IP-filter","comboDefaults":"Combo standarder","fallbackChains":"Reservekjeder","changePassword":"Endre passord","enablePassword":"Aktiver passord","darkMode":"M\xf8rk modus","lightMode":"Lysmodus","systemTheme":"Systemtema","enableCache":"Aktiver cache","cacheTTL":"Cache TTL","maxCacheSize":"Maks cachest\xf8rrelse","clearCache":"T\xf8m buffer","cacheHits":"Cache-treff","cacheMisses":"Cache Misses","hitRate":"Trefffrekvens","cacheEntries":"Bufferoppf\xf8ringer","circuitBreaker":"Str\xf8mbryter","retryPolicy":"Retningslinjer for fors\xf8k","maxRetries":"Max pr\xf8ver p\xe5 nytt","retryDelay":"Forsinkelse p\xe5 nytt","timeoutMs":"Tidsavbrudd (ms)","enableSystemPrompt":"Aktiver systemforesp\xf8rsel","systemPromptText":"Systemmeldingstekst","enableThinking":"Aktiver tenkning","maxThinkingTokens":"Max Thinking Tokens","enableProxy":"Aktiver proxy","proxyUrl":"Proxy URL","pricingRates":"Prisformat","currentPricing":"Gjeldende prisoversikt","loadingPricing":"Laster inn prisdata ...","noPricing":"Ingen prisdata tilgjengelig","input":"Inndata","output":"Utgang","cached":"Bufret","reasoning":"Resonnement","cacheCreation":"Oppretting av cache","customPricing":"Egendefinerte priser","databaseSize":"Databasest\xf8rrelse","backupDb":"Sikkerhetskopier database","restoreDb":"Gjenopprett database","exportData":"Eksporter data","importData":"Importer data","clearData":"Fjern alle data","clearDataConfirm":"Dette vil slette alle data permanent. Er du sikker?","enableRequestLogs":"Aktiver foresp\xf8rselslogger","logRetention":"Loggoppbevaring","ipWhitelist":"IP-hviteliste","ipBlacklist":"IP svarteliste","addIP":"Legg til IP","savedSuccessfully":"Innstillingene er lagret","ai":"AI","advanced":"Avansert","localMode":"Lokal modus — Alle data som er lagret p\xe5 maskinen din","settingsSectionsAria":"Innstillinger-seksjoner","switchThemes":"Bytt mellom lyse og m\xf8rke temaer","themeSelectionAria":"Temavalg","themeLight":"Lys","themeDark":"M\xf8rkt","themeSystem":"System","hideHealthLogs":"Skjul helsesjekklogger","hideHealthLogsDesc":"N\xe5r P\xc5, undertrykk [HealthCheck]-meldinger i serverkonsollen","promptCache":"Sp\xf8r Cache","flushCache":"Skyll cache","flushing":"Skyller …","size":"St\xf8rrelse","hits":"Treffer","evictions":"Utkastelser","loadingCacheStats":"Laster cachestatistikk …","globalProxy":"Global proxy","globalProxyDesc":"Konfigurer en global utg\xe5ende proxy for alle API-kall. Individuelle leverand\xf8rer, kombinasjoner og n\xf8kler kan overstyre dette.","noGlobalProxy":"Ingen global proxy er konfigurert","globalLabel":"Globalt","configure":"Konfigurer","globalSystemPrompt":"Global systemforesp\xf8rsel","systemPromptDesc":"Injisert i alle foresp\xf8rsler p\xe5 proxy-niv\xe5","saved":"Lagret","systemPromptPlaceholder":"Skriv inn systemforesp\xf8rselen for \xe5 injisere i alle foresp\xf8rsler...","systemPromptHint":"Denne ledeteksten vises foran systemmeldingen for hver foresp\xf8rsel. Bruk for globale instruksjoner, sikkerhetsretningslinjer eller regler for responsformatering.","chars":"{count} tegn","thinkingBudgetTitle":"Tenker budsjett","thinkingBudgetDesc":"Kontroller bruk av AI-resonnementstoken p\xe5 tvers av alle foresp\xf8rsler","passthrough":"Gjennomgang","passthroughDesc":"Ingen endringer – klienten kontrollerer tenkebudsjettet","auto":"Auto","autoDesc":"Fjern all tenkekonfigurasjon – la leverand\xf8ren bestemme","custom":"Egendefinert","customDesc":"Angi et fast tokenbudsjett for alle foresp\xf8rsler","adaptive":"Adaptiv","adaptiveDesc":"Skaler budsjett basert p\xe5 foresp\xf8rselskompleksitet","effortNone":"Ingen (0 tokens)","effortLow":"Lav (1K tokens)","effortMedium":"Medium (10 000 tokens)","effortHigh":"H\xf8y (128 000 tokens)","tokenBudget":"Tokenbudsjett","tokens":"tokens","baseEffortLevel":"Grunninnsatsniv\xe5","adaptiveHint":"Adaptiv modus skalerer fra dette basisniv\xe5et basert p\xe5 antall meldinger, verkt\xf8ybruk og foresp\xf8rselslengde.","requireLogin":"Krev innlogging","requireLoginDesc":"N\xe5r P\xc5, krever dashbordet passord. N\xe5r AV, tilgang uten p\xe5logging.","currentPassword":"Gjeldende passord","enterCurrentPassword":"Skriv inn gjeldende passord","newPassword":"Nytt passord","enterNewPassword":"Skriv inn nytt passord","confirmPassword":"Bekreft nytt passord","confirmPasswordPlaceholder":"Bekreft nytt passord","passwordsNoMatch":"Passord stemmer ikke","passwordUpdated":"Passordet ble oppdatert","failedUpdatePassword":"Kunne ikke oppdatere passordet","errorOccurred":"Det oppsto en feil","updatePassword":"Oppdater passord","setPassword":"Angi passord","apiEndpointProtection":"API-endepunktbeskyttelse","requireAuthModels":"Krev API-n\xf8kkel for /modeller","requireAuthModelsDesc":"N\xe5r P\xc5, returnerer /v1/models-endepunktet 404 for uautentiserte foresp\xf8rsler. Forhindrer modelloppdagelse av uautoriserte brukere.","blockedProviders":"Blokkerte leverand\xf8rer","blockedProvidersDesc":"Skjul spesifikke leverand\xf8rer fra /v1/models-svaret. Blokkerte leverand\xf8rer vil ikke vises i modelloppf\xf8ringer.","providersBlocked":"{count} leverand\xf8r(er) blokkert fra /modeller","blockProviderTitle":"Blokk\xe9r {provider}","unblockProviderTitle":"Fjern blokkering av {provider}","routingStrategy":"Rutingstrategi","fillFirst":"Fyll f\xf8rst","fillFirstDesc":"Bruk kontoer i prioritert rekkef\xf8lge","roundRobin":"Round Robin","roundRobinDesc":"Bla gjennom alle kontoer","p2c":"P2C","p2cDesc":"Velg 2 tilfeldig, bruk den sunnere","random":"Tilfeldig","randomDesc":"Tilfeldig konto hver foresp\xf8rsel","leastUsed":"Minst brukt","leastUsedDesc":"Velg minst nylig brukte konto","costOpt":"Kostnad Opt","costOptDesc":"Foretrekker den billigste tilgjengelige kontoen","stickyLimit":"Sticky Limit","stickyLimitDesc":"Anrop per konto f\xf8r bytte","modelAliases":"Modellaliaser","modelAliasesDesc":"Jokertegnm\xf8nstre for \xe5 tilordne modellnavn p\xe5 nytt • Bruk * og ?","aliasPatternPlaceholder":"claude-sonnett-*","aliasTargetPlaceholder":"claude-sonnett-4-20250514","pattern":"M\xf8nster","targetModel":"M\xe5lmodell","add":"+ Legg til","session":"Sesjon","sessionDetailsAria":"Sesjonsdetaljer","status":"Status","authenticated":"Autentisert","guest":"Gjest","loginTime":"P\xe5loggingstid","sessionAge":"Sesjonsalder","browser":"Nettleser","clearLocalData":"Fjern lokale data","logout":"Logg ut","clearLocalDataConfirm":"Vil du slette alle lokale data? Dette vil tilbakestille innstillingene dine.","unknown":"Ukjent","systemActor":"systemet","ipAccessControl":"IP-tilgangskontroll","ipAccessControlDesc":"Blokker eller tillat bestemte IP-adresser","ipModeDisabled":"Deaktivert","ipModeBlacklist":"Svarteliste","ipModeWhitelist":"Hviteliste","ipModeWhitelistPriority":"WL prioritet","addIpAddress":"Legg til IP-adresse","ipAddressPlaceholder":"192.168.1.0/24 eller 10.0.*.*","block":"+ Blokker","allow":"+ Tillat","blocked":"Blokkert ({count})","allowed":"Tillatt ({count})","temporaryBans":"Midlertidig utestengelse ({count})","minLeft":"{min}m igjen","auditLog":"Revisjonslogg","searchAuditLogs":"S\xf8k i revisjonslogger...","failedLoadAuditLog":"Kunne ikke laste inn revisjonsloggen","noAuditEvents":"Ingen revisjonshendelser funnet","action":"Handling","actor":"Skuespiller","details":"Detaljer","time":"Tid","fallbackChainsTitle":"Reservekjeder","fallbackChainsDesc":"Definer leverand\xf8rens reserveordre per modell","addChain":"+ Legg til kjede","modelName":"Modellnavn","modelNamePlaceholder":"claude-sonnett-4-20250514","providersCommaSeparated":"Leverand\xf8rer (kommaseparert, i prioritert rekkef\xf8lge)","providersCommaSeparatedPlaceholder":"antropisk, openai, gemini","createChain":"Lag kjede","noFallbackChains":"Ingen reservekjeder","noFallbackChainsDesc":"Opprett en kjede for \xe5 definere leverand\xf8rens reserveordre for en modell.","loadingFallbackChains":"Laster inn reservekjeder...","deleteChainConfirm":"Vil du slette reservekjeden for \xab{model}\xbb?","chainCreated":"Kjede opprettet for {model}","chainDeleted":"Kjede slettet for {model}","failedCreateChain":"Kunne ikke opprette kjede","failedDeleteChain":"Kunne ikke slette kjeden","deleteChain":"Slett kjede","fillModelAndProviders":"Fyll ut modellnavn og leverand\xf8rer","addAtLeastOneProvider":"Legg til minst \xe9n leverand\xf8r","comboDefaultsTitle":"Combo standarder","globalComboConfig":"Global kombinasjonskonfigurasjon","defaultStrategy":"Standardstrategi","defaultStrategyDesc":"Brukes p\xe5 nye kombinasjoner uten eksplisitt strategi","comboStrategyAria":"Kombinasjonsstrategi","priority":"Prioritet","weighted":"Vektet","maxRetriesLabel":"Max pr\xf8ver p\xe5 nytt","retryDelayLabel":"Forsinkelse p\xe5 nytt (ms)","timeoutLabel":"Tidsavbrudd (ms)","healthCheck":"Helsesjekk","healthCheckDesc":"Forh\xe5ndssjekk leverand\xf8rens tilgjengelighet","trackMetrics":"Spor beregninger","trackMetricsDesc":"Registrer beregninger for foresp\xf8rsel per kombinasjon","providerOverrides":"Leverand\xf8roverstyringer","providerOverridesDesc":"Overstyr tidsavbrudd og fors\xf8k p\xe5 nytt per leverand\xf8r. Leverand\xf8rinnstillinger overstyrer globale standardinnstillinger.","providerMaxRetriesAria":"{provider} maksimalt fors\xf8k","providerTimeoutAria":"{provider} tidsavbrudd ms","removeProviderOverrideAria":"Fjern {provider} overstyring","newProviderNamePlaceholder":"f.eks. google, \xe5pne...","newProviderNameAria":"Nytt leverand\xf8rnavn","retries":"pr\xf8ver p\xe5 nytt","ms":"ms","saveComboDefaults":"Lagre Combo-standarder","maxNestingDepth":"Maks hekkedybde","concurrencyPerModel":"Samtidighet / modell","queueTimeout":"Tidsavbrudd for k\xf8 (ms)","providerProfiles":"Leverand\xf8rprofiler","providerProfilesDesc":"Separate innstillinger for motstandskraft for OAuth (\xf8ktbasert) og API Key (m\xe5lt) leverand\xf8rer. OAuth-leverand\xf8rer har strengere terskler p\xe5 grunn av lavere takstgrenser.","oauthProviders":"OAuth-leverand\xf8rer","apiKeyProviders":"API-n\xf8kkelleverand\xf8rer","transientCooldown":"Forbig\xe5ende nedkj\xf8ling","rateLimitCooldown":"Rate Limit Cooldown","maxBackoffLevel":"Maks Backoff Level","cbThreshold":"CB-terskel","cbResetTime":"CB-tilbakestillingstid","rateLimiting":"Satsbegrensende","rateLimitingDesc":"API-n\xf8kkelleverand\xf8rer er automatisk hastighetsbegrenset med sikre standardinnstillinger. Grenser l\xe6res fra responsoverskrifter og tilpasses over tid.","defaultSafetyNet":"Standard sikkerhetsnett","rpm":"RPM","minGap":"Min Gap","maxConcurrent":"Maks samtidig","activeLimiters":"Aktive begrensere","noActiveLimiters":"Ingen aktive ratebegrensere enn\xe5.","reservoir":"Reservoar","running":"L\xf8per","queued":"I k\xf8","circuitBreakers":"Str\xf8mbrytere","breakerStateClosed":"Stengt","breakerStateOpen":"\xc5pne","breakerStateHalfOpen":"Halv\xe5pent","tripped":"{count} utl\xf8ste","healthy":"{count} sunn","resetAll":"Tilbakestill alle","noCircuitBreakers":"Ingen effektbrytere aktive enn\xe5. De opprettes automatisk n\xe5r foresp\xf8rsler str\xf8mmer gjennom kombinasjonsr\xf8rledningen.","failures":"{count} feil(er)","policiesLocked":"Retningslinjer og l\xe5ste identifikatorer","allOperational":"Alle systemer er i drift - ingen sperringer eller utl\xf8ste brytere","loadingPolicies":"Laster inn retningslinjer ...","lockedIdentifiers":"L\xe5ste identifikatorer","unlockedIdentifier":"Ul\xe5st: {identifier}","sinceDate":"siden {date}","forceUnlock":"Tving oppl\xe5sing","unlocking":"L\xe5ser opp ...","failedUnlock":"Kunne ikke l\xe5se opp","failedLoadWithStatus":"Kunne ikke laste inn: {status}","failedLoadResilience":"Kunne ikke laste inn resiliensstatus","saveFailed":"Lagring mislyktes","resetFailed":"Tilbakestilling mislyktes","loadingResilience":"Laster motstandsstatus ...","retry":"Pr\xf8v p\xe5 nytt","systemStorage":"System og lagring","allDataLocal":"Alle data lagret lokalt p\xe5 maskinen din","databasePath":"Databasebane","exportDatabase":"Eksporter database","exportAll":"Eksporter alle (.tar.gz)","importDatabase":"Importer database","confirmDbImport":"Bekreft databaseimport","confirmDbImportDesc":"Dette vil erstatte alle gjeldende data med innholdet fra {file}. En sikkerhetskopi opprettes automatisk f\xf8r importen.","yesImport":"Ja, import","lastBackup":"Siste sikkerhetskopi","noBackupYet":"Ingen sikkerhetskopi enn\xe5","backupNow":"Sikkerhetskopier n\xe5","backupRestore":"Sikkerhetskopiering og gjenoppretting","viewBackups":"Se sikkerhetskopier","hide":"Skjul","backupRetentionDesc":"Database-\xf8yeblikksbilder opprettes automatisk f\xf8r gjenoppretting og hvert 15. minutt n\xe5r data endres. Oppbevaring: 24 timer i timen + 30 daglige sikkerhetskopier med smart rotasjon.","loadingBackups":"Laster inn sikkerhetskopier...","noBackupsYet":"Ingen sikkerhetskopier tilgjengelig enn\xe5. Sikkerhetskopier opprettes automatisk n\xe5r data endres.","backupsAvailable":"{count} sikkerhetskopi(er) tilgjengelig","refresh":"Oppdater","confirm":"Bekrefte?","yes":"Ja","no":"Nei","restore":"Gjenopprett","invalidFileType":"Ugyldig filtype. Bare .sqlite-filer godtas.","exportFailed":"Eksporten mislyktes","exportFailedWithError":"Eksport mislyktes: {error}","fullExportFailedWithError":"Full eksport mislyktes: {error}","backupCreated":"Sikkerhetskopi opprettet: {file}","restoreSuccess":"Gjenopprettet! {connections} tilkoblinger, {nodes} noder, {combos} kombinasjoner, {apiKeys} API-n\xf8kler.","importSuccess":"Database importert! {connections} tilkoblinger, {nodes} noder, {combos} kombinasjoner, {apiKeys} API-n\xf8kler.","justNow":"akkurat n\xe5","minutesAgo":"{count}m siden","hoursAgo":"{count}t siden","daysAgo":"{count}d siden","backupReasonManual":"manuell","backupReasonPreRestore":"forh\xe5ndsgjenoppretting","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Ingen endringer siden siste sikkerhetskopiering","backupFailed":"Sikkerhetskopiering mislyktes","restoreFailed":"Gjenoppretting mislyktes","importFailed":"Import mislyktes","errorDuringRestore":"Det oppstod en feil under gjenoppretting","errorDuringImport":"Det oppstod en feil under import","modelPricing":"Modellprising","modelPricingDesc":"Konfigurer kostnadssatser per modell • Alle priser i $/1M tokens","providers":"Leverand\xf8rer","registry":"Register","priced":"Priset","searchProvidersModels":"S\xf8k etter leverand\xf8rer eller modeller...","showAll":"Vis alle","noProvidersMatch":"Ingen leverand\xf8rer samsvarer med s\xf8ket ditt.","howPricingWorks":"Hvordan prissetting fungerer","cacheWrite":"Cache-skriving","unsaved":"ikke lagret","resetDefaults":"Tilbakestill standarder","saveProvider":"Lagre leverand\xf8r","saving":"Lagrer...","model":"Modell","models":"modeller","moreProviders":"{count} flere leverand\xf8rer","withPricing":"med konfigurert pris","policiesCircuitBreakers":"Retningslinjer og effektbrytere","activeIssuesDetected":"Aktive problemer oppdaget","off":"Av","resetPricingConfirm":"Vil du tilbakestille all prissetting for {provider} til standardverdiene?","pricingDescInput":"Inndata: tokens sendt til modellen","pricingDescOutput":"Utgang: tokens generert","pricingDescCached":"Bufret: gjenbrukt inndata (~50 % av inndatahastigheten)","pricingDescReasoning":"Begrunnelse: tenketegn (faller tilbake til utgang)","pricingDescCacheWrite":"Cache Write: lage cache-oppf\xf8ringer (faller tilbake til Input)","pricingDescFormula":"Kostnad = (input \xd7 input_rate) + (output \xd7 output_rate) + (cached \xd7 cached_rate) per million tokens.","pricingSettingsTitle":"Prisinnstillinger","totalModels":"Totalt antall modeller","active":"Aktiv","costCalculation":"Kostnadsberegning","costCalculationDesc":"Kostnadene beregnes basert p\xe5 tokenbruk og prissatser som er konfigurert for hver modell.","pricingFormat":"Prisformat","pricingFormatDesc":"Alle priser er i $/1M tokens (dollar per million tokens).","tokenTypes":"Tokentyper","inputTokenDesc":"Standard prompt-tokens","outputTokenDesc":"Fullf\xf8rings-/svarbrikke","cachedTokenDesc":"Bufret inndatatoken (vanligvis 50 % av inndatahastigheten)","reasoningTokenDesc":"Spesielle resonnement-/tenkesymboler (tilbakeslag til produksjonshastighet)","cacheCreationTokenDesc":"Tokens som brukes til \xe5 lage cache-oppf\xf8ringer (tilbake til inngangshastighet)","customPricingNote":"Du kan overstyre standardpriser for spesifikke modeller. Egendefinerte overstyringer prioriteres fremfor automatisk oppdagede priser.","editPricing":"Rediger priser","viewFullDetails":"Se alle detaljer","modelAliasesTitle":"Modellaliaser","addCustomAlias":"Legg til Tilpasset Alias","deprecatedModelId":"Utdatert modell-ID","newModelId":"Ny modell-ID","customAliases":"Tilpassede Aliaser","builtInAliases":"Innebygde Aliaser","backgroundDegradationTitle":"Bakgrunnsoppgave Degradering","backgroundDegradationDesc":"Oppdager automatisk bakgrunnsoppgaver (titler, sammendrag) og ruter til billigere modeller","enableDegradation":"Aktiver Bakgrunnsdegradation","enableDegradationHint":"N\xe5r aktivert, rutes bakgrunnsoppgaver som tittelegenerering og sammendrag automatisk til billigere modeller","tasksDetected":"Oppgaver oppdaget","degradationMap":"Modelldegraderingsschema","premiumModel":"Premiummodell","cheapModel":"Billig modell","detectionPatterns":"Deteksjonsm\xf8nstre","newPattern":"f.eks. \\"generer en tittel\\""},"translator":{"title":"Oversetter","metaTitle":"Oversetter Lekeplass | OmniRoute","metaDescription":"Feils\xf8k, test og visualiser API-formatoversettelser mellom leverand\xf8rer","playgroundTitle":"Oversetter Lekeplass","playground":"Lekeplass","realtime":"Oversettelsesaktivitet i sanntid","chatTester":"Chat Tester","testBench":"Testbenk","liveMonitor":"Live Monitor","modeDescriptionPlayground":"Lim inn en hvilken som helst API-foresp\xf8rselstekst og se hvordan OmniRoute oversetter den mellom leverand\xf8rformater (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)","modeDescriptionChatTester":"Send ekte chatteforesp\xf8rsler gjennom OmniRoute og inspiser hele rundturen: inndata, oversatt foresp\xf8rsel, leverand\xf8rsvar og oversatt utdata.","modeDescriptionTestBench":"Kj\xf8r forh\xe5ndsdefinerte scenarier og sammenlign kompatibilitet p\xe5 tvers av leverand\xf8rer og modeller.","modeDescriptionLiveMonitor":"Se oversettelsesbegivenheter i sanntid mens foresp\xf8rsler str\xf8mmer gjennom OmniRoute.","modeDescriptionFallback":"Feils\xf8k, test og visualiser hvordan OmniRoute oversetter API-foresp\xf8rsler mellom leverand\xf8rer.","recentTranslations":"Nylige oversettelser","noTranslations":"Ingen oversettelser enn\xe5","source":"Kilde","target":"M\xe5l","time":"Tid","model":"Modell","status":"Status","latency":"Latens","totalTranslations":"Totale oversettelser","successful":"Vellykket","errors":"Feil","avgLatency":"Gj.sn. ventetid","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Live — Automatisk oppdatering","paused":"Pause","eventsAppearHint":"Oversettelseshendelser vises her n\xe5r foresp\xf8rsler str\xf8mmer gjennom OmniRoute. Bruk en av disse metodene for \xe5 generere hendelser:","chatTesterTab":"Chat Tester-fanen","testBenchTab":"Testbenk-fanen","externalApiCalls":"Eksterne API-anrop","ideCliIntegrations":"IDE/CLI-integrasjoner","inMemoryNote":"Merk: Hendelser lagres i minnet og tilbakestilles n\xe5r serveren starter p\xe5 nytt.","ok":"OK","errorShort":"FEIL","formatConverter":"Formatkonvertering","formatConverterDescription":"Lim inn eller skriv inn en JSON-foresp\xf8rselstekst. Oversetteren vil automatisk oppdage kildeformatet og konvertere det til m\xe5lformatet. Bruk denne til \xe5 feils\xf8ke hvordan OmniRoute oversetter foresp\xf8rsler mellom formater (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Inndata","output":"Utgang","auto":"Auto","swapFormats":"Bytt formater","translateAction":"Oversett","clear":"Klart","inputPlaceholder":"Lim inn en foresp\xf8rselstekst her eller velg en mal nedenfor...","exampleTemplates":"Eksempelmaler","exampleTemplatesHint":"— Klikk for \xe5 laste","templateLoadHint":"Malen laster foresp\xf8rselen i {format}-format. Endre kildeformat for \xe5 laste inn i et annet format.","compatibilityTester":"Kompatibilitetstester","compatibilityReport":"Kompatibilitetsrapport","testBenchDescription":"Kj\xf8r forh\xe5ndsdefinerte scenarier (Simple Chat, Tool Calling, etc.) for \xe5 bekrefte oversettelse og leverand\xf8rkompatibilitet. Velg et kildeformat og m\xe5lleverand\xf8r, og kj\xf8r deretter alle testene for \xe5 se en kompatibilitetsprosent. Bruk denne for \xe5 finne hvilke funksjoner som fungerer p\xe5 tvers av leverand\xf8rer.","targetProvider":"M\xe5lleverand\xf8r","runAllTests":"Kj\xf8r alle tester","runTest":"Kj\xf8r test","reRun":"Kj\xf8r p\xe5 nytt","running":"Kj\xf8rer...","passed":"best\xe5tt","failed":"mislyktes","passedIconLabel":"✅ Best\xe5tt","chunks":"biter","scenarioSimpleChat":"Enkel chat","scenarioToolCalling":"Verkt\xf8yanrop","scenarioMultiTurn":"Multisving","scenarioThinking":"Tenker","scenarioSystemPrompt":"Systemmelding","scenarioStreaming":"Streaming","templateNames":{"simple-chat":"Enkel chat","tool-calling":"Verkt\xf8yanrop","multi-turn":"Multisving","thinking":"Tenker","system-prompt":"Systemmelding","streaming":"Streaming"},"templateDescriptions":{"simple-chat":"Grunnleggende tekstmelding","tool-calling":"Funksjon/verkt\xf8y-p\xe5kalling","multi-turn":"Samtale med historien","thinking":"Utvidet tenkning / resonnement","system-prompt":"Komplekse systeminstruksjoner","streaming":"SSE-str\xf8mforesp\xf8rsel"},"templatePayloads":{"simpleChat":{"system":"Du er en hjelpsom assistent.","userGreeting":"Hei! Hvordan har du det i dag?"},"toolCalling":{"userWeather":"Hvordan er v\xe6ret i S\xe3o Paulo?","toolDescription":"F\xe5 gjeldende v\xe6r for et sted","cityNameDescription":"Bynavn"},"multiTurn":{"system":"Du er en kodeassistent.","userInitial":"Skriv en funksjon for \xe5 sortere en matrise i Python.","assistantExample":"Her er en enkel sorteringsfunksjon:\\n\\n``` python\\ndef sort_array(arr):\\n return sortert(arr)\\n```","userFollowUp":"Gj\xf8r det n\xe5 sortert i synkende rekkef\xf8lge."},"thinking":{"question":"Hva er summen av de f\xf8rste 100 primtallene?"},"systemPrompt":{"systemInstruction":"Du er en senior programvareingeni\xf8r med spesialisering i distribuerte systemer. Svar konsist p\xe5 sp\xf8rsm\xe5l ved \xe5 bruke bransjens beste praksis. Gi alltid kodeeksempler n\xe5r det er relevant. Formater svarene dine med markdown.","question":"Hvordan implementerer jeg et str\xf8mbryterm\xf8nster?"},"streaming":{"prompt":"Fortell meg en kort historie om en robot som l\xe6rer \xe5 male."}},"openaiCompatibleLabel":"OpenAI-kompatibel","anthropicCompatibleLabel":"Antropisk kompatibel","noTemplateForFormat":"Ingen mal for dette formatet","translationFailed":"Oversettelse mislyktes: {error}","pipelineDebugger":"Pipeline Debugger","translationPipeline":"Oversettelsesr\xf8rledning","pipelineVisualization":"Visualisering av pipeline","pipelineVisualizationHint":"Send en melding for \xe5 se hvordan foresp\xf8rselen din flyter gjennom gjenkjenning → oversettelse → leverand\xf8ranrop.","chatTesterDescription":"Send meldinger som et spesifikt klientformat og inspiser hvert trinn i oversettelsespipelinen.","chatTesterFlow":"Klientforesp\xf8rsel → Formatdeteksjon → OpenAI Intermediate → Leverand\xf8rformat → Svar","clickStepToInspect":"Klikk p\xe5 et hvilket som helst trinn for \xe5 inspisere dataene p\xe5 det stadiet.","clientFormat":"Klientformat","provider":"Leverand\xf8r","modelPlaceholder":"Velg eller skriv inn et modellnavn...","sendMessageToSeePipeline":"Send en melding for \xe5 se oversettelsespipeline","chatMessageHintPrefix":"Meldingen din vil bli formatert som en","chatMessageHintSuffix":"foresp\xf8rsel, oversatt gjennom r\xf8rledningen og sendt til den valgte leverand\xf8ren.","youWithFormat":"Du ({format})","assistant":"Assistent","typeMessage":"Skriv inn en melding...","send":"Send","clientRequest":"Kundeforesp\xf8rsel","clientRequestDescription":"Foresp\xf8rselsteksten slik klienten din ville sende den","formatDetected":"Format oppdaget","formatDetectedDescription":"OmniRoute oppdager automatisk API-formatet fra foresp\xf8rselsstrukturen","openaiIntermediate":"OpenAI Intermediate","openaiIntermediateDescription":"Alle formater normaliseres f\xf8rst til OpenAI-format (den universelle broen)","providerFormat":"Leverand\xf8rformat","providerFormatDescription":"OpenAI-formatet er oversatt til leverand\xf8rens opprinnelige format","providerResponse":"Leverand\xf8rens svar","providerResponseRawDescription":"R\xe5svaret fra leverand\xf8rens API","providerResponseSseDescription":"Den r\xe5 SSE-str\xf8mmen fra leverand\xf8rens API","unexpectedError":"Det oppstod en uventet feil","error":"Feil","errorMessage":"Feil: {message}","requestFailed":"Foresp\xf8rselen mislyktes","noTextExtracted":"(Ingen tekst er trukket ut)","liveMonitorDescriptionPrefix":"Viser oversettelseshendelser n\xe5r API-anrop flyter gjennom OmniRoute. Hendelser kommer fra bufferen i minnet (tilbakestilles ved omstart). Bruk","liveMonitorDescriptionSuffix":", eller eksterne API-kall for \xe5 generere hendelser."},"usage":{"title":"Bruk","loggerTab":"Logger","proxyTab":"Fullmakt","budgetManagement":"Budsjettstyring","budgetSaved":"Budsjettgrenser lagret","budgetSaveFailed":"Kunne ikke lagre budsjettet","loadingBudgetData":"Laster inn budsjettdata ...","noApiKeysTitle":"Ingen API-n\xf8kler","noApiKeysDescription":"Legg til API-n\xf8kler f\xf8rst for \xe5 sette opp budsjettgrenser.","apiKey":"API-n\xf8kkel","todaysSpend":"Dagens forbruk","thisMonth":"Denne m\xe5neden","setLimits":"Sett grenser","dailyLimitUsd":"Daglig grense (USD)","monthlyLimitUsd":"M\xe5nedlig grense (USD)","warningThresholdPercent":"Advarselsterskel (%)","dailyLimitPlaceholder":"f.eks. 5.00","monthlyLimitPlaceholder":"f.eks. 50,00","warningThresholdPlaceholder":"80","saveLimits":"Lagre grenser","budgetOk":"Budsjett OK — {remaining} gjenst\xe5r","budgetExceeded":"Budsjettet overskredet – foresp\xf8rsler kan bli blokkert","totalRequests":"Totalt antall foresp\xf8rsler","noDataYet":"Ingen data enn\xe5","latency":"Latens","latencyP50":"p50","latencyP95":"s95","latencyP99":"s99","promptCache":"Sp\xf8r Cache","systemHealth":"Systemhelse","entries":"Oppf\xf8ringer","activeCount":"{count} aktiv","openCircuitBreakersDetected":"\xc5pne str\xf8mbrytere oppdaget","hitRate":"Trefffrekvens","hitsMisses":"Treffer / savner","circuitBreakers":"Str\xf8mbrytere","lockedIPs":"L\xe5ste IP-er","lockoutsAutoRefreshHint":"Per-modell hastighetsgrense l\xe5ser • Auto-refresh 10s","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} igjen","howItWorks":"Hvordan det fungerer","howItWorksSubtitle":"Finn ut hvordan evalueringer validerer LLM-svarene dine","define":"Definer","defineStepDescription":"Opprett testtilfeller med inndatameldinger og forventede utdatakriterier ved \xe5 bruke strategier som inneholder, regul\xe6rt uttrykk eller eksakt samsvar.","run":"L\xf8p","runStepDescription":"Utf\xf8r testsaker mot LLM-endepunktene dine gjennom OmniRoute. Hver sak sendes som en ekte API-foresp\xf8rsel.","evaluate":"Vurder","evaluateStepDescription":"Svar sammenlignes mot forventede kriterier. Se best\xe5tt/ikke best\xe5tt for hver sak med ventetid og detaljert tilbakemelding.","evalSuites":"Evalueringssuiter","evalSuitesHint":"Klikk p\xe5 en suite for \xe5 se testtilfeller, og kj\xf8r deretter for \xe5 evaluere LLM-endepunktene dine","evalsLoading":"Laster inn eval suiter...","noEvalSuitesFound":"Ingen Eval-suiter funnet","noEvalSuitesDescription":"Eval-suiter kan defineres via API eller i kode. De tester modellutdata mot forventede resultater ved \xe5 bruke strategier som inneholder, regul\xe6rt uttrykk, eksakt samsvar og tilpassede funksjoner.","columnCase":"Sak","columnStatus":"Status","columnLatency":"Latens","columnDetails":"Detaljer","columnModel":"Modell","columnStrategy":"Strategi","columnExpected":"Forventet","statsSuites":"Suiter","statsTestCases":"Testtilfeller","statsModels":"Modeller","statsCoverage":"Dekning","statsStrategiesCount":"{count} strategier","evaluationStrategies":"Evalueringsstrategier","modelsUnderTest":"Modeller under test","searchSuitesPlaceholder":"S\xf8k etter suiter...","passSuffix":"pass","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"Kj\xf8r Eval","runningProgress":"Kj\xf8rer {current}/{total}...","passRate":"best\xe5tt rate","summaryBreakdown":"{passed} best\xe5tt \xb7 {failed} mislyktes \xb7 {total} totalt","passedIconLabel":"✅ Best\xe5tt","failedIconLabel":"❌ Mislyktes","detailsContains":"Inneholder: \\"{term}\\"","detailsRegex":"Regex: {pattern}","detailsExpected":"Forventet: \\"{expected}\\"","noResultsYet":"Ingen resultater enn\xe5","testCasesCount":"Testtilfeller ({count})","noTestCasesDefined":"Ingen testtilfeller definert","runEvalHint":"Klikk \\"Run Eval\\" for \xe5 utf\xf8re alle saker mot ditt LLM-endepunkt. Hver test sender en reell foresp\xf8rsel gjennom OmniRoute.","notifyNoTestCases":"Ingen testtilfeller definert for denne suiten","notifyAllCasesPassed":"Alle {total} saker best\xe5tt ✅","notifySomeCasesFailed":"{passed}/{total} best\xe5tt, {failed} mislyktes","notifyEvalRunFailed":"Evalkj\xf8ring mislyktes","notifyEvalTitle":"Eval: {name}","modelEvals":"Modellvurderinger","evalsHeroDescription":"Test og valider LLM-endepunktene dine ved \xe5 kj\xf8re forh\xe5ndsdefinerte evalueringspakker. Hver suite inneholder testtilfeller som sender reelle sp\xf8rsm\xe5l gjennom OmniRoute og sammenligner svar med forventede kriterier – som hjelper deg med \xe5 oppdage regresjoner, sammenligne modeller og sikre svarkvalitet p\xe5 tvers av leverand\xf8rer.","qualityValidation":"Kvalitetsvalidering","modelComparison":"Modellsammenligning","regressionDetection":"Regresjonsdeteksjon","latencyBenchmarks":"Latency Benchmarks","modelLockouts":"Modellsperringer","noLockouts":"Ingen modeller er for \xf8yeblikket l\xe5st","activeSessions":"Aktive \xf8kter","noSessions":"Ingen aktive \xf8kter","sessionsHint":"\xd8kter vises n\xe5r foresp\xf8rsler flyter gjennom proxyen","sessionsTrackedHint":"Spores via foresp\xf8rsel om fingeravtrykk • Auto-refresh 5s","session":"Sesjon","age":"Alder","requests":"Foresp\xf8rsler","connection":"Tilkobling","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}t","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Leverand\xf8rgrenser","noProviders":"Ingen leverand\xf8rer tilkoblet","connectProvidersForQuota":"Koble til leverand\xf8rer med OAuth for \xe5 spore API-kvotegrenser og bruk.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(filtrert fra {count})","autoRefresh":"Automatisk oppdatering","refreshAll":"Oppdater alle","loadingQuotas":"Laster inn...","account":"Konto","modelQuotas":"Modellkvoter","lastUsed":"Sist brukt","actions":"Handlinger","refreshQuota":"Oppdater kvote","today":"I dag","tomorrow":"I morgen","dayTimeFormat":"{day}, {time}","inDuration":"i {duration}","notApplicable":"N/A","rawPlanWithValue":"R\xe5 plan: {plan}","noPlanFromProvider":"Ingen plan fra leverand\xf8ren","noQuotaData":"Ingen kvotedata","noQuotaDataAvailable":"Ingen kvotedata tilgjengelig","noAccountsForTierFilter":"Fant ingen kontoer for niv\xe5filter","tierAll":"Alle","tierEnterprise":"Enterprise","tierTeam":"Team","tierBusiness":"Business","tierUltra":"Ultra","tierPro":"Pro","tierPlus":"Pluss","tierFree":"Gratis","tierUnknown":"Ukjent"},"modals":{"waitingAuth":"Venter p\xe5 autorisasjon","verificationUrl":"Verifiserings-URL","yourCode":"Din kode","remoteAccess":"Fjerntilgang:","connectedSuccess":"Tilkoblet vellykket!","connectionFailed":"Tilkobling mislyktes","chooseAuthMethod":"Velg autentiseringsmetode:","awsBuilderId":"AWS Builder ID","awsIamIdentity":"AWS IAM Identity Center","googleAccount":"Google-konto","githubAccount":"GitHub-konto","importToken":"Importer token","pasteToken":"Lim inn oppdateringstoken fra Kiro IDE.","awsRegion":"AWS-regionen","autoDetecting":"Automatisk oppdager tokens...","readingFromCache":"Leser fra AWS SSO-cache","readingFromCursor":"Leser fra Cursor IDE-databasen","initializing":"Initialiserer...","pricingConfig":"Priskonfigurasjon","loadingPricing":"Laster inn prisdata ...","pricingRatesFormat":"Prisformat","noPricingData":"Ingen prisdata tilgjengelig","noModelsFound":"Ingen modeller funnet"},"loggers":{"allProviders":"Alle leverand\xf8rer","allModels":"Alle modeller","allAccounts":"Alle kontoer","allApiKeys":"Alle API-n\xf8kler","allTypes":"Alle typer","allLevels":"Alle niv\xe5er","modelAZ":"Modell A-Z","modelZA":"Modell Z-A","loadingLogs":"Laster inn logger...","loadingProxyLogs":"Laster inn proxy-logger ...","noLogEntries":"Ingen loggoppf\xf8ringer funnet","noPayloadData":"Ingen nyttelastdata tilgjengelig for denne loggoppf\xf8ringen.","proxyEvent":"Proxy-hendelse","proxy":"Fullmakt","level":"Niv\xe5","directNative":"Direkte (innf\xf8dt)","combo":"Combo","inputTokens":"jeg:","outputTokens":"O:"},"stats":{"usageOverview":"Bruksoversikt","outputTokens":"Output tokens","totalCost":"Total kostnad","usageByModel":"Bruk etter modell","usageByAccount":"Bruk etter konto","failedToLoad":"Kunne ikke laste inn bruksstatistikk.","tokenHealth":"Token Health","totalOAuth":"Totalt OAuth","healthy":"Sunn","warning":"Advarsel","errored":"Feil","lastCheck":"Siste sjekk","noData":"Ingen data","share":"Del","unableToLoad":"Kan ikke laste inn systemberegninger","product":"Produkt","resources":"Ressurser","company":"Selskapet"},"auth":{"welcome":"Velkommen","signIn":"Logg p\xe5","enterPassword":"Skriv inn passordet ditt for \xe5 fortsette","password":"Passord","unifiedProxy":"Unified AI API Proxy","unifiedAiApiProxy":"Unified AI API Proxy","unifiedAiApiProxyDesc":"Rut foresp\xf8rsler til flere AI-leverand\xf8rer gjennom ett enkelt endepunkt. Lastbalansering, failover og brukssporing innebygd.","passwordNotEnabled":"Passordbeskyttelse er ikke aktivert","loading":"Laster inn...","invalidPassword":"Ugyldig passord","errorOccurredRetry":"Det oppsto en feil. Vennligst pr\xf8v igjen.","configureInstance":"La oss f\xe5 konfigurert OmniRoute-forekomsten","runOnboardingWizard":"Kj\xf8r onboarding-veiviseren for \xe5 sette opp passordet ditt og koble til din f\xf8rste AI-leverand\xf8r.","startOnboarding":"Start onboarding","secureYourInstance":"Sikre din forekomst","setPasswordDescription":"Angi et passord for \xe5 beskytte dashbordet og sikre API-endepunktene dine mot uautorisert tilgang.","configurePassword":"Konfigurer passord","continue":"Fortsett","windowWillClose":"Dette vinduet lukkes automatisk...","closeTabNow":"Du kan lukke denne fanen n\xe5.","copyUrlManual":"Vennligst kopier URL-en fra adressefeltet og lim den inn i applikasjonen.","accessDeniedDescription":"Du har ikke tillatelse til \xe5 f\xe5 tilgang til denne ressursen. Sjekk API-n\xf8kkelen din eller kontakt administratoren.","goToDashboard":"G\xe5 til Dashboard","featureMultiProviderTitle":"Multileverand\xf8r","featureMultiProviderDesc":"OpenAI, Anthropic, Google og mer","featureLoadBalancingTitle":"Lastbalansering","featureLoadBalancingDesc":"Distribuer foresp\xf8rsler intelligent","featureUsageTrackingTitle":"Brukssporing","featureUsageTrackingDesc":"Overv\xe5k kostnader og tokens","resetPassword":"Tilbakestill passord","resetDescription":"Velg en metode for \xe5 gjenopprette tilgangen til dashbordet","stopServer":"Stopp OmniRoute-serveren","processing":"Behandler...","pleaseWait":"Vennligst vent mens vi fullf\xf8rer autorisasjonen.","authSuccess":"Godkjenning vellykket!","copyUrl":"Kopier denne nettadressen","accessDenied":"Tilgang nektet","methodCliTitle":"Metode 1: CLI-tilbakestilling","methodCliDescription":"Kj\xf8r f\xf8lgende kommando p\xe5 serveren der OmniRoute kj\xf8rer:","methodCliHint":"Dette vil be deg om \xe5 angi et nytt passord. Serveren m\xe5 stoppes f\xf8rst.","methodManualTitle":"Metode 2: Manuell tilbakestilling","methodManualDescription":"Slett passordet fra databasen og sett et nytt ved oppstart:","setPasswordInYour":"Sett et nytt passord i din","fileLabelSuffix":"fil:","newPasswordPlaceholder":"ditt_nye_passord","deleteSettingsFile":"Slett","orRemovePasswordHashField":"eller fjern passordHash-feltet","restartServerWithNewPassword":"Start serveren p\xe5 nytt - den vil bruke det nye passordet","backToLogin":"Tilbake til p\xe5logging","forgotPassword":"Glemt passord?"},"landing":{"brandName":"OmniRoute","navigateHome":"Naviger til hjem","toggleMenu":"Bytt meny","featuresLink":"Funksjoner","docsLink":"Dokumenter","github":"GitHub","versionLive":"v1.0 er n\xe5 live","oneEndpoint":"Ett endepunkt for","allProviders":"Alle AI-leverand\xf8rer","heroDescription":"AI-endepunktproxy med web-dashboard - En JavaScript-port av CLIProxyAPI. Fungerer s\xf8ml\xf8st med Claude Code, OpenAI Codex, Cline, RooCode og andre CLI-verkt\xf8y.","getStarted":"Kom i gang","viewOnGithub":"Se p\xe5 GitHub","powerfulFeatures":"Kraftige funksjoner","featuresSubtitle":"Alt du trenger for \xe5 administrere AI-infrastrukturen din p\xe5 ett sted, bygget for skala.","featureUnifiedEndpointTitle":"Samlet endepunkt","featureUnifiedEndpointDesc":"F\xe5 tilgang til alle leverand\xf8rer via en enkelt standard API-URL.","featureEasySetupTitle":"Enkelt oppsett","featureEasySetupDesc":"Kom i gang p\xe5 f\xe5 minutter med npx-kommandoen.","featureModelFallbackTitle":"Modell Fallback","featureModelFallbackDesc":"Bytt leverand\xf8r automatisk ved feil eller h\xf8y ventetid.","featureUsageTrackingTitle":"Brukssporing","featureUsageTrackingDesc":"Detaljert analyse og kostnadsoverv\xe5king p\xe5 tvers av alle modeller.","featureOAuthApiKeysTitle":"OAuth- og API-n\xf8kler","featureOAuthApiKeysDesc":"Administrer legitimasjon p\xe5 en sikker m\xe5te i ett hvelv.","featureCloudSyncTitle":"Cloud Sync","featureCloudSyncDesc":"Synkroniser konfigurasjonene dine p\xe5 tvers av enheter umiddelbart.","featureCliSupportTitle":"CLI-st\xf8tte","featureCliSupportDesc":"Fungerer med Claude Code, Codex, Cline, Cursor og mer.","featureDashboardTitle":"Dashbord","featureDashboardDesc":"Visuelt dashbord for trafikkanalyse i sanntid.","howItWorks":"Hvordan OmniRoute fungerer","howItWorksDescription":"Data flyter s\xf8ml\xf8st fra applikasjonen din gjennom v\xe5rt intelligente rutinglag til den beste leverand\xf8ren for jobben.","howItWorksStep1Title":"1. CLI og SDK-er","howItWorksStep1Description":"Foresp\xf8rslene dine starter fra favorittverkt\xf8yene dine eller v\xe5r enhetlige SDK. Bare endre basis-URLen.","howItWorksStep2Title":"2. OmniRoute Hub","howItWorksStep2Description":"Motoren v\xe5r analyserer foresp\xf8rselen, sjekker leverand\xf8rens helse og ruter for lavest ventetid eller kostnad.","howItWorksStep3Title":"3. AI-leverand\xf8rer","howItWorksStep3Description":"Foresp\xf8rselen oppfylles av OpenAI, Anthropic, Gemini eller andre umiddelbart.","getStartedIn30Seconds":"Kom i gang p\xe5 30 sekunder","getStartedDescription":"Installer OmniRoute, konfigurer leverand\xf8rene dine via nettdashbordet, og begynn \xe5 rute AI-foresp\xf8rsler.","installOmniRoute":"Installer OmniRoute","installStepDescription":"Kj\xf8r npx-kommandoen for \xe5 starte serveren umiddelbart","openDashboard":"\xc5pne Dashboard","openDashboardStepDescription":"Konfigurer leverand\xf8rer og API-n\xf8kler via webgrensesnitt","routeRequests":"Ruteforesp\xf8rsler","routeRequestsStepDescription":"Pek CLI-verkt\xf8yene dine til {endpoint}","terminal":"terminal","copy":"Kopier","copied":"✓ Kopiert","startingOmniRoute":"Starter OmniRoute...","serverRunningOnLabel":"Server kj\xf8rer p\xe5","dashboardLabel":"Dashbord","readyToRoute":"Klar til rute! ✓","configureProvidersNote":"\uD83D\uDCDD Konfigurer leverand\xf8rer i dashbordet eller bruk milj\xf8variabler","dataLocation":"Dataplassering:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Windows:","product":"Produkt","dashboardLink":"Dashbord","changelog":"Endringslogg","resources":"Ressurser","documentation":"Dokumentasjon","npm":"NPM","legal":"Lovlig","mitLicense":"MIT-lisens","footerTagline":"Det enhetlige endepunktet for AI-generering. Koble til, rute og administrer AI-leverand\xf8rene dine p\xe5 en enkel m\xe5te.","copyright":"\xa9 {year} OmniRoute. Alle rettigheter forbeholdt.","flowToolClaudeCode":"Claude Code","flowToolOpenAICodex":"OpenAI Codex","flowToolCline":"Cline","flowToolCursor":"Mark\xf8r","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Antropisk","flowProviderGemini":"Tvillingene","flowProviderGithubCopilot":"GitHub Copilot","interactiveDiagram":"Interaktivt diagram synlig p\xe5 skrivebordet","ctaTitle":"Klar til \xe5 forenkle AI-infrastrukturen din?","ctaDescription":"Bli med utviklere som str\xf8mlinjeformer AI-integrasjonene sine med OmniRoute. \xc5pen kildekode og gratis \xe5 starte.","startFree":"Start gratis","readDocumentation":"Les dokumentasjon"},"docs":{"title":"Dokumentasjon","quickStart":"Rask start","features":"Funksjoner","supportedProviders":"St\xf8ttede leverand\xf8rer","supportedProvidersToc":"Leverand\xf8rer","commonUseCases":"Vanlige brukstilfeller","clientCompatibility":"Klientkompatibilitet","apiReference":"API-referanse","method":"Metode","path":"Sti","notes":"Notater","modelPrefixes":"Modellprefikser","prefix":"Prefiks","troubleshooting":"Feils\xf8king","supportsChat":"St\xf8tter b\xe5de chat- og svarendepunkter.","oauthAutoRefresh":"OAuth-tilkobling med automatisk tokenoppdatering.","fullStreaming":"Full streamingst\xf8tte for alle modeller.","docsLabel":"Dokumenter","docsHeroDescription":"AI-gateway for LLM-er med flere leverand\xf8rer. Ett endepunkt for OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor og mer enn 20 leverand\xf8rer.","openDashboard":"\xc5pne Dashboard","endpointPage":"Sluttpunktside","github":"GitHub","reportIssue":"Rapporter problem","onThisPage":"P\xe5 denne siden","documentationVersion":"Dokumentasjon - v{version}","quickStartStep1Title":"1. Installer og kj\xf8r","quickStartStep1Prefix":"L\xf8p","quickStartStep1Middle":"eller klone fra GitHub og kj\xf8re","quickStartStep2Title":"2. Opprett API-n\xf8kkel","quickStartStep2Text":"G\xe5 til endepunkt -> Registrerte n\xf8kler. Generer \xe9n n\xf8kkel per milj\xf8.","quickStartStep3Title":"3. Koble til leverand\xf8rer","quickStartStep3Text":"Legg til leverand\xf8rkontoer via OAuth-p\xe5logging, API-n\xf8kkel eller gratis-lags automatisk tilkobling.","quickStartStep4Title":"4. Angi klientbase-URL","quickStartStep4Prefix":"Pek IDE- eller API-klienten din til","quickStartStep4Suffix":"Bruk for eksempel leverand\xf8rprefiks","featureRoutingTitle":"Ruting for flere leverand\xf8rer","featureRoutingText":"Rut foresp\xf8rsler til 30+ AI-leverand\xf8rer gjennom ett enkelt OpenAI-kompatibelt endepunkt. St\xf8tter chat, svar, lyd og bilde-APIer.","featureCombosTitle":"Kombinasjoner og balansering","featureCombosText":"Lag modellkombinasjoner med reservekjeder og balanseringsstrategier: round-robin, prioritet, tilfeldig, minst brukt og kostnadsoptimalisert.","featureUsageTitle":"Bruk og kostnadssporing","featureUsageText":"Sanntids-tokentelling, kostnadsberegning per leverand\xf8r/modell og detaljert bruksoppdeling etter API-n\xf8kkel og konto.","featureAnalyticsTitle":"Analytics Dashboard","featureAnalyticsText":"Visuell analyse med diagrammer for foresp\xf8rsler, tokens, feil, ventetid, kostnader og modellpopularitet over tid.","featureHealthTitle":"Helseoverv\xe5king","featureHealthText":"Live helsesjekker, leverand\xf8rstatus, str\xf8mbrytertilstander og automatisk hastighetsgrensedeteksjon med eksponentiell tilbakekobling.","featureCliTitle":"CLI-verkt\xf8y","featureCliText":"Administrer IDE-konfigurasjoner, eksporter/importer sikkerhetskopier, oppdag kodex-profiler og konfigurer innstillinger fra dashbordet.","featureSecurityTitle":"Sikkerhet og retningslinjer","featureSecurityText":"API-n\xf8kkelautentisering, IP-filtrering, prompt-injeksjonsvakt, domenepolicyer, \xf8ktadministrasjon og revisjonslogging.","featureCloudSyncTitle":"Cloud Sync","featureCloudSyncText":"Synkroniser konfigurasjonen din med Cloudflare Workers for ekstern tilgang med kryptert legitimasjon og automatisk failover.","providersAcrossConnectionTypes":"{count}-leverand\xf8rer p\xe5 tvers av tre tilkoblingstyper.","manageProviders":"Administrer leverand\xf8rer","providersCount":"{count} leverand\xf8rer","providerTypeFree":"Gratis lag","providerTypeOAuth":"OAuth","providerTypeApiKey":"API-n\xf8kkel","useCaseSingleEndpointTitle":"Enkelt endepunkt for mange leverand\xf8rer","useCaseSingleEndpointText":"Pek klienter til \xe9n basis-URL og rute etter modellprefiks (for eksempel: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Fallback og modellbytte med kombinasjoner","useCaseFallbackText":"Lag kombinasjonsmodeller i Dashboard og hold klientkonfigurasjonen stabil mens leverand\xf8rene roterer internt.","useCaseUsageVisibilityTitle":"Bruk, kostnader og feils\xf8kingssynlighet","useCaseUsageVisibilityText":"Spor tokens og kostnader etter leverand\xf8r, konto og API-n\xf8kkel i fanene Bruk og Analytics.","clientCherryStudioTitle":"Cherry Studio","baseUrlLabel":"Base URL","chatEndpointLabel":"Chat-endepunkt","modelRecommendationLabel":"Modellanbefaling: eksplisitt prefiks","clientCodexTitle":"Codex / GitHub Copilot-modeller","clientCodexBullet1":"Bruk modell-ID-er med","clientCodexBullet2":"Codex-familiemodeller rutes automatisk til","clientCodexBullet3":"Ikke-Codex-modeller fortsetter","clientCursorTitle":"Mark\xf8r IDE","clientCursorBullet1":"Bruk","clientCursorBullet1Suffix":"prefiks for Cursor-modeller.","clientCursorBullet2":"OAuth-tilkobling - logg p\xe5 fra siden Leverand\xf8rer.","clientClaudeTitle":"Claude Code / Antigravity","clientClaudeBullet1Prefix":"Bruk","clientClaudeBullet1Middle":"(Claude) eller","clientClaudeBullet1Suffix":"(Antigravity) prefiks.","endpointChatNote":"OpenAI-kompatibelt chat-endepunkt (standard).","endpointResponsesNote":"Responses API-endepunkt (Codex, o-serien).","endpointModelsNote":"Modellkatalog for alle tilkoblede leverand\xf8rer.","endpointAudioNote":"Lydtranskripsjon (Deepgram, AssemblyAI).","endpointImagesNote":"Bildegenerering (NanoBanana).","endpointRewriteChatNote":"Omskrivehjelper for klienter uten /v1.","endpointRewriteResponsesNote":"Omskriv hjelper for svar uten /v1.","endpointRewriteModelsNote":"Omskrivehjelper for modelloppdagelse uten /v1.","modelPrefixesDescriptionStart":"Bruk leverand\xf8rprefikset f\xf8r modellnavnet for \xe5 rute til en bestemt leverand\xf8r. Eksempel:","modelPrefixesDescriptionEnd":"ruter til GitHub Copilot.","provider":"Leverand\xf8r","type":"Type","troubleshootingModelRouting":"Hvis klienten mislykkes med modellruting, bruk eksplisitt leverand\xf8r/modell (for eksempel: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Hvis du f\xe5r tvetydige modellfeil, velger du et leverand\xf8rprefiks i stedet for en bare modell-ID.","troubleshootingCodexFamily":"For GitHub Codex-familiemodeller, behold modellen som gh/<codex-model>; ruteren velger /responser automatisk.","troubleshootingTestConnection":"Bruk Dashboard > Leverand\xf8rer > Test tilkobling f\xf8r du tester fra IDE-er eller eksterne klienter.","troubleshootingCircuitBreaker":"Hvis en leverand\xf8r viser at str\xf8mbryteren er \xe5pen, vent p\xe5 nedkj\xf8ling eller sjekk helsesiden for detaljer.","troubleshootingOAuth":"For OAuth-leverand\xf8rer, autentiser p\xe5 nytt hvis tokens utl\xf8per. Sjekk leverand\xf8rkortets statusindikator."},"legal":{"privacyPolicy":"Personvernerkl\xe6ring","termsOfService":"Vilk\xe5r for bruk","providerConfigurations":"Leverand\xf8rkonfigurasjoner","apiKeys":"API-n\xf8kler","usageLogs":"Brukslogger","applicationSettings":"Applikasjonsinnstillinger","viewExportAnalytics":"Se og eksporter bruksanalyse","clearHistory":"T\xf8m brukshistorikken n\xe5r som helst","configureRetention":"Konfigurer retningslinjer for loggoppbevaring","backupRestore":"Sikkerhetskopier og gjenopprett databasen","privacyMetadataTitle":"Personvernerkl\xe6ring | OmniRoute","privacyMetadataDescription":"Personvernregler for OmniRoute AI API-proxy-ruteren.","termsMetadataTitle":"Vilk\xe5r for bruk | OmniRoute","termsMetadataDescription":"Vilk\xe5r for bruk for OmniRoute AI API-proxy-ruteren.","backToHome":"Tilbake til hjemmet","lastUpdated":"Sist oppdatert: {date}","policyLastUpdatedDate":"13. februar 2026","listSeparator":"-","questionsVisit":"Sp\xf8rsm\xe5l? Bes\xf8k v\xe5r","githubRepository":"GitHub-depot","privacySection1Title":"1. Lokal-f\xf8rst arkitektur","privacySection1Text":"OmniRoute er designet som en lokal f\xf8rst-applikasjon. All databehandling og lagring skjer utelukkende p\xe5 maskinen din. Det er ingen sentralisert server som samler inn informasjonen din.","privacySection2Title":"2. Data vi lagrer","privacyDataStoredIn":"F\xf8lgende data lagres lokalt i","privacyDataProviderConfigurationsDesc":"tilkoblings-URLer, leverand\xf8rtyper og prioritetsinnstillinger","privacyDataApiKeysDesc":"kryptert og lagret lokalt for autentisering med AI-leverand\xf8rer","privacyDataUsageLogsDesc":"antall foresp\xf8rsler, tokenbruk, modellnavn, tidsstempler og responstider","privacyDataApplicationSettingsDesc":"temapreferanser, rutingstrategi og kombinasjonskonfigurasjoner","privacySection3Title":"3. Ingen telemetri","privacySection3Text":"OmniRoute samler ikke inn telemetri, analyser eller krasjrapporter. Ingen data sendes til oss eller noen tredjepart. Dine bruksm\xf8nstre, API-kall og konfigurasjoner forblir helt private.","privacySection4Title":"4. Tredjeparts AI-leverand\xf8rer","privacySection4Text":"N\xe5r du foretar API-anrop gjennom OmniRoute, blir foresp\xf8rslene dine videresendt til AI-leverand\xf8rene du har konfigurert (for eksempel: OpenAI, Anthropic, Google). Disse leverand\xf8rene har sine egne retningslinjer for personvern som styrer hvordan de h\xe5ndterer dataene dine. Vennligst se gjennom:","privacyOpenAiPolicy":"OpenAI personvernerkl\xe6ring","privacyAnthropicPolicy":"Antropiske retningslinjer for personvern","privacyGooglePolicy":"Googles personvernregler","privacySection5Title":"5. Cloud Sync (valgfritt)","privacySection5Text":"Hvis du aktiverer den valgfrie skysynkroniseringsfunksjonen, kan leverand\xf8rkonfigurasjoner og API-n\xf8kler overf\xf8res til et konfigurert skyendepunkt. Denne funksjonen er deaktivert som standard og krever eksplisitt opt-in.","privacySection6Title":"6. Logging","privacyLoggingIntro":"Foresp\xf8rselslogger kan konfigureres gjennom dashbordinnstillingene. Du kan:","privacySection7Title":"7. Dine rettigheter","privacySection7TextStart":"Siden all data er lagret lokalt, har du full kontroll. Du kan slette dataene dine n\xe5r som helst ved \xe5 fjerne","privacySection7TextEnd":"katalogen eller bruke funksjonene for sikkerhetskopiering og gjenoppretting av databasen i dashbordet.","termsSection1Title":"1. Oversikt","termsSection1Text":"OmniRoute er en lokal-f\xf8rste AI API-proxy-ruter som fungerer utelukkende p\xe5 maskinen din. Den ruter foresp\xf8rsler til flere AI-leverand\xf8rer med lastbalansering, failover og brukssporing.","termsSection2Title":"2. Brukeransvar","termsResponsibilityApiKeys":"Du er alene ansvarlig for \xe5 administrere dine egne API-n\xf8kler og legitimasjon for tredjeparts AI-leverand\xf8rer (OpenAI, Anthropic, Google, etc.).","termsResponsibilityCompliance":"Du m\xe5 overholde vilk\xe5rene for bruk for hver AI-leverand\xf8r hvis API du f\xe5r tilgang til gjennom OmniRoute.","termsResponsibilitySecurity":"Du er ansvarlig for sikkerheten til din lokale OmniRoute-installasjon, inkludert \xe5 angi et passord og begrense nettverkstilgang.","termsSection3Title":"3. Hvordan det fungerer","termsSection3Text":"OmniRoute fungerer som en mellomfullmektig. API-anrop som sendes til OmniRoute, oversettes og videresendes til dine konfigurerte AI-leverand\xf8rer. OmniRoute endrer ikke innholdet i dine foresp\xf8rsler eller svar utover den n\xf8dvendige protokolloversettelsen.","termsSection4Title":"4. Datah\xe5ndtering","termsDataStoredLocally":"Alle data lagres lokalt p\xe5 din maskin i en SQLite-database.","termsNoTransmission":"OmniRoute overf\xf8rer ingen data til eksterne servere med mindre du eksplisitt aktiverer skysynkroniseringsfunksjoner.","termsDataLocationText":"Brukslogger, API-n\xf8kler og konfigurasjon lagres i","termsSection5Title":"5. Ansvarsfraskrivelse","termsSection5Text":"OmniRoute leveres \\"som den er\\" uten garanti av noe slag. Vi er ikke ansvarlige for kostnader som p\xe5l\xf8per gjennom API-bruk, tjenesteavbrudd eller tap av data. Oppretthold alltid sikkerhetskopier av konfigurasjonen din.","termsSection6Title":"6. \xc5pen kildekode","termsSection6Text":"OmniRoute er \xe5pen kildekode-programvare. Du st\xe5r fritt til \xe5 inspisere, modifisere og distribuere den under lisensvilk\xe5rene."}}')}};