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=8976,exports.ids=[8976],exports.modules={18976:a=>{a.exports=JSON.parse('{"common":{"save":"Gem","cancel":"Annuller","delete":"Slet","loading":"Indl\xe6ser...","error":"Der opstod en fejl","success":"Succes","confirm":"Er du sikker?","refresh":"Opdater","close":"Luk","add":"Tilf\xf8j","edit":"Rediger","search":"S\xf8g","back":"Tilbage","next":"N\xe6ste","submit":"Indsend","reset":"Nulstil","copy":"Kopi\xe9r","copied":"Kopieret!","enabled":"Aktiveret","disabled":"Deaktiveret","active":"Aktiv","inactive":"Inaktiv","noData":"Ingen tilg\xe6ngelige data","configure":"Konfigurer","manage":"Administrer","name":"Navn","actions":"Handlinger","status":"Status","type":"Type","model":"Model","models":"modeller","provider":"Udbyder","account":"Konto","time":"Tid","details":"Detaljer","created":"Oprettet","lastUsed":"Sidst brugt","loadMore":"Indl\xe6s mere","noResults":"Ingen resultater fundet","reloadPage":"Genindl\xe6s siden","connected":"Forbundet","disconnected":"Afbrudt","notConfigured":"Ikke konfigureret","testConnection":"Test forbindelse","enable":"Aktiver","disable":"Deaktiver","columns":"Kolonner","newest":"Nyeste","oldest":"\xc6ldste","all":"Alle","none":"Ingen","yes":"Ja","no":"Nej","warning":"Advarsel","note":"Bem\xe6rk","free":"Gratis","skipToContent":"G\xe5 til indhold"},"sidebar":{"home":"Hjem","dashboard":"Dashboard","providers":"Udbydere","combos":"Combos","usage":"Brug","analytics":"Analytics","costs":"Omkostninger","health":"Sundhed","limits":"Gr\xe6nser og kvoter","cliTools":"CLI v\xe6rkt\xf8jer","settings":"Indstillinger","translator":"Overs\xe6tter","docs":"Dokumenter","issues":"Problemer","endpoint":"Slutpunkt","apiManager":"API Manager","logs":"Logs","auditLog":"Revisionslog","shutdown":"Nedlukning","restart":"Genstart","shutdownConfirm":"Vil du lukke OmniRoute ned?","restartConfirm":"Genstart OmniRoute?","version":"v{version}","debug":"Debug","system":"System","help":"Hj\xe6lp","serverDisconnected":"Server afbrudt","serverDisconnectedMsg":"Proxyserveren er blevet stoppet eller genstarter.","expandSidebar":"Udvid sidebj\xe6lken","collapseSidebar":"Skjul sidebj\xe6lken"},"header":{"logout":"Log ud","language":"Sprog","providers":"Udbydere","providerDescription":"Administrer dine AI-udbyderforbindelser","combos":"Combos","comboDescription":"Modelkombinationer med fallback","usage":"Brug & Analytics","usageDescription":"Overv\xe5g dit API-brug, tokenforbrug og anmodningslogfiler","analytics":"Analytics","analyticsDescription":"Diagrammer, tendenser og evalueringsindsigter","cliTools":"CLI v\xe6rkt\xf8jer","cliToolsDescription":"Konfigurer CLI-v\xe6rkt\xf8jer","home":"Hjem","homeDescription":"Velkommen til OmniRoute","endpoint":"Slutpunkt","endpointDescription":"API-endepunktskonfiguration","settings":"Indstillinger","settingsDescription":"Administrer dine pr\xe6ferencer","openaiCompatible":"OpenAI-kompatibel","anthropicCompatible":"Antropisk kompatibel"},"home":{"quickStart":"Hurtig start","quickStartDesc":"Kom i gang i 4 trin. Tilslut udbydere, rutemodeller, overv\xe5g alt.","fullDocs":"Fuld dokumenter","step1Title":"1. Opret API-n\xf8gle","step1Desc":"G\xe5 til <endpoint>Endpoint</endpoint> -> Registrerede n\xf8gler. Generer \xe9n n\xf8gle pr. milj\xf8.","step2Title":"2. Tilslut udbydere","step2Desc":"Tilf\xf8j konti i <providers>Providers</providers>. Underst\xf8tter OAuth, API Key og gratis niveauer.","step3Title":"3. Peg din klient","step3Desc":"Indstil basis-URL til {url} i din IDE- eller API-klient.","step4Title":"4. Overv\xe5g & optimer","step4Desc":"Spor tokens, omkostninger og fejl i <logs>Request Logs</logs> og <analytics>Analytics</analytics>.","providersOverview":"Oversigt over udbydere","configuredOf":"{configured} konfigureret af {total} tilg\xe6ngelige udbydere","noModelsAvailable":"Ingen tilg\xe6ngelige modeller for denne udbyder.","configureFirst":"Konfigurer en forbindelse f\xf8rst i {providers}","configureProvider":"Konfigurer udbyder","modelAvailable":"{count} model tilg\xe6ngelig","modelsAvailable":"{count} modeller tilg\xe6ngelige","connectionsActive":"{count} forbindelse aktiv","connectionsActivePlural":"{count} forbindelser aktive","copyModelName":"Kopi\xe9r modelnavnet","documentation":"Dokumentation","healthMonitor":"Sundhedsmonitor","reportIssue":"Rapport\xe9r problem","activeError":"{active} aktiv \xb7 {errors} fejl","oauthLabel":"OAuth","apiKeyLabel":"API n\xf8gle","requestsShort":"{count} req","providerModelsTitle":"{provider} - Modeller","copiedModel":"Kopieret: {model}","aliasLabel":"alias"},"analytics":{"title":"Analytics","overviewDescription":"Overv\xe5g dine API-brugsm\xf8nstre, tokenforbrug, omkostninger og aktivitetstendenser p\xe5 tv\xe6rs af alle udbydere og modeller.","evalsDescription":"K\xf8r evalueringspakker for at teste og validere dine LLM-endepunkter. Sammenlign modelkvalitet, detekter regressioner og benchmark-forsinkelse.","overview":"Oversigt","evals":"Evals"},"apiManager":{"title":"API n\xf8gler","createKey":"Opret API-n\xf8gle","key":"N\xf8gle","revokeKey":"Tilbagekald n\xf8gle","revokeConfirm":"Er du sikker p\xe5, at du vil tilbagekalde denne API-n\xf8gle?","noKeys":"Ingen API-n\xf8gler endnu","noKeysDesc":"Opret din f\xf8rste API-n\xf8gle til at godkende anmodninger til dit slutpunkt","keyLabel":"N\xf8glem\xe6rke","permissions":"Tilladelser","expiresAt":"Udl\xf8ber","never":"Aldrig","revoke":"Tilbagekald","showKey":"Vis n\xf8gle","hideKey":"Skjul n\xf8gle","copyKey":"Kopi\xe9r API-n\xf8gle","allModels":"Alle modeller","selectedModels":"Udvalgte modeller","readOnly":"Kun l\xe6se","fullAccess":"Fuld adgang","keyManagement":"API n\xf8glestyring","keyManagementDesc":"Opret og administrer API-n\xf8gler til godkendelse af anmodninger til dit slutpunkt","totalKeys":"Totaln\xf8gler","restricted":"Begr\xe6nset","totalRequests":"Samlet antal anmodninger","modelsAvailable":"Modeller tilg\xe6ngelige","registeredKeys":"Registrerede n\xf8gler","keysRegistered":"{count} n\xf8gler registreret","keyRegistered":"{count} n\xf8gle registreret","keysSecurityNote":"Hver n\xf8gle isolerer brugssporing og kan tilbagekaldes uafh\xe6ngigt. N\xf8gler er maskeret efter oprettelse for sikkerhed.","createFirstKey":"Opret din f\xf8rste n\xf8gle","name":"Navn","usage":"Brug","created":"Oprettet","actions":"Handlinger","reqs":"req","neverUsed":"Aldrig brugt","deleteConfirm":"Vil du slette denne API-n\xf8gle?","usageTips":"Brugstips","tipAuth":"Brug API-n\xf8gler i autorisationsoverskriften som b\xe6rer DIN_KEY","tipSecure":"N\xf8gler vises kun \xe9n gang under oprettelsen - gem dem sikkert","tipSeparate":"Opret separate n\xf8gler til forskellige klienter eller milj\xf8er","tipRestrict":"Begr\xe6ns n\xf8gler til specifikke modeller for bedre sikkerhed og omkostningskontrol","keyName":"N\xf8glenavn","keyNamePlaceholder":"f.eks. Produktionsn\xf8gle, Udviklingsn\xf8gle","keyNameDesc":"V\xe6lg et beskrivende navn for at identificere denne n\xf8gles form\xe5l","keyCreated":"API-n\xf8gle oprettet","keyCreatedSuccess":"N\xf8glen blev oprettet!","keyCreatedNote":"Kopi\xe9r og gem denne n\xf8gle nu – den vises ikke igen.","done":"F\xe6rdig","savePermissions":"Gem tilladelser","allowAll":"Tillad alle","restrict":"Begr\xe6ns","allowAllInfo":"Denne n\xf8gle kan f\xe5 adgang til alle tilg\xe6ngelige modeller.","restrictInfo":"Denne n\xf8gle kan f\xe5 adgang til {selected} af {total} modeller.","selected":"{count} valgt","all":"Alle","clear":"Ryd","searchModels":"S\xf8g efter modeller efter navn eller udbyder...","noModelsFound":"Ingen modeller fundet","keyNameRequired":"N\xf8glenavn er p\xe5kr\xe6vet","keyNameTooLong":"N\xf8glenavnet skal v\xe6re p\xe5 h\xf8jst {max} tegn","keyNameInvalid":"N\xf8glenavn kan kun indeholde bogstaver, tal, mellemrum, bindestreger og understregninger","invalidKeyName":"Ugyldigt n\xf8glenavn","failedCreateKey":"Kunne ikke oprette n\xf8gle","failedCreateKeyRetry":"Kunne ikke oprette n\xf8gle. Pr\xf8v venligst igen.","invalidKeyId":"Ugyldigt n\xf8gle-id","failedDeleteKey":"N\xf8glen kunne ikke slettes","failedDeleteKeyRetry":"N\xf8glen kunne ikke slettes. Pr\xf8v venligst igen.","invalidModelsSelection":"Ugyldigt valg af modeller","cannotSelectMoreThanModels":"Kan ikke v\xe6lge mere end {max} modeller","failedUpdatePermissions":"Kunne ikke opdatere tilladelser","failedUpdatePermissionsRetry":"Kunne ikke opdatere tilladelser. Pr\xf8v venligst igen.","unknownProvider":"ukendt","copyMaskedKey":"Kopi\xe9r maskeret n\xf8gle","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Sidste: {date}","editPermissions":"Rediger tilladelser","deleteKey":"Slet n\xf8gle","model":"{count} model","models":"{count} modeller","permissionsTitle":"Tilladelser: {name}","allowAllDesc":"Denne n\xf8gle kan f\xe5 adgang til alle tilg\xe6ngelige modeller.","restrictDesc":"Denne n\xf8gle kan f\xe5 adgang til {selectedCount} af {totalModels} modeller.","selectedCount":"{count} valgt"},"auditLog":{"title":"Revisionslog","searchPlaceholder":"S\xf8gehandlinger...","action":"Handling","actor":"Skuespiller","target":"M\xe5l","ipAddress":"IP-adresse","timestamp":"Tidsstempel","noEntries":"Ingen revisionsposter fundet","filterByAction":"Filtrer efter handling...","filterByActor":"Filtrer efter skuespiller...","filterEntriesAria":"Filtrer revisionslogposter","filterByActionTypeAria":"Filtrer efter handlingstype","filterByActorAria":"Filtrer efter skuespiller","refreshAuditLogAria":"Opdater revisionslog","tableAria":"Revisionslogposter","failedFetchAuditLog":"Kunne ikke hente revisionslog","notAvailable":"—","description":"Administrative handlinger og sikkerhedsh\xe6ndelser","showing":"Viser {count} poster (offset {offset})","previous":"Forrige"},"cliTools":{"title":"CLI v\xe6rkt\xf8jer","noActiveProviders":"Ingen aktive udbydere","noActiveProvidersDesc":"Tilf\xf8j og tilslut udbydere f\xf8rst for at konfigurere CLI-v\xe6rkt\xf8jer.","mapModels":"Kortmodeller","testConnection":"Test forbindelse","connectionStatus":"Forbindelsesstatus","configureEndpoint":"Konfigurer slutpunkt","instructions":"Instruktioner","modelMapping":"Modelkortl\xe6gning","baseUrl":"Basis URL","apiKey":"API n\xf8gle","configured":"Konfigureret","notConfigured":"Ikke konfigureret","notInstalled":"Ikke installeret","custom":"Brugerdefineret","unknown":"Ukendt","lastSavedAt":"Sidst gemt: {date}","never":"Aldrig","justNow":"lige nu","minutesAgoShort":"{count}m siden","hoursAgoShort":"{count}t siden","daysAgoShort":"{count}d siden","monthsAgoShort":"{count}m\xe5ned siden","yearsAgoShort":"{count}\xe5r siden","runtimeCheckFailed":"K\xf8rselskontrol mislykkedes","yourApiKeyPlaceholder":"din-api-n\xf8gle","modelPlaceholder":"udbyder/model-id","configurationSaved":"Konfigurationen blev gemt.","failedToSave":"Konfigurationen kunne ikke gemmes.","noApiKeysCreateOne":"Ingen API-n\xf8gler - Opret en p\xe5 N\xf8gler-siden","defaultOmnirouteKey":"sk_omniroute (standard)","selectModel":"V\xe6lg Model","selectModelForAlias":"V\xe6lg model til {alias}","selectModelForTool":"V\xe6lg model til {tool}","select":"V\xe6lg","clear":"Ryd","comingSoon":"Kommer snart","checkingRuntime":"Kontrollerer k\xf8retidsstatus...","guideOnlyIntegration":"Integration kun til guide (ingen lokal k\xf8rselstid p\xe5kr\xe6vet)","cliRuntimeDetected":"CLI runtime registreret og klar","cliFoundNotRunnable":"CLI fundet, men kan ikke k\xf8res{reason}","cliRuntimeNotDetected":"CLI runtime ikke fundet","binary":"Bin\xe6r","configPath":"Konfigurationssti","configPathShort":"Konfig","failedCheckRuntimeStatus":"K\xf8rselsstatus kunne ikke kontrolleres.","copy":"Kopi\xe9r","copied":"Kopieret","copyConfig":"Kopi\xe9r Config","saveConfig":"Gem konfiguration","selectionSaved":"Valget er gemt","guide":"Vejledning","detected":"Opdaget","notReady":"Ikke klar","active":"Aktiv","inactive":"Inaktiv","startMitm":"Start MITM","stopMitm":"Stop MITM","mitmStarted":"MITM startede med succes!","mitmStopped":"MITM stoppede med succes!","failedStart":"Kunne ikke starte MITM","failedStop":"Kunne ikke stoppe MITM","saveMappings":"Gem kortl\xe6gninger","mappingsSaved":"Kortl\xe6gninger gemt!","failedSaveMappings":"Tilknytningerne kunne ikke gemmes","howItWorks":"S\xe5dan fungerer det:","antigravityHowWorksDesc":"Antigravity sender anmodninger til Googles slutpunkt. MITM opsnapper og omdirigerer dem til OmniRoute.","antigravityStep1":"1. Start MITM for at dirigere anmodninger gennem OmniRoute.","antigravityStep2Prefix":"2. Tilf\xf8j","antigravityStep2Suffix":"til din hosts-fil som 127.0.0.1.","antigravityStep3":"3. \xc5bn Antigravity og anmodninger vil blive fuldf\xf8rt.","sudoPasswordRequiredTitle":"Sudo-adgangskode p\xe5kr\xe6vet","sudoPasswordHint":"Administratoradgangskode er p\xe5kr\xe6vet for at \xe6ndre v\xe6rtsfil- og systemproxyindstillinger.","enterSudoPassword":"Indtast sudo adgangskode","sudoPasswordRequiredError":"Sudo-adgangskode er p\xe5kr\xe6vet.","cancel":"Annuller","confirm":"Bekr\xe6ft","settingsApplied":"Indstillinger blev anvendt!","failedApplySettings":"Indstillingerne kunne ikke anvendes","settingsReset":"Indstillinger blev nulstillet!","failedResetSettings":"Indstillingerne kunne ikke nulstilles","backupRestored":"Backup gendannet!","failedRestore":"Kunne ikke gendanne","checkingCli":"Kontrollerer {tool} CLI...","cliNotRunnable":"{tool} CLI installeret, men kan ikke k\xf8res","cliNotInstalled":"{tool} CLI ikke installeret","cliNotDetected":"{tool} CLI ikke fundet","cliDetectedReady":"{tool} CLI fundet og klar","cliFoundFailedHealthcheck":"{tool} CLI blev fundet, men k\xf8rselssundhedstjek mislykkedes{reason}.","installCliPrompt":"Installer venligst {tool} CLI for at bruge denne funktion.","installCodexPrompt":"Installer venligst Codex CLI for at bruge auto-apply-funktionen.","hide":"Skjul","howToInstall":"S\xe5dan installeres","installationGuide":"Installationsvejledning","platforms":"macOS / Linux / Windows:","afterInstallationRun":"K\xf8r efter installationen","toVerify":"at verificere.","current":"Nuv\xe6rende","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Nulstil til standard","providerModelPlaceholder":"udbyder/model-id","apply":"Ans\xf8g","reset":"Nulstil","manualConfig":"Manuel konfiguration","backups":"Sikkerhedskopier","configBackups":"Konfigurer sikkerhedskopier","noBackupsYet":"Ingen sikkerhedskopier endnu. Sikkerhedskopier oprettes automatisk f\xf8r hver anvendelse eller nulstilling.","restore":"Gendan","backupRestoredReloading":"Backup gendannet! Genindl\xe6ser status...","failedRestoreBackup":"Kunne ikke gendanne backup","applied":"Anvendt!","failed":"Mislykkedes","resetDone":"Nulstil!","omnirouteConfiguredOpenAiCompatible":"OmniRoute er konfigureret som OpenAI-kompatibel udbyder","provider":"Udbyder","model":"Model","providers":"Udbydere","auth":"Auth","noApiKeysAvailable":"Ingen tilg\xe6ngelige API-n\xf8gler","usingDefaultOmniroute":"Bruger standard: sk_omniroute","updateConfig":"Opdater konfiguration","applyConfig":"Anvend Config","noBackupsAvailable":"Ingen tilg\xe6ngelige sikkerhedskopier.","profileSaved":"Profilen \\"{name}\\" er gemt!","failedSaveProfile":"Profilen kunne ikke gemmes","profileActivated":"Profil aktiveret!","failedActivateProfile":"Profilen kunne ikke aktiveres","profiles":"Profiler","savedProfiles":"Gemte profiler","noProfilesYet":"Ingen profiler gemt endnu. Gem den aktuelle konfiguration som en profil nedenfor.","activate":"Aktiver","deleteProfile":"Slet profil","profileNamePlaceholder":"Profilnavn (f.eks. personlig konto)","saveCurrent":"Gem nuv\xe6rende","codexAuthNotePrefix":"Codex bruger","codexAuthNoteMiddle":"med","codexAuthNoteSuffix":"Klik p\xe5 \\"Anvend\\" for at konfigurere automatisk.","claudeManualConfiguration":"Claude CLI - Manuel konfiguration","codexManualConfiguration":"Codex CLI - Manuel konfiguration","droidManualConfiguration":"Factory Droid - Manuel konfiguration","openClawManualConfiguration":"\xc5bn Claw - Manuel konfiguration","clineManualConfiguration":"Cline manuel konfiguration","kiloManualConfiguration":"Kilokode manuel konfiguration","toolDescriptions":{"antigravity":"Google Antigravity IDE med MITM","claude":"Antropisk Claude Code CLI","codex":"OpenAI Codex CLI","droid":"Factory Droid AI Assistant","openclaw":"\xc5bn Claw AI Assistant","cline":"Cline AI Coding Assistant CLI","kilo":"Kilokode AI Assistant CLI","cursor":"Cursor AI Code Editor","continue":"Forts\xe6t AI Assistant"},"guides":{"cursor":{"notes":{"0":"Kr\xe6ver Cursor Pro-konto for at bruge denne funktion.","1":"Mark\xf8ren dirigerer anmodninger gennem sin egen server, s\xe5 lokalt slutpunkt underst\xf8ttes ikke. Aktiver venligst Cloud Endpoint i Indstillinger."},"steps":{"1":{"title":"\xc5bn Indstillinger","desc":"G\xe5 til Indstillinger -> Modeller"},"2":{"title":"Aktiver OpenAI API","desc":"Aktiver muligheden \\"OpenAI API-n\xf8gle\\"."},"3":{"title":"Basis URL"},"4":{"title":"API n\xf8gle"},"5":{"title":"Tilf\xf8j brugerdefineret model","desc":"Klik p\xe5 \\"Vis alle modeller\\" -> \\"Tilf\xf8j brugerdefineret model\\""},"6":{"title":"V\xe6lg Model"}}},"continue":{"steps":{"1":{"title":"\xc5bn Config","desc":"\xc5bn Forts\xe6t konfigurationsfil"},"2":{"title":"API n\xf8gle"},"3":{"title":"V\xe6lg Model"},"4":{"title":"Tilf\xf8j Model Config","desc":"Tilf\xf8j f\xf8lgende konfiguration til dit modelarray:"}}}}},"combos":{"title":"Combos","description":"Skab modelkombinationer med v\xe6gtet routing og fallback-underst\xf8ttelse","createCombo":"Opret Combo","editCombo":"Rediger kombination","deleteCombo":"Slet Combo","noModels":"Ingen modeller","noModelsYet":"Ingen modeller tilf\xf8jet endnu","addModel":"Tilf\xf8j model","addModelToCombo":"Tilf\xf8j Model til Combo","routingStrategy":"Rutestrategi","maxRetries":"Max fors\xf8ger igen","timeout":"Timeout (ms)","healthcheck":"Sundhedstjek","priority":"Prioritet","fallback":"Fallback","roundRobin":"Round Robin","random":"Tilf\xe6ldig","leastLatency":"Mindst latenstid","comboName":"Combo navn","comboNamePlaceholder":"min-kombi","deleteConfirm":"Vil du slette denne kombination?","noCombosYet":"Ingen kombinationer endnu","comboCreated":"Kombinationen blev oprettet","comboUpdated":"Kombinationen blev opdateret","comboDeleted":"Combo slettet","failedCreate":"Kunne ikke oprette kombination","failedUpdate":"Kunne ikke opdatere kombinationen","errorCreating":"Fejl ved oprettelse af kombination","errorUpdating":"Fejl ved opdatering af kombination","errorDeleting":"Fejl ved sletning af kombination","testFailed":"Testanmodning mislykkedes","failedToggle":"Kombinationen kunne ikke skiftes","testResults":"Testresultater — {name}","resolvedBy":"L\xf8st af:","more":"+{count} mere","reqs":"req","success":"succes","proxyConfigured":"Proxy konfigureret","copyComboName":"Kopi\xe9r kombinationsnavnet","enableCombo":"Aktiver kombination","disableCombo":"Deaktiver kombination","testCombo":"Test combo","duplicate":"Duplikat","proxyConfig":"Proxy konfiguration","nameRequired":"Navn er p\xe5kr\xe6vet","nameInvalid":"Kun bogstaver, tal, -, _, / og . tilladt","nameHint":"Bogstaver, tal, -, _, / og . tilladt","priorityDesc":"Sekventiel fallback: pr\xf8ver model 1 f\xf8rst, derefter 2 osv.","weightedDesc":"Fordeler trafik efter v\xe6gtprocent med fallback","roundRobinDesc":"Cirkul\xe6r fordeling: hver anmodning g\xe5r til den n\xe6ste model i rotation","randomDesc":"Ensartet tilf\xe6ldig udv\xe6lgelse, derefter tilbagevenden til de resterende modeller","leastUsedDesc":"V\xe6lger modellen med f\xe6rrest anmodninger, balancerer belastningen over tid","costOptimizedDesc":"Ruter til den billigste model f\xf8rst baseret p\xe5 priser","models":"Modeller","autoBalance":"Auto-balance","advancedSettings":"Avancerede indstillinger","retryDelay":"Forsinkelse af fors\xf8g igen (ms)","concurrencyPerModel":"Samtidighed / Model","queueTimeout":"Timeout for k\xf8 (ms)","advancedHint":"Lad v\xe6re tom for at bruge globale standardindstillinger. Disse tilsides\xe6tter indstillinger for hver udbyder.","moveUp":"Flyt op","moveDown":"Flyt ned","removeModel":"Fjern","saving":"Gemmer...","weighted":"V\xe6gtet","leastUsed":"Mindst brugt","costOpt":"Cost-Opt"},"costs":{"title":"Omkostninger","budget":"Budget","totalCost":"Samlede omkostninger","breakdown":"Omkostningsfordeling","noData":"Ingen omkostningsdata","byModel":"Efter model","byProvider":"Af udbyder"},"endpoint":{"title":"API-endepunkt","available":"Tilg\xe6ngelige endepunkter","cloudProxy":"Cloud proxy","disableConfirm":"Er du sikker p\xe5, at du vil deaktivere cloud-proxy?","baseUrl":"Basis URL","apiKeyLabel":"API n\xf8gle","registeredKeys":"Registrerede n\xf8gler","chatCompletions":"Chatafslutninger","responses":"Svar","listModels":"Liste over modeller","usingCloudProxy":"Brug af Cloud Proxy","usingLocalServer":"Brug af lokal server","machineId":"Maskin-id: {id}...","disableCloud":"Deaktiver Cloud","enableCloud":"Aktiver Cloud","modelsAcrossEndpoints":"{models} modeller p\xe5 tv\xe6rs af {endpoints} slutpunkter","chatDesc":"Streaming og ikke-streaming chat med alle udbydere","embeddings":"Indlejringer","embeddingsDesc":"Tekstindlejringer til s\xf8ge- og RAG-pipelines","imageGeneration":"Billedgenerering","imageDesc":"Generer billeder fra tekstprompter","rerank":"Genranger","rerankDesc":"Genranger dokumenter efter relevans for en foresp\xf8rgsel","audioTranscription":"Lydtransskription","audioTranscriptionDesc":"Transskriber lydfiler til tekst (Whisper)","textToSpeech":"Tekst til tale","textToSpeechDesc":"Konverter tekst til naturligt klingende tale","moderations":"Moderationer","moderationsDesc":"Indholdsmoderering og sikkerhedsklassificering","enableCloudTitle":"Aktiver Cloud Proxy","whatYouGet":"Hvad du f\xe5r","cloudBenefitAccess":"F\xe5 adgang til din API fra hvor som helst i verden","cloudBenefitShare":"Del nemt slutpunkt med dit team","cloudBenefitPorts":"Ingen grund til at \xe5bne porte eller konfigurere firewall","cloudBenefitEdge":"Hurtigt globalt kantnetv\xe6rk","cloudSessionNote":"Cloud beholder din godkendelsessession i 1 dag. Hvis den ikke bruges, slettes den automatisk.","cloudUnstableNote":"Cloud er i \xf8jeblikket ustabil med Claude Code OAuth i nogle tilf\xe6lde.","cloudConnected":"Cloud Proxy tilsluttet!","connectingToCloud":"Opretter forbindelse til skyen...","verifyingConnection":"Bekr\xe6fter forbindelse...","connecting":"Opretter forbindelse...","verifying":"Bekr\xe6fter...","connected":"Forbundet!","disableCloudTitle":"Deaktiver Cloud Proxy","disableWarning":"Alle godkendelsessessioner vil blive slettet fra skyen.","syncingData":"Synkroniserer seneste data...","disablingCloud":"Deaktiverer skyen...","syncing":"Synkroniserer...","disabling":"Deaktiverer...","cloudConnectedVerified":"Cloud Proxy tilsluttet og verificeret!","connectedVerificationPending":"Forbundet — bekr\xe6ftelse afventer","connectedVerificationPendingWithError":"Forbundet — bekr\xe6ftelse afventer: {error}","cloudDisabledSuccess":"Cloud deaktiveret","syncedSuccess":"Synkroniseret med succes","failedDisable":"Skyen kunne ikke deaktiveres","failedEnable":"Skyen kunne ikke aktiveres","cloudRequestTimeout":"Timeout for skyanmodning","cloudRequestFailed":"Cloud-anmodning mislykkedes","cloudWorkerUnreachable":"Kunne ikke n\xe5 cloud worker. S\xf8rg for, at skytjenesten k\xf8rer (npm k\xf8r dev i /cloud).","connectionFailed":"Forbindelsen mislykkedes","syncFailed":"Kunne ikke synkronisere skydata","providerModelsTitle":"{provider} — Modeller","noModelsForProvider":"Ingen tilg\xe6ngelige modeller for denne udbyder.","chat":"Chat","embedding":"Indlejring","image":"Billede","custom":"skik","modelsCount":"{count, plural, one {# model} other {# models}}"},"health":{"title":"Systemsundhed","description":"Realtidsoverv\xe5gning af din OmniRoute-instans","healthy":"Sundt","degraded":"Nedbrudt","down":"Ned","uptime":"Oppetid","memory":"Hukommelse","memoryRss":"Hukommelse (RSS)","heap":"Dynge","cpu":"CPU","database":"Database","version":"version","lastCheck":"Sidste kontrol","providerHealth":"Udbyder sundhed","systemMetrics":"System Metrics","tokenHealth":"Token Health","refreshAll":"Opdater alle","checkNow":"Tjek nu","loadingHealth":"Indl\xe6ser sundhedsdata...","failedToLoad":"Kunne ikke indl\xe6se sundhedsdata: {error}","retry":"Pr\xf8v igen","allOperational":"Alle systemer i drift","issuesDetected":"Systemproblemer opdaget","updatedAt":"Opdateret {time}","latency":"Latency","latencyP50":"p50","latencyP95":"s95","latencyP99":"s99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Samlet antal anmodninger","noDataYet":"Ingen data endnu","promptCache":"Sp\xf8rg cache","entries":"Indgange","hitRate":"Hitrate","hitsMisses":"Hits / Misses","signatureCache":"Signatur cache","signatureDefaults":"Standarder","signatureTool":"V\xe6rkt\xf8j","signatureFamily":"Familie","signatureSession":"Session","recovering":"Gendannelse","noCBData":"Ingen str\xf8mafbryderdata tilg\xe6ngelige. Kom med nogle anmodninger f\xf8rst.","providerHealthStatusAria":"Udbyder sundhedsstatus","issuesLabel":"Problemer opdaget","operational":"Operationel","providers":"Udbydere","healthyCount":"{count} sund","nodeVersion":"Node {version}","failures":"{count} fejl","failuresPlural":"{count} fejl","lastFailure":"Sidst","rateLimitStatus":"Prisgr\xe6nsestatus","activeLimiters":"{count} aktiv begr\xe6nser","activeLimitersPlural":"{count} aktive begr\xe6nsere","queued":"I k\xf8","queuedCount":"{count} i k\xf8","running":"l\xf8b","runningCount":"{count} k\xf8rer","ok":"OK","activeLockouts":"Aktive lockouts","resetConfirm":"Nulstille alle afbrydere til sund tilstand? Dette vil rydde alle fejlopt\xe6llinger og gendanne alle udbydere til driftsstatus.","resetAllTitle":"Nulstil alle afbrydere til sund tilstand","resetting":"Nulstiller...","resetAll":"Nulstil alle","until":"Indtil {time}"},"limits":{"title":"Gr\xe6nser og kvoter","rateLimit":"Satsgr\xe6nse","remaining":"Tilbage","requestsPerMinute":"Foresp\xf8rgsler/min","tokensPerMinute":"Poletter/min","dailyLimit":"Daglig gr\xe6nse"},"logs":{"title":"Logs","requestLogs":"Anmod om logs","proxyLogs":"Proxy logs","auditLog":"Revisionslog","console":"Konsol","auditLogDesc":"Administrative handlinger og sikkerhedsh\xe6ndelser","loading":"Indl\xe6ser...","refresh":"Opdater","filterByAction":"Filtrer efter handling...","filterByActor":"Filtrer efter skuespiller...","filterEntriesAria":"Filtrer revisionslogposter","filterByActionTypeAria":"Filtrer efter handlingstype","filterByActorAria":"Filtrer efter skuespiller","refreshAuditLogAria":"Opdater revisionslog","tableAria":"Revisionslogposter","failedFetchAuditLog":"Kunne ikke hente revisionslog","showing":"Viser {count} poster (offset {offset})","search":"S\xf8g","timestamp":"Tidsstempel","action":"Handling","actor":"Skuespiller","target":"M\xe5l","details":"Detaljer","ipAddress":"IP-adresse","notAvailable":"—","noEntries":"Ingen revisionslogposter fundet","previous":"Forrige","next":"N\xe6ste"},"onboarding":{"welcome":"Velkommen","security":"Sikkerhed","test":"Test","ready":"Klar!","setPassword":"Indstil adgangskode","addProvider":"Tilf\xf8j din f\xf8rste udbyder","getStarted":"Kom i gang","skip":"Spring over","skipWizard":"Spring guiden helt over","skipPassword":"Spring adgangskodeops\xe6tning over","skipAndContinue":"Spring over og forts\xe6t","passwordLabel":"Adgangskode","confirmPassword":"Bekr\xe6ft adgangskode","enterPassword":"Indtast adgangskode","confirmPasswordPlaceholder":"Bekr\xe6ft adgangskode","passwordsMismatch":"Adgangskoder stemmer ikke overens","setupComplete":"Ops\xe6tning fuldf\xf8rt!","goToDashboard":"G\xe5 til Dashboard →","welcomeDesc":"OmniRoute er din lokale AI API-proxy. Det dirigerer anmodninger til flere AI-udbydere med belastningsbalancering, failover og brugssporing.","multiProvider":"Multi-udbyder","usageTracking":"Brugssporing","apiKeyMgmt":"API Key Mgmt","securityDesc":"Indstil en adgangskode for at beskytte dit dashboard, eller spring over indtil videre.","providerDesc":"Tilslut din f\xf8rste AI-udbyder. Du kan tilf\xf8je flere senere.","apiKeyRequired":"API-n\xf8gle (p\xe5kr\xe6vet)","customUrlOptional":"Tilpasset webadresse (valgfrit)","testDesc":"Lad os kontrollere, at din udbyderforbindelse fungerer.","runTest":"K\xf8r forbindelsestest","testingConnection":"Tester forbindelse...","connectionSuccessful":"Forbindelsen lykkedes! Din udbyder er klar.","noProviderFound":"Ingen udbyder fundet. Du kan tilf\xf8je en fra dashboardet senere.","testFailed":"Test mislykkedes, men du kan konfigurere dette senere.","couldNotTest":"Kunne ikke teste lige nu. Du kan teste fra dashboardet.","doneDesc":"Du er klar! Din OmniRoute-instans er konfigureret og klar til proxy AI-anmodninger.","yourEndpoint":"Dit slutpunkt:","continue":"Forts\xe6t","retry":"Pr\xf8v igen","failedSetPassword":"Kunne ikke indstille adgangskoden. Pr\xf8v igen.","failedAddProvider":"Kunne ikke tilf\xf8je udbyder. Pr\xf8v igen.","connectionError":"Forbindelsesfejl. Pr\xf8v venligst igen.","provider":"Udbyder"},"providers":{"title":"Udbydere","addProvider":"Tilf\xf8j udbyder","editProvider":"Rediger udbyder","deleteProvider":"Slet udbyder","noProviders":"Ingen udbydere er konfigureret","modelAvailability":"Modeltilg\xe6ngelighed","accounts":"Regnskaber","newAccount":"Ny konto","deleteConfirm":"Er du sikker p\xe5, at du vil slette denne udbyder?","testing":"Tester...","testConnection":"Test forbindelse","testSuccess":"Forbindelsen lykkedes","testFailed":"Forbindelsen mislykkedes","available":"Tilg\xe6ngelig","cooldown":"Nedk\xf8ling","unavailable":"Ikke tilg\xe6ngelig","unknown":"Ukendt","oauthLabel":"OAuth","compatibleLabel":"Kompatibel","chat":"Chat","responses":"Svar","messages":"Beskeder","oauthProviders":"OAuth-udbydere","freeProviders":"Gratis udbydere","apiKeyProviders":"API-n\xf8gleudbydere","compatibleProviders":"API Key-kompatible udbydere","testAll":"Test alle","testAllOAuth":"Test alle OAuth-forbindelser","testAllFree":"Test alle gratis forbindelser","testAllApiKey":"Test alle API-n\xf8gleforbindelser","testAllCompatible":"Test alle kompatible forbindelser","connected":"{count} Forbundet","errorCount":"{count} Fejl ({code})","errorCountNoCode":"{count} Fejl","noConnections":"Ingen forbindelser","disabled":"Deaktiveret","enableProvider":"Aktiver udbyder","disableProvider":"Deaktiver udbyder","testResults":"Testresultater","noCompatibleYet":"Ingen kompatible udbydere tilf\xf8jet endnu","compatibleHint":"Brug knapperne ovenfor til at tilf\xf8je OpenAI- eller Anthropic-kompatible slutpunkter","addOpenAICompatible":"Tilf\xf8j OpenAI-kompatibel","addAnthropicCompatible":"Tilf\xf8j Antropisk kompatibel","addNewProvider":"Tilf\xf8j ny udbyder","backToProviders":"Tilbage til Udbydere","configureNewProvider":"Konfigurer en ny AI-udbyder til brug med dine applikationer.","providerLabel":"Udbyder","selectProvider":"V\xe6lg en udbyder","selectedProvider":"Udvalgt udbyder","authMethod":"Autentificeringsmetode","apiKeyLabel":"API n\xf8gle","apiKeyRequired":"API-n\xf8gle er p\xe5kr\xe6vet","selectProviderRequired":"V\xe6lg venligst en udbyder","enterApiKey":"Indtast din API-n\xf8gle","apiKeySecure":"Din API-n\xf8gle vil blive krypteret og opbevaret sikkert.","oauth2Connect":"Opret forbindelse til OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Tilslut din konto ved hj\xe6lp af OAuth2-godkendelse.","displayName":"Vist navn","displayNamePlaceholder":"f.eks. Production API, Dev Environment","displayNameHint":"Valgfrit. Et venligt navn til at identificere denne konfiguration.","active":"Aktiv","activeDescription":"Aktiver denne udbyder til brug i dine applikationer","cancel":"Annuller","createProvider":"Opret udbyder","failedCreate":"Kunne ikke oprette udbyder","errorOccurred":"Der opstod en fejl. Pr\xf8v venligst igen.","modelStatus":"Modelstatus","allModelsOperational":"Alle modeller i drift","modelsWithIssues":"{count} model(er) med problemer","allModelsNormal":"Alle modeller reagerer normalt.","cooldownCleared":"Nedk\xf8ling ryddet for {model}","failedClearCooldown":"Kunne ikke rydde nedk\xf8ling","loadingAvailability":"Indl\xe6ser modeltilg\xe6ngelighed...","clearCooldown":"Ryd","clearing":"Rydder...","until":"Indtil {time}","providerTestFailed":"Providertest mislykkedes","modeTest":"{mode} Test","passedCount":"{count} best\xe5et","failedCount":"{count} mislykkedes","testedCount":"{count} testet","millisecondsAbbr":"{value}ms","okShort":"OK","errorShort":"FEJL","noActiveConnectionsInGroup":"Der blev ikke fundet nogen aktive forbindelser til denne gruppe.","allTestsPassed":"Alle {total} tests best\xe5et","testSummary":"{passed}/{total} best\xe5et, {failed} mislykkedes","nameLabel":"Navn","prefixLabel":"Pr\xe6fiks","baseUrlLabel":"Basis URL","apiTypeLabel":"API type","prefixHint":"P\xe5kr\xe6vet. Unikt pr\xe6fiks for modelnavne.","nameHint":"P\xe5kr\xe6vet. En venlig etiket til denne node.","baseUrlHint":"P\xe5kr\xe6vet.  Udbyder API base URL.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Bekr\xe6ft forbindelsen","validating":"Validerer...","connectionValid":"Forbindelsen er gyldig!","connectionFailed":"Forbindelsen mislykkedes. Tjek URL og n\xf8gle.","testKeyLabel":"Test API-n\xf8gle","testKeyPlaceholder":"sk-... (kun til validering)","providerNotFound":"Udbyder blev ikke fundet","deleteConnectionConfirm":"Vil du slette denne forbindelse?","failedSetAlias":"Aliaset kunne ikke indstilles","failedSaveConnection":"Forbindelsen kunne ikke gemmes","failedSaveConnectionRetry":"Forbindelsen kunne ikke gemmes. Pr\xf8v venligst igen.","failedRetestConnection":"Forbindelsen kunne ikke gentestes","deleteCompatibleNodeConfirm":"Vil du slette denne {type}-kompatible node?","anthropicCompatibleDetails":"Antropiske kompatible detaljer","openaiCompatibleDetails":"OpenAI-kompatible detaljer","messagesApi":"Beskeder API","responsesApi":"Responses API","chatCompletions":"Chatafslutninger","importingModels":"Importerer...","importFromModels":"Importer fra /models","addConnectionToImport":"Tilf\xf8j en forbindelse for at aktivere import.","noModelsConfigured":"Ingen modeller konfigureret","connectionCount":"{count} forbindelse(r)","fetchingModels":"Henter tilg\xe6ngelige modeller...","failedFetchModels":"Kunne ikke hente modeller","noModelsFound":"Ingen modeller fundet","importFailed":"Import mislykkedes","noNewModelsAdded":"Der blev ikke tilf\xf8jet nye modeller.","adding":"Tilf\xf8jer...","importingModelsTitle":"Import af modeller","copyModel":"Kopi model","removeModel":"Fjern modellen","rateLimitProtected":"Beskyttet","rateLimitUnprotected":"Ubeskyttet","enableRateLimitProtection":"Klik for at aktivere hastighedsgr\xe6nsebeskyttelse","disableRateLimitProtection":"Klik for at deaktivere satsgr\xe6nsebeskyttelse","productionKey":"Produktionsn\xf8gle","enterNewApiKey":"Indtast ny API-n\xf8gle","optional":"Valgfrit","anthropicCompatibleName":"Antropisk kompatibel","openaiCompatibleName":"OpenAI-kompatibel","failedImportModels":"Kunne ikke importere modeller","noModelsReturnedFromEndpoint":"Ingen modeller returneret fra /models slutpunkt.","importingModelsProgress":"Importerer {current} af {total} modeller...","foundModelsStartingImport":"Fundet {count} modeller. Starter import...","importingModelById":"Importerer {modelId}...","importSuccessCount":"{count, plural, one {# model} other {# models}} blev importeret med succes!","noNewModelsAddedExisting":"Ingen nye modeller blev tilf\xf8jet (alle findes allerede).","importDoneCount":"✓ F\xe6rdig! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Der opstod en uventet fejl","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"beskeder","responsesPath":"svar","chatCompletionsPath":"chat/afslutninger","add":"Tilf\xf8j","edit":"Rediger","delete":"Slet","anthropic":"Antropisk","openai":"OpenAI","singleConnectionPerCompatible":"Kun \xe9n forbindelse er tilladt pr. kompatibel node. Tilf\xf8j en anden node, hvis du har brug for flere forbindelser.","connections":"Forbindelser","providerProxyTitleConfigured":"Udbyder proxy: {host}","configured":"konfigureret","providerProxyConfigureHint":"Konfigurer proxy for alle forbindelser fra denne udbyder","providerProxy":"Udbyder proxy","noConnectionsYet":"Ingen forbindelser endnu","addFirstConnectionHint":"Tilf\xf8j din f\xf8rste forbindelse for at komme i gang","addConnection":"Tilf\xf8j forbindelse","availableModels":"Tilg\xe6ngelige modeller","pageAutoRefresh":"Siden opdateres automatisk...","statusDisabled":"deaktiveret","statusConnected":"tilsluttet","statusRuntimeIssue":"runtime problem","statusAuthFailed":"godkendelse mislykkedes","statusRateLimited":"sats begr\xe6nset","statusNetworkIssue":"netv\xe6rksproblem","statusTestUnsupported":"test ikke underst\xf8ttet","statusUnavailable":"ikke tilg\xe6ngelig","statusFailed":"mislykkedes","statusError":"fejl","oauthAccount":"OAuth-konto","errorTypeRuntime":"Lokal k\xf8retid","errorTypeUpstreamAuth":"Opstr\xf8ms auth","errorTypeMissingCredential":"Manglende legitimationsoplysninger","errorTypeRefreshFailed":"Opdatering mislykkedes","errorTypeTokenExpired":"Token er udl\xf8bet","errorTypeRateLimited":"Sats begr\xe6nset","errorTypeUpstreamUnavailable":"Upstream ikke tilg\xe6ngelig","errorTypeNetworkError":"Netv\xe6rksfejl","errorTypeTestUnsupported":"Test underst\xf8ttes ikke","errorTypeUpstreamError":"Opstr\xf8ms fejl","proxySourceGlobal":"Globalt","proxySourceProvider":"Udbyder","proxySourceKey":"N\xf8gle","proxyConfiguredBySource":"Proxy ({source}): {host}","autoPriority":"Auto: {priority}","proxy":"Fuldmagt","retestAuthentication":"Gentest godkendelse","retest":"Gentest","disableConnection":"Deaktiver forbindelse","enableConnection":"Aktiver forbindelse","reauthenticateConnection":"Genautentificer denne forbindelse","proxyConfig":"Proxy konfiguration","aliasExistsAlert":"Aliaset \\"{alias}\\" findes allerede. Brug venligst en anden model, eller rediger eksisterende alias.","openRouterAnyModelHint":"OpenRouter underst\xf8tter enhver model. Tilf\xf8j modeller og opret aliaser for hurtig adgang.","modelIdFromOpenRouter":"Model ID (fra OpenRouter)","openRouterModelPlaceholder":"antropisk/claude-3-opus","customModels":"Brugerdefinerede modeller","customModelsHint":"Tilf\xf8j model-id\'er, der ikke er p\xe5 standardlisten. Disse vil v\xe6re tilg\xe6ngelige for routing.","modelId":"Model ID","customModelPlaceholder":"f.eks. gpt-4.5-turbo","loading":"Indl\xe6ser...","removeCustomModel":"Fjern brugerdefineret model","noCustomModels":"Ingen brugerdefinerede modeller tilf\xf8jet endnu.","allSuggestedAliasesExist":"Alle foresl\xe5ede aliasser findes allerede. V\xe6lg venligst en anden model, eller fjern modstridende aliasser.","failedSaveCustomModel":"Kunne ikke gemme den tilpassede model","modelAddedSuccess":"Model {modelId} blev tilf\xf8jet","failedAddModelTryAgain":"Kunne ikke tilf\xf8je model. Pr\xf8v venligst igen.","failedSaveImportedModel":"Kunne ikke gemme importeret model til brugerdefineret database","failedImportModelsTryAgain":"Kunne ikke importere modeller. Pr\xf8v venligst igen.","failedRemoveModelFromDatabase":"Kunne ikke fjerne modellen fra databasen","modelRemovedSuccess":"Modellen blev fjernet","failedDeleteModelTryAgain":"Modellen kunne ikke slettes. Pr\xf8v venligst igen.","compatibleModelsDescription":"Tilf\xf8j {type}-kompatible modeller manuelt eller importer dem fra /models-slutpunktet.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"API-n\xf8glevalidering mislykkedes. Tjek venligst din n\xf8gle og pr\xf8v igen.","addProviderApiKeyTitle":"Tilf\xf8j {provider} API-n\xf8gle","checking":"Tjekker...","check":"Tjek","valid":"Gyldig","invalid":"Ugyldig","creating":"Opretter...","validationChecksAnthropicCompatible":"Validering kontrollerer {provider} ved at bekr\xe6fte API-n\xf8glen.","validationChecksOpenAiCompatible":"Valideringstjek {provider} via /models p\xe5 din basis-URL.","priorityLabel":"Prioritet","saving":"Gemmer...","save":"Gem","editConnection":"Rediger forbindelse","accountName":"Kontonavn","email":"E-mail","healthCheckMinutes":"Sundhedstjek (min)","healthCheckHint":"Proaktivt token-opdateringsinterval. 0 = deaktiveret.","failedTestConnection":"Forbindelsen kunne ikke testes","failed":"Mislykkedes","leaveBlankKeepCurrentApiKey":"Lad st\xe5 tomt for at beholde den aktuelle API-n\xf8gle.","editCompatibleTitle":"Rediger {type} Kompatibel","compatibleBaseUrlHint":"Brug basis-URL\'en (der slutter p\xe5 /v1) til din {type}-kompatible API.","apiKeyForCheck":"API-n\xf8gle (til check)","compatibleProdPlaceholder":"{type} Kompatibel (Prod)"},"settings":{"title":"Indstillinger","general":"Generelt","security":"Sikkerhed","appearance":"Udseende","routing":"Routing","cache":"Cache","resilience":"Modstandsdygtighed","systemPrompt":"Systemprompt","thinkingBudget":"T\xe6nke budget","proxy":"Fuldmagt","pricing":"Priss\xe6tning","storage":"Opbevaring","policies":"Politikker","ipFilter":"IP-filter","comboDefaults":"Combo standarder","fallbackChains":"Fallback k\xe6der","changePassword":"Skift adgangskode","enablePassword":"Aktiver adgangskode","darkMode":"M\xf8rk tilstand","lightMode":"Lys tilstand","systemTheme":"System tema","enableCache":"Aktiver cache","cacheTTL":"Cache TTL","maxCacheSize":"Max cachest\xf8rrelse","clearCache":"Ryd cache","cacheHits":"Cache hits","cacheMisses":"Cache misses","hitRate":"Hitrate","cacheEntries":"Cache-indtastninger","circuitBreaker":"Str\xf8mafbryder","retryPolicy":"Politik for fors\xf8g igen","maxRetries":"Max fors\xf8ger igen","retryDelay":"Forsink igen","timeoutMs":"Timeout (ms)","enableSystemPrompt":"Aktiver systemprompt","systemPromptText":"Systemprompttekst","enableThinking":"Aktiver t\xe6nkning","maxThinkingTokens":"Max Thinking Tokens","enableProxy":"Aktiver proxy","proxyUrl":"Proxy-URL","pricingRates":"Prisformat","currentPricing":"Aktuel prisoversigt","loadingPricing":"Indl\xe6ser prisdata...","noPricing":"Ingen tilg\xe6ngelige prisdata","input":"Input","output":"Output","cached":"Cachelagret","reasoning":"R\xe6sonnement","cacheCreation":"Oprettelse af cache","customPricing":"Tilpasset prisfasts\xe6ttelse","databaseSize":"Database st\xf8rrelse","backupDb":"Backup database","restoreDb":"Gendan database","exportData":"Eksporter data","importData":"Importer data","clearData":"Ryd alle data","clearDataConfirm":"Dette vil permanent slette alle data. Er du sikker?","enableRequestLogs":"Aktiver anmodningslogfiler","logRetention":"Logopbevaring","ipWhitelist":"IP hvidliste","ipBlacklist":"IP sortliste","addIP":"Tilf\xf8j IP","savedSuccessfully":"Indstillinger blev gemt","ai":"AI","advanced":"Avanceret","localMode":"Lokal tilstand — Alle data gemt p\xe5 din maskine","settingsSectionsAria":"Indstillinger sektioner","switchThemes":"Skift mellem lyse og m\xf8rke temaer","themeSelectionAria":"Valg af tema","themeLight":"Lys","themeDark":"M\xf8rk","themeSystem":"System","hideHealthLogs":"Skjul logs til sundhedstjek","hideHealthLogsDesc":"N\xe5r ON, skal du undertrykke [HealthCheck]-meddelelser i serverkonsollen","promptCache":"Sp\xf8rg cache","flushCache":"Skyl cache","flushing":"Skyller...","size":"St\xf8rrelse","hits":"Hits","evictions":"Uds\xe6ttelser","loadingCacheStats":"Indl\xe6ser cachestatistik...","globalProxy":"Global proxy","globalProxyDesc":"Konfigurer en global udg\xe5ende proxy for alle API-kald. Individuelle udbydere, kombinationer og n\xf8gler kan tilsides\xe6tte dette.","noGlobalProxy":"Ingen global proxy konfigureret","globalLabel":"Globalt","configure":"Konfigurer","globalSystemPrompt":"Global System Prompt","systemPromptDesc":"Injiceret i alle anmodninger p\xe5 proxy-niveau","saved":"Gemt","systemPromptPlaceholder":"Indtast systemprompt for at injicere i alle anmodninger...","systemPromptHint":"Denne prompt er sat foran systemmeddelelsen for hver anmodning. Bruges til globale instruktioner, sikkerhedsretningslinjer eller regler for svarformatering.","chars":"{count} tegn","thinkingBudgetTitle":"T\xe6nke budget","thinkingBudgetDesc":"Kontroller brugen af AI-r\xe6sonnementstoken p\xe5 tv\xe6rs af alle anmodninger","passthrough":"Genneml\xf8b","passthroughDesc":"Ingen \xe6ndringer - klienten styrer t\xe6nkebudgettet","auto":"Auto","autoDesc":"Fjern al t\xe6nkekonfig - lad udbyderen bestemme","custom":"Brugerdefineret","customDesc":"Indstil et fast token-budget for alle anmodninger","adaptive":"Adaptiv","adaptiveDesc":"Skaler budget baseret p\xe5 anmodningens kompleksitet","effortNone":"Ingen (0 tokens)","effortLow":"Lav (1K tokens)","effortMedium":"Medium (10.000 tokens)","effortHigh":"H\xf8j (128K tokens)","tokenBudget":"Token budget","tokens":"tokens","baseEffortLevel":"Basisindsatsniveau","adaptiveHint":"Adaptiv tilstand skaleres fra dette basisniveau baseret p\xe5 antal meddelelser, v\xe6rkt\xf8jsbrug og promptl\xe6ngde.","requireLogin":"Kr\xe6v login","requireLoginDesc":"N\xe5r ON, kr\xe6ver dashboard adgangskode. N\xe5r OFF, adgang uden login.","currentPassword":"Nuv\xe6rende adgangskode","enterCurrentPassword":"Indtast den aktuelle adgangskode","newPassword":"Ny adgangskode","enterNewPassword":"Indtast ny adgangskode","confirmPassword":"Bekr\xe6ft ny adgangskode","confirmPasswordPlaceholder":"Bekr\xe6ft ny adgangskode","passwordsNoMatch":"Adgangskoder stemmer ikke overens","passwordUpdated":"Adgangskoden blev opdateret","failedUpdatePassword":"Kunne ikke opdatere adgangskoden","errorOccurred":"Der opstod en fejl","updatePassword":"Opdater adgangskode","setPassword":"Indstil adgangskode","apiEndpointProtection":"API-endepunktsbeskyttelse","requireAuthModels":"Kr\xe6v API-n\xf8gle til /models","requireAuthModelsDesc":"N\xe5r ON, returnerer /v1/models-slutpunktet 404 for ikke-godkendte anmodninger. Forhindrer modelopdagelse af uautoriserede brugere.","blockedProviders":"Blokerede udbydere","blockedProvidersDesc":"Skjul specifikke udbydere fra /v1/models-svaret. Blokerede udbydere vises ikke i modellister.","providersBlocked":"{count} udbyder(e) blokeret fra /modeller","blockProviderTitle":"Bloker {provider}","unblockProviderTitle":"Fjern blokering af {provider}","routingStrategy":"Rutestrategi","fillFirst":"Fyld f\xf8rst","fillFirstDesc":"Brug konti i prioriteret r\xe6kkef\xf8lge","roundRobin":"Round Robin","roundRobinDesc":"Gennemg\xe5 alle konti","p2c":"P2C","p2cDesc":"V\xe6lg 2 tilf\xe6ldige, brug den sundere","random":"Tilf\xe6ldig","randomDesc":"Tilf\xe6ldig konto hver anmodning","leastUsed":"Mindst brugt","leastUsedDesc":"V\xe6lg den mindst brugte konto","costOpt":"Omkostningsopt","costOptDesc":"Foretr\xe6kker den billigste tilg\xe6ngelige konto","stickyLimit":"Sticky Limit","stickyLimitDesc":"Opkald pr. konto f\xf8r skift","modelAliases":"Model aliaser","modelAliasesDesc":"Wildcard-m\xf8nstre til oml\xe6gning af modelnavne • Brug * og ?","aliasPatternPlaceholder":"claude-sonnet-*","aliasTargetPlaceholder":"claude-sonnet-4-20250514","pattern":"M\xf8nster","targetModel":"M\xe5lmodel","add":"+ Tilf\xf8j","session":"Session","sessionDetailsAria":"Session detaljer","status":"Status","authenticated":"Autentificeret","guest":"G\xe6st","loginTime":"Login tid","sessionAge":"Session Alder","browser":"Browser","clearLocalData":"Ryd lokale data","logout":"Log ud","clearLocalDataConfirm":"Vil du rydde alle lokale data? Dette vil nulstille dine pr\xe6ferencer.","unknown":"Ukendt","systemActor":"system","ipAccessControl":"IP adgangskontrol","ipAccessControlDesc":"Bloker eller tillad specifikke IP-adresser","ipModeDisabled":"Deaktiveret","ipModeBlacklist":"Sortliste","ipModeWhitelist":"Hvidliste","ipModeWhitelistPriority":"WL prioritet","addIpAddress":"Tilf\xf8j IP-adresse","ipAddressPlaceholder":"192.168.1.0/24 eller 10.0.*.*","block":"+ Bloker","allow":"+ Tillad","blocked":"Blokeret ({count})","allowed":"Tilladt ({count})","temporaryBans":"Midlertidige forbud ({count})","minLeft":"{min}m tilbage","auditLog":"Revisionslog","searchAuditLogs":"S\xf8g i revisionslogfiler...","failedLoadAuditLog":"Kunne ikke indl\xe6se revisionslog","noAuditEvents":"Ingen revisionsbegivenheder fundet","action":"Handling","actor":"Skuespiller","details":"Detaljer","time":"Tid","fallbackChainsTitle":"Fallback k\xe6der","fallbackChainsDesc":"Definer udbyderens reserveordre pr. model","addChain":"+ Tilf\xf8j k\xe6de","modelName":"Model navn","modelNamePlaceholder":"claude-sonnet-4-20250514","providersCommaSeparated":"Udbydere (kommasepareret, i prioriteret r\xe6kkef\xf8lge)","providersCommaSeparatedPlaceholder":"antropisk, openai, gemini","createChain":"Opret k\xe6de","noFallbackChains":"Ingen Fallback-k\xe6der","noFallbackChainsDesc":"Opret en k\xe6de for at definere udbyderens reserveordre for en model.","loadingFallbackChains":"Indl\xe6ser reservek\xe6der...","deleteChainConfirm":"Vil du slette reservek\xe6den for \\"{model}\\"?","chainCreated":"K\xe6de oprettet til {model}","chainDeleted":"K\xe6de slettet for {model}","failedCreateChain":"Kunne ikke oprette k\xe6de","failedDeleteChain":"K\xe6den kunne ikke slettes","deleteChain":"Slet k\xe6de","fillModelAndProviders":"Udfyld venligst modelnavn og udbydere","addAtLeastOneProvider":"Tilf\xf8j mindst \xe9n udbyder","comboDefaultsTitle":"Combo standarder","globalComboConfig":"Global combo-konfiguration","defaultStrategy":"Standardstrategi","defaultStrategyDesc":"Anvendt p\xe5 nye kombinationer uden eksplicit strategi","comboStrategyAria":"Kombinationsstrategi","priority":"Prioritet","weighted":"V\xe6gtet","maxRetriesLabel":"Max fors\xf8ger igen","retryDelayLabel":"Forsinkelse af fors\xf8g igen (ms)","timeoutLabel":"Timeout (ms)","healthCheck":"Sundhedstjek","healthCheckDesc":"Forh\xe5ndstjek udbyderens tilg\xe6ngelighed","trackMetrics":"Spor metrics","trackMetricsDesc":"Optag pr-kombinationsanmodningsmetrics","providerOverrides":"Udbydertilsides\xe6ttelser","providerOverridesDesc":"Tilsides\xe6t timeout og genfors\xf8g pr. udbyder. Udbyderindstillinger tilsides\xe6tter globale standardindstillinger.","providerMaxRetriesAria":"{provider} maks. genfors\xf8g","providerTimeoutAria":"{provider} timeout ms","removeProviderOverrideAria":"Fjern {provider} tilsides\xe6ttelse","newProviderNamePlaceholder":"f.eks. google, \xe5ben...","newProviderNameAria":"Nyt udbydernavn","retries":"fors\xf8ger igen","ms":"ms","saveComboDefaults":"Gem Combo-standarder","maxNestingDepth":"Maks. rededybde","concurrencyPerModel":"Samtidighed / Model","queueTimeout":"Timeout for k\xf8 (ms)","providerProfiles":"Udbyder profiler","providerProfilesDesc":"Separate indstillinger for modstandsdygtighed for OAuth (session-baserede) og API Key (m\xe5lte) udbydere. OAuth-udbydere har strengere t\xe6rskler p\xe5 grund af lavere takstgr\xe6nser.","oauthProviders":"OAuth-udbydere","apiKeyProviders":"API-n\xf8gleudbydere","transientCooldown":"Forbig\xe5ende nedk\xf8ling","rateLimitCooldown":"Rate Limit Cooldown","maxBackoffLevel":"Max Backoff Level","cbThreshold":"CB-t\xe6rskel","cbResetTime":"CB-nulstillingstid","rateLimiting":"Satsbegr\xe6nsende","rateLimitingDesc":"API-n\xf8gleudbydere er automatisk hastighedsbegr\xe6nsede med sikre standardindstillinger. Gr\xe6nser l\xe6res fra svaroverskrifter og tilpasses over tid.","defaultSafetyNet":"Standard sikkerhedsnet","rpm":"RPM","minGap":"Min Gap","maxConcurrent":"Max samtidig","activeLimiters":"Aktive begr\xe6nsere","noActiveLimiters":"Ingen aktive hastighedsbegr\xe6nsere endnu.","reservoir":"Reservoir","running":"L\xf8b","queued":"I k\xf8","circuitBreakers":"Str\xf8mafbrydere","breakerStateClosed":"Lukket","breakerStateOpen":"\xc5bn","breakerStateHalfOpen":"Halv\xe5bent","tripped":"{count} udl\xf8ste","healthy":"{count} sund","resetAll":"Nulstil alle","noCircuitBreakers":"Ingen afbrydere aktive endnu. De oprettes automatisk, n\xe5r anmodninger str\xf8mmer gennem den kombinerede pipeline.","failures":"{count} fejl(er)","policiesLocked":"Politikker og l\xe5ste identifikatorer","allOperational":"Alle systemer fungerer - ingen lockouts eller udl\xf8ste afbrydere","loadingPolicies":"Indl\xe6ser politikker...","lockedIdentifiers":"L\xe5ste identifikatorer","unlockedIdentifier":"Ul\xe5st: {identifier}","sinceDate":"siden {date}","forceUnlock":"Tving opl\xe5sning","unlocking":"L\xe5ser op...","failedUnlock":"Kunne ikke l\xe5se op","failedLoadWithStatus":"Kunne ikke indl\xe6se: {status}","failedLoadResilience":"Kunne ikke indl\xe6se modstandsdygtighedsstatus","saveFailed":"Gem mislykkedes","resetFailed":"Nulstilling mislykkedes","loadingResilience":"Indl\xe6ser modstandsdygtighedsstatus...","retry":"Pr\xf8v igen","systemStorage":"System & Opbevaring","allDataLocal":"Alle data gemt lokalt p\xe5 din maskine","databasePath":"Databasesti","exportDatabase":"Eksporter database","exportAll":"Eksporter alle (.tar.gz)","importDatabase":"Importer database","confirmDbImport":"Bekr\xe6ft databaseimport","confirmDbImportDesc":"Dette vil erstatte alle aktuelle data med indholdet fra {file}. Der oprettes automatisk en sikkerhedskopi f\xf8r importen.","yesImport":"Ja, import","lastBackup":"Sidste backup","noBackupYet":"Ingen backup endnu","backupNow":"Sikkerhedskopier nu","backupRestore":"Sikkerhedskopiering og gendannelse","viewBackups":"Se sikkerhedskopier","hide":"Skjul","backupRetentionDesc":"Database-snapshots oprettes automatisk f\xf8r gendannelse og hvert 15. minut, n\xe5r data \xe6ndres. Retention: 24 timer i timen + 30 daglige backups med smart rotation.","loadingBackups":"Indl\xe6ser sikkerhedskopier...","noBackupsYet":"Ingen tilg\xe6ngelige sikkerhedskopier endnu. Sikkerhedskopier oprettes automatisk, n\xe5r data \xe6ndres.","backupsAvailable":"{count} backup(r) tilg\xe6ngelige","refresh":"Opdater","confirm":"bekr\xe6fte?","yes":"Ja","no":"Nej","restore":"Gendan","invalidFileType":"Ugyldig filtype. Kun .sqlite-filer accepteres.","exportFailed":"Eksporten mislykkedes","exportFailedWithError":"Eksport mislykkedes: {error}","fullExportFailedWithError":"Fuld eksport mislykkedes: {error}","backupCreated":"Sikkerhedskopiering oprettet: {file}","restoreSuccess":"Gendannet! {connections} forbindelser, {nodes} noder, {combos} kombinationer, {apiKeys} API n\xf8gler.","importSuccess":"Database importeret! {connections} forbindelser, {nodes} noder, {combos} kombinationer, {apiKeys} API n\xf8gler.","justNow":"lige nu","minutesAgo":"{count}m siden","hoursAgo":"{count}t siden","daysAgo":"{count}d siden","backupReasonManual":"manual","backupReasonPreRestore":"for-gendannelse","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Ingen \xe6ndringer siden sidste backup","backupFailed":"Sikkerhedskopiering mislykkedes","restoreFailed":"Gendannelse mislykkedes","importFailed":"Import mislykkedes","errorDuringRestore":"Der opstod en fejl under gendannelse","errorDuringImport":"Der opstod en fejl under importen","modelPricing":"Modelpriser","modelPricingDesc":"Konfigurer omkostningssatser pr. model • Alle satser i $/1M tokens","providers":"Udbydere","registry":"Register","priced":"Prissat","searchProvidersModels":"S\xf8g efter udbydere eller modeller...","showAll":"Vis alle","noProvidersMatch":"Ingen udbydere matcher din s\xf8gning.","howPricingWorks":"Hvordan priss\xe6tning fungerer","cacheWrite":"Cache skriv","unsaved":"ikke gemt","resetDefaults":"Nulstil standarder","saveProvider":"Gem udbyder","saving":"Gemmer...","model":"Model","models":"modeller","moreProviders":"{count} flere udbydere","withPricing":"med konfigureret priss\xe6tning","policiesCircuitBreakers":"Politikker og str\xf8mafbrydere","activeIssuesDetected":"Aktive problemer registreret","off":"Fra","resetPricingConfirm":"Vil du nulstille alle priser for {provider} til standardindstillingerne?","pricingDescInput":"Input: tokens sendt til modellen","pricingDescOutput":"Output: tokens genereret","pricingDescCached":"Cachelagret: genbrugt input (~50 % af inputhastigheden)","pricingDescReasoning":"Begrundelse: T\xe6nketegn (falder tilbage til output)","pricingDescCacheWrite":"Cacheskrivning: oprettelse af cacheposter (falder tilbage til input)","pricingDescFormula":"Omkostninger = (input \xd7 input_rate) + (output \xd7 output_rate) + (cached \xd7 cached_rate) pr. million tokens.","pricingSettingsTitle":"Prisindstillinger","totalModels":"Totale modeller","active":"Aktiv","costCalculation":"Omkostningsberegning","costCalculationDesc":"Omkostninger beregnes baseret p\xe5 token-forbrug og priss\xe6tningssatser, der er konfigureret for hver model.","pricingFormat":"Prisformat","pricingFormatDesc":"Alle priser er i $/1M tokens (dollars per million tokens).","tokenTypes":"Token typer","inputTokenDesc":"Standard prompt-tokens","outputTokenDesc":"Fuldf\xf8relse/svar-tokens","cachedTokenDesc":"Cachelagrede inputtokens (typisk 50 % af inputhastigheden)","reasoningTokenDesc":"S\xe6rlige r\xe6sonnement/t\xe6nke-tokens (tilbagefald til outputhastighed)","cacheCreationTokenDesc":"Tokens, der bruges til at oprette cacheposter (tilbage til inputhastighed)","customPricingNote":"Du kan tilsides\xe6tte standardpriser for specifikke modeller. Tilpassede tilsides\xe6ttelser har prioritet frem for automatisk registrerede priser.","editPricing":"Rediger priss\xe6tning","viewFullDetails":"Se alle detaljer"},"translator":{"title":"Overs\xe6tter","metaTitle":"Overs\xe6tter Legeplads | OmniRoute","metaDescription":"Debug, test og visualiser API-formatovers\xe6ttelser mellem udbydere","playgroundTitle":"Overs\xe6tter legeplads","playground":"Legeplads","realtime":"Overs\xe6ttelsesaktivitet i realtid","chatTester":"Chat tester","testBench":"Test b\xe6nk","liveMonitor":"Live Monitor","modeDescriptionPlayground":"Inds\xe6t enhver API-anmodningstekst og se, hvordan OmniRoute overs\xe6tter den mellem udbyderformater (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)","modeDescriptionChatTester":"Send rigtige chatanmodninger gennem OmniRoute og inspicer hele rundrejsen: input, oversat anmodning, udbydersvar og oversat output.","modeDescriptionTestBench":"K\xf8r foruddefinerede scenarier og sammenlign kompatibilitet p\xe5 tv\xe6rs af udbydere og modeller.","modeDescriptionLiveMonitor":"Se overs\xe6ttelsesbegivenheder i realtid, mens anmodninger flyder gennem OmniRoute.","modeDescriptionFallback":"Debug, test og visualiser, hvordan OmniRoute overs\xe6tter API-anmodninger mellem udbydere.","recentTranslations":"Nylige overs\xe6ttelser","noTranslations":"Ingen overs\xe6ttelser endnu","source":"Kilde","target":"M\xe5l","time":"Tid","model":"Model","status":"Status","latency":"Latency","totalTranslations":"Samlede overs\xe6ttelser","successful":"Vellykket","errors":"Fejl","avgLatency":"Gns. latens","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Live — Automatisk opdatering","paused":"Pause","eventsAppearHint":"Overs\xe6ttelsesbegivenheder vises her, n\xe5r anmodninger flyder gennem OmniRoute. Brug en af disse metoder til at generere begivenheder:","chatTesterTab":"Fanen Chat Tester","testBenchTab":"Fanen Testb\xe6nk","externalApiCalls":"Eksterne API-kald","ideCliIntegrations":"IDE/CLI integrationer","inMemoryNote":"Bem\xe6rk: H\xe6ndelser gemmes i hukommelsen og nulstilles, n\xe5r serveren genstarter.","ok":"OK","errorShort":"ERR","formatConverter":"Formatkonverter","formatConverterDescription":"Inds\xe6t eller skriv en JSON-anmodningstekst. Overs\xe6tteren vil automatisk registrere kildeformatet og konvertere det til m\xe5lformatet. Brug dette til at fejls\xf8ge, hvordan OmniRoute overs\xe6tter anmodninger mellem formater (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Input","output":"Output","auto":"Auto","swapFormats":"Skift formater","translateAction":"Overs\xe6t","clear":"Ryd","inputPlaceholder":"Inds\xe6t en anmodningstekst her eller v\xe6lg en skabelon nedenfor...","exampleTemplates":"Eksempel skabeloner","exampleTemplatesHint":"— Klik for at indl\xe6se","templateLoadHint":"Skabelonen indl\xe6ser anmodningen i formatet {format}. Skift kildeformat for at indl\xe6se i et andet format.","compatibilityTester":"Kompatibilitetstester","compatibilityReport":"Kompatibilitetsrapport","testBenchDescription":"K\xf8r foruddefinerede scenarier (simpel chat, v\xe6rkt\xf8jsopkald osv.) for at bekr\xe6fte overs\xe6ttelse og udbyderkompatibilitet. V\xe6lg et kildeformat og m\xe5ludbyder, og k\xf8r derefter alle test for at se en kompatibilitetsprocent. Brug dette til at finde ud af, hvilke funktioner der fungerer p\xe5 tv\xe6rs af udbydere.","targetProvider":"M\xe5ludbyder","runAllTests":"K\xf8r alle tests","runTest":"K\xf8r test","reRun":"K\xf8r igen","running":"K\xf8rer...","passed":"best\xe5et","failed":"mislykkedes","passedIconLabel":"✅ Best\xe5et","chunks":"bidder","scenarioSimpleChat":"Simpel chat","scenarioToolCalling":"V\xe6rkt\xf8jsopkald","scenarioMultiTurn":"Multivending","scenarioThinking":"T\xe6nker","scenarioSystemPrompt":"Systemprompt","scenarioStreaming":"Streaming","templateNames":{"simple-chat":"Simpel chat","tool-calling":"V\xe6rkt\xf8jsopkald","multi-turn":"Multivending","thinking":"T\xe6nker","system-prompt":"Systemprompt","streaming":"Streaming"},"templateDescriptions":{"simple-chat":"Grundl\xe6ggende tekstbesked","tool-calling":"Funktion/v\xe6rkt\xf8jskald","multi-turn":"Samtale med historien","thinking":"Udvidet t\xe6nkning/r\xe6sonnement","system-prompt":"Komplekse systeminstruktioner","streaming":"SSE streaming anmodning"},"templatePayloads":{"simpleChat":{"system":"Du er en hj\xe6lpsom assistent.","userGreeting":"Hej! Hvordan har du det i dag?"},"toolCalling":{"userWeather":"Hvordan er vejret i S\xe3o Paulo?","toolDescription":"F\xe5 det aktuelle vejr for en placering","cityNameDescription":"Byens navn"},"multiTurn":{"system":"Du er kodningsassistent.","userInitial":"Skriv en funktion til at sortere et array i Python.","assistantExample":"Her er en simpel sorteringsfunktion:\\n\\n``` python\\ndef sort_array(arr):\\n returner sorteret(arr)\\n```","userFollowUp":"G\xf8r det nu sorteret i faldende r\xe6kkef\xf8lge."},"thinking":{"question":"Hvad er summen af de f\xf8rste 100 primtal?"},"systemPrompt":{"systemInstruction":"Du er senior softwareingeni\xf8r med speciale i distribuerede systemer. Besvar sp\xf8rgsm\xe5l kortfattet ved at bruge industriens bedste praksis. Angiv altid kodeeksempler, n\xe5r det er relevant. Formater dine svar ved hj\xe6lp af markdown.","question":"Hvordan implementerer jeg et afbryderm\xf8nster?"},"streaming":{"prompt":"Fort\xe6l mig en kort historie om en robot, der l\xe6rer at male."}},"openaiCompatibleLabel":"OpenAI-kompatibel","anthropicCompatibleLabel":"Antropisk kompatibel","noTemplateForFormat":"Ingen skabelon til dette format","translationFailed":"Overs\xe6ttelse mislykkedes: {error}","pipelineDebugger":"Pipeline Debugger","translationPipeline":"Overs\xe6ttelsesr\xf8rledning","pipelineVisualization":"Pipeline visualisering","pipelineVisualizationHint":"Send en besked for at se, hvordan din anmodning flyder gennem registrering → overs\xe6ttelse → udbyderopkald.","chatTesterDescription":"Send beskeder som et specifikt klientformat og inspic\xe9r hvert trin i overs\xe6ttelsespipelinen.","chatTesterFlow":"Client Request → Format Detection → OpenAI Intermediate → Provider Format → Response","clickStepToInspect":"Klik p\xe5 et trin for at inspicere dataene p\xe5 det tidspunkt.","clientFormat":"Klientformat","provider":"Udbyder","modelPlaceholder":"V\xe6lg eller skriv et modelnavn...","sendMessageToSeePipeline":"Send en besked for at se overs\xe6ttelsespipeline","chatMessageHintPrefix":"Din besked vil blive formateret som en","chatMessageHintSuffix":"anmodning, oversat gennem pipelinen og sendt til den valgte udbyder.","youWithFormat":"Dig ({format})","assistant":"Assistent","typeMessage":"Skriv en besked...","send":"Send","clientRequest":"Kundeanmodning","clientRequestDescription":"Anmodningslegemet, som din klient ville sende det","formatDetected":"Format fundet","formatDetectedDescription":"OmniRoute registrerer automatisk API-formatet fra anmodningsstrukturen","openaiIntermediate":"OpenAI Intermediate","openaiIntermediateDescription":"Alle formater normaliseres f\xf8rst til OpenAI-format (den universelle bro)","providerFormat":"Udbyder format","providerFormatDescription":"OpenAI-formatet er oversat til udbyderens oprindelige format","providerResponse":"Udbyder svar","providerResponseRawDescription":"Det r\xe5 svar fra udbyderens API","providerResponseSseDescription":"Den r\xe5 SSE-stream fra udbyderens API","unexpectedError":"Der opstod en uventet fejl","error":"Fejl","errorMessage":"Fejl: {message}","requestFailed":"Anmodningen mislykkedes","noTextExtracted":"(Ingen tekst udtrukket)","liveMonitorDescriptionPrefix":"Viser overs\xe6ttelsesbegivenheder, mens API-kald flyder gennem OmniRoute. H\xe6ndelser kommer fra bufferen i hukommelsen (nulstilles ved genstart). Brug","liveMonitorDescriptionSuffix":", eller eksterne API-kald for at generere h\xe6ndelser."},"usage":{"title":"Brug","loggerTab":"Logger","proxyTab":"Fuldmagt","budgetManagement":"Budgetstyring","budgetSaved":"Budgetgr\xe6nser gemt","budgetSaveFailed":"Budgettet kunne ikke gemmes","loadingBudgetData":"Indl\xe6ser budgetdata...","noApiKeysTitle":"Ingen API-n\xf8gler","noApiKeysDescription":"Tilf\xf8j API-n\xf8gler f\xf8rst for at ops\xe6tte budgetgr\xe6nser.","apiKey":"API n\xf8gle","todaysSpend":"Dagens forbrug","thisMonth":"Denne m\xe5ned","setLimits":"S\xe6t gr\xe6nser","dailyLimitUsd":"Daglig gr\xe6nse (USD)","monthlyLimitUsd":"M\xe5nedlig gr\xe6nse (USD)","warningThresholdPercent":"Advarselst\xe6rskel (%)","dailyLimitPlaceholder":"f.eks. 5.00","monthlyLimitPlaceholder":"f.eks. 50,00","warningThresholdPlaceholder":"80","saveLimits":"Gem gr\xe6nser","budgetOk":"Budget OK — {remaining} tilbage","budgetExceeded":"Budget overskredet — anmodninger kan blive blokeret","totalRequests":"Samlet antal anmodninger","noDataYet":"Ingen data endnu","latency":"Latency","latencyP50":"p50","latencyP95":"s95","latencyP99":"s99","promptCache":"Sp\xf8rg cache","systemHealth":"Systemsundhed","entries":"Indgange","activeCount":"{count} aktiv","openCircuitBreakersDetected":"\xc5bne afbrydere registreret","hitRate":"Hitrate","hitsMisses":"Hits / Misses","circuitBreakers":"Str\xf8mafbrydere","lockedIPs":"L\xe5ste IP\'er","lockoutsAutoRefreshHint":"L\xe5se for hastighedsbegr\xe6nsning pr. model • Automatisk opdatering 10s","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} tilbage","howItWorks":"Hvordan det virker","howItWorksSubtitle":"L\xe6r, hvordan evalueringer validerer dine LLM-svar","define":"Definer","defineStepDescription":"Opret testcases med inputprompter og forventede outputkriterier ved hj\xe6lp af strategier som indeholder, regex eller eksakt match.","run":"L\xf8b","runStepDescription":"Udf\xf8r testsager mod dine LLM-endepunkter gennem OmniRoute. Hver sag sendes som en \xe6gte API-anmodning.","evaluate":"Evaluer","evaluateStepDescription":"Svar sammenlignes med forventede kriterier. Se best\xe5et/ikke best\xe5et for hver sag med latency-metrics og detaljeret feedback.","evalSuites":"Evalueringssuiter","evalSuitesHint":"Klik p\xe5 en suite for at se testcases, og k\xf8r derefter for at evaluere dine LLM-endepunkter","evalsLoading":"Indl\xe6ser eval suiter...","noEvalSuitesFound":"Ingen Eval-suiter fundet","noEvalSuitesDescription":"Eval-suiter kan defineres via API\'et eller i kode. De tester modeloutput mod forventede resultater ved hj\xe6lp af strategier som indeholder, regex, eksakt match og brugerdefinerede funktioner.","columnCase":"Sag","columnStatus":"Status","columnLatency":"Latency","columnDetails":"Detaljer","columnModel":"Model","columnStrategy":"Strategi","columnExpected":"Forventet","statsSuites":"Suiter","statsTestCases":"Test Cases","statsModels":"Modeller","statsCoverage":"D\xe6kning","statsStrategiesCount":"{count} strategier","evaluationStrategies":"Evalueringsstrategier","modelsUnderTest":"Modeller under test","searchSuitesPlaceholder":"S\xf8g suiter...","passSuffix":"best\xe5","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"K\xf8r Eval","runningProgress":"K\xf8rer {current}/{total}...","passRate":"best\xe5elsesprocent","summaryBreakdown":"{passed} best\xe5et \xb7 {failed} mislykkedes \xb7 {total} i alt","passedIconLabel":"✅ Best\xe5et","failedIconLabel":"❌ Mislykkedes","detailsContains":"Indeholder: \\"{term}\\"","detailsRegex":"Regex: {pattern}","detailsExpected":"Forventet: \\"{expected}\\"","noResultsYet":"Ingen resultater endnu","testCasesCount":"Testcases ({count})","noTestCasesDefined":"Ingen testcases defineret","runEvalHint":"Klik p\xe5 \\"Run Eval\\" for at udf\xf8re alle sager mod dit LLM-slutpunkt. Hver test sender en reel anmodning gennem OmniRoute.","notifyNoTestCases":"Ingen testcases defineret for denne suite","notifyAllCasesPassed":"Alle {total} sager best\xe5et ✅","notifySomeCasesFailed":"{passed}/{total} best\xe5et, {failed} mislykkedes","notifyEvalRunFailed":"Evalk\xf8rsel mislykkedes","notifyEvalTitle":"Eval: {name}","modelEvals":"Modelvurderinger","evalsHeroDescription":"Test og valider dine LLM-endepunkter ved at k\xf8re foruddefinerede evalueringspakker. Hver suite indeholder testcases, der sender reelle prompter gennem OmniRoute og sammenligner svar med forventede kriterier - hj\xe6lper dig med at opdage regression, sammenligne modeller og sikre svarkvalitet p\xe5 tv\xe6rs af udbydere.","qualityValidation":"Kvalitetsvalidering","modelComparison":"Model sammenligning","regressionDetection":"Regression detektion","latencyBenchmarks":"Latency Benchmarks","modelLockouts":"Model Lockouts","noLockouts":"Ingen modeller er l\xe5st i \xf8jeblikket","activeSessions":"Aktive sessioner","noSessions":"Ingen aktive sessioner","sessionsHint":"Sessioner vises, n\xe5r anmodninger str\xf8mmer gennem proxyen","sessionsTrackedHint":"Spores via anmodning om fingeraftryk • Automatisk opdatering 5s","session":"Session","age":"Alder","requests":"Foresp\xf8rgsler","connection":"Forbindelse","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Udbydergr\xe6nser","noProviders":"Ingen udbydere tilsluttet","connectProvidersForQuota":"Opret forbindelse til udbydere med OAuth for at spore dine API-kvotegr\xe6nser og brug.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(filtreret fra {count})","autoRefresh":"Automatisk opdatering","refreshAll":"Opdater alle","loadingQuotas":"Indl\xe6ser...","account":"Konto","modelQuotas":"Modelkvoter","lastUsed":"Sidst brugt","actions":"Handlinger","refreshQuota":"Opdater 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 udbyderen","noQuotaData":"Ingen kvotedata","noQuotaDataAvailable":"Ingen tilg\xe6ngelige kvotedata","noAccountsForTierFilter":"Der blev ikke fundet nogen konti til niveaufilter","tierAll":"Alle","tierEnterprise":"Enterprise","tierTeam":"Team","tierBusiness":"Forretning","tierUltra":"Ultra","tierPro":"Pro","tierPlus":"Plus","tierFree":"Gratis","tierUnknown":"Ukendt"},"modals":{"waitingAuth":"Venter p\xe5 autorisation","verificationUrl":"Bekr\xe6ftelses-URL","yourCode":"Din kode","remoteAccess":"Fjernadgang:","connectedSuccess":"Forbundet med succes!","connectionFailed":"Forbindelse mislykkedes","chooseAuthMethod":"V\xe6lg din godkendelsesmetode:","awsBuilderId":"AWS Builder ID","awsIamIdentity":"AWS IAM Identity Center","googleAccount":"Google-konto","githubAccount":"GitHub-konto","importToken":"Importer token","pasteToken":"Inds\xe6t opdateringstoken fra Kiro IDE.","awsRegion":"AWS-regionen","autoDetecting":"Automatisk registrering af tokens...","readingFromCache":"L\xe6ser fra AWS SSO-cache","readingFromCursor":"L\xe6sning fra Cursor IDE-database","initializing":"Initialiserer...","pricingConfig":"Priskonfiguration","loadingPricing":"Indl\xe6ser prisdata...","pricingRatesFormat":"Prisformat","noPricingData":"Ingen tilg\xe6ngelige prisdata","noModelsFound":"Ingen modeller fundet"},"loggers":{"allProviders":"Alle udbydere","allModels":"Alle modeller","allAccounts":"Alle konti","allApiKeys":"Alle API-n\xf8gler","allTypes":"Alle typer","allLevels":"Alle niveauer","modelAZ":"Model A-Z","modelZA":"Model Z-A","loadingLogs":"Indl\xe6ser logfiler...","loadingProxyLogs":"Indl\xe6ser proxylogfiler...","noLogEntries":"Ingen logposter fundet","noPayloadData":"Ingen nyttelastdata tilg\xe6ngelige for denne logpost.","proxyEvent":"Proxy begivenhed","proxy":"Fuldmagt","level":"Niveau","directNative":"Direkte (native)","combo":"Combo","inputTokens":"jeg:","outputTokens":"O:"},"stats":{"usageOverview":"Brugsoversigt","outputTokens":"Output tokens","totalCost":"Samlede omkostninger","usageByModel":"Brug efter model","usageByAccount":"Brug efter konto","failedToLoad":"Kunne ikke indl\xe6se brugsstatistikker.","tokenHealth":"Token Health","totalOAuth":"Samlet OAuth","healthy":"Sundt","warning":"Advarsel","errored":"Fejl","lastCheck":"Sidste kontrol","noData":"Ingen data","share":"Del","unableToLoad":"Systemmetrics kunne ikke indl\xe6ses","product":"Produkt","resources":"Ressourcer","company":"Selskab"},"auth":{"welcome":"Velkommen","signIn":"Log ind","enterPassword":"Indtast din adgangskode for at forts\xe6tte","password":"Adgangskode","unifiedProxy":"Unified AI API Proxy","unifiedAiApiProxy":"Unified AI API Proxy","unifiedAiApiProxyDesc":"Rut anmodninger til flere AI-udbydere gennem et enkelt slutpunkt. Belastningsbalancering, failover og brugssporing indbygget.","passwordNotEnabled":"Adgangskodebeskyttelse er ikke aktiveret","loading":"Indl\xe6ser...","invalidPassword":"Ugyldig adgangskode","errorOccurredRetry":"Der opstod en fejl. Pr\xf8v venligst igen.","configureInstance":"Lad os f\xe5 konfigureret din OmniRoute-instans","runOnboardingWizard":"K\xf8r onboarding-guiden for at konfigurere din adgangskode og oprette forbindelse til din f\xf8rste AI-udbyder.","startOnboarding":"Start Onboarding","secureYourInstance":"Sikre din instans","setPasswordDescription":"Indstil en adgangskode for at beskytte dit dashboard og sikre dine API-endepunkter mod uautoriseret adgang.","configurePassword":"Konfigurer adgangskode","continue":"Forts\xe6t","windowWillClose":"Dette vindue lukkes automatisk...","closeTabNow":"Du kan lukke denne fane nu.","copyUrlManual":"Kopier venligst URL\'en fra adresselinjen og inds\xe6t den i applikationen.","accessDeniedDescription":"Du har ikke tilladelse til at f\xe5 adgang til denne ressource. Tjek din API-n\xf8gle, eller kontakt administratoren.","goToDashboard":"G\xe5 til Dashboard","featureMultiProviderTitle":"Multi-udbyder","featureMultiProviderDesc":"OpenAI, Anthropic, Google og mere","featureLoadBalancingTitle":"Lastbalancering","featureLoadBalancingDesc":"Fordel anmodninger intelligent","featureUsageTrackingTitle":"Brugssporing","featureUsageTrackingDesc":"Overv\xe5g omkostninger og tokens","resetPassword":"Nulstil adgangskode","resetDescription":"V\xe6lg en metode til at gendanne adgangen til dit dashboard","stopServer":"Stop OmniRoute-serveren","processing":"Behandler...","pleaseWait":"Vent venligst, mens vi fuldf\xf8rer godkendelsen.","authSuccess":"Godkendelse lykkedes!","copyUrl":"Kopi\xe9r denne URL","accessDenied":"Adgang n\xe6gtet","methodCliTitle":"Metode 1: CLI-nulstilling","methodCliDescription":"K\xf8r f\xf8lgende kommando p\xe5 serveren, hvor OmniRoute k\xf8rer:","methodCliHint":"Dette vil bede dig om at indstille en ny adgangskode. Serveren skal stoppes f\xf8rst.","methodManualTitle":"Metode 2: Manuel nulstilling","methodManualDescription":"Slet adgangskoden fra databasen og indstil en ny ved opstart:","setPasswordInYour":"Indstil en ny adgangskode i din","fileLabelSuffix":"fil:","newPasswordPlaceholder":"dit_nye_adgangskode","deleteSettingsFile":"Slet","orRemovePasswordHashField":"eller fjern feltet passwordHash","restartServerWithNewPassword":"Genstart serveren - den vil bruge den nye adgangskode","backToLogin":"Tilbage til Login","forgotPassword":"Glemt adgangskode?"},"landing":{"brandName":"OmniRoute","navigateHome":"Naviger til hjem","toggleMenu":"Skift menu","featuresLink":"Funktioner","docsLink":"Dokumenter","github":"GitHub","versionLive":"v1.0 er nu live","oneEndpoint":"Et slutpunkt til","allProviders":"Alle AI-udbydere","heroDescription":"AI-slutpunktsproxy med web-dashboard - En JavaScript-port af CLIProxyAPI. Fungerer problemfrit med Claude Code, OpenAI Codex, Cline, RooCode og andre CLI-v\xe6rkt\xf8jer.","getStarted":"Kom i gang","viewOnGithub":"Se p\xe5 GitHub","powerfulFeatures":"Kraftige funktioner","featuresSubtitle":"Alt hvad du beh\xf8ver for at administrere din AI-infrastruktur p\xe5 \xe9t sted, bygget til skala.","featureUnifiedEndpointTitle":"Unified Endpoint","featureUnifiedEndpointDesc":"F\xe5 adgang til alle udbydere via en enkelt standard API-URL.","featureEasySetupTitle":"Nem ops\xe6tning","featureEasySetupDesc":"Kom i gang p\xe5 f\xe5 minutter med npx-kommandoen.","featureModelFallbackTitle":"Model Fallback","featureModelFallbackDesc":"Skift automatisk udbyder ved fejl eller h\xf8j latenstid.","featureUsageTrackingTitle":"Brugssporing","featureUsageTrackingDesc":"Detaljerede analyser og omkostningsoverv\xe5gning p\xe5 tv\xe6rs af alle modeller.","featureOAuthApiKeysTitle":"OAuth- og API-n\xf8gler","featureOAuthApiKeysDesc":"Administrer legitimationsoplysninger sikkert i \xe9n boks.","featureCloudSyncTitle":"Cloud Sync","featureCloudSyncDesc":"Synkroniser dine konfigurationer p\xe5 tv\xe6rs af enheder med det samme.","featureCliSupportTitle":"CLI support","featureCliSupportDesc":"Fungerer med Claude Code, Codex, Cline, Cursor og mere.","featureDashboardTitle":"Dashboard","featureDashboardDesc":"Visuelt dashboard til trafikanalyse i realtid.","howItWorks":"S\xe5dan fungerer OmniRoute","howItWorksDescription":"Data flyder problemfrit fra din applikation gennem vores intelligente routing-lag til den bedste udbyder til jobbet.","howItWorksStep1Title":"1. CLI & SDK\'er","howItWorksStep1Description":"Dine anmodninger starter fra dine yndlingsv\xe6rkt\xf8jer eller vores forenede SDK. Skift blot den grundl\xe6ggende URL.","howItWorksStep2Title":"2. OmniRoute Hub","howItWorksStep2Description":"Vores motor analyserer prompten, tjekker udbyderens helbred og ruter for laveste latenstid eller omkostninger.","howItWorksStep3Title":"3. AI-udbydere","howItWorksStep3Description":"Anmodningen opfyldes af OpenAI, Anthropic, Gemini eller andre \xf8jeblikkeligt.","getStartedIn30Seconds":"Kom i gang p\xe5 30 sekunder","getStartedDescription":"Installer OmniRoute, konfigurer dine udbydere via web-dashboard, og begynd at dirigere AI-anmodninger.","installOmniRoute":"Installer OmniRoute","installStepDescription":"K\xf8r npx-kommandoen for at starte serveren med det samme","openDashboard":"\xc5bn Dashboard","openDashboardStepDescription":"Konfigurer udbydere og API-n\xf8gler via webgr\xe6nseflade","routeRequests":"Ruteanmodninger","routeRequestsStepDescription":"Ret dine CLI-v\xe6rkt\xf8jer til {endpoint}","terminal":"terminal","copy":"Kopi\xe9r","copied":"✓ Kopieret","startingOmniRoute":"Starter OmniRoute...","serverRunningOnLabel":"Server k\xf8rer p\xe5","dashboardLabel":"Dashboard","readyToRoute":"Klar til rute! ✓","configureProvidersNote":"\uD83D\uDCDD Konfigurer udbydere i dashboard eller brug milj\xf8variabler","dataLocation":"Dataplacering:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Windows:","product":"Produkt","dashboardLink":"Dashboard","changelog":"\xc6ndringslog","resources":"Ressourcer","documentation":"Dokumentation","npm":"NPM","legal":"Juridisk","mitLicense":"MIT-licens","footerTagline":"Det forenede slutpunkt for AI-generering. Forbind, diriger og administrer dine AI-udbydere med lethed.","copyright":"\xa9 {year} OmniRoute. Alle rettigheder forbeholdes.","flowToolClaudeCode":"Claude kode","flowToolOpenAICodex":"OpenAI Codex","flowToolCline":"Cline","flowToolCursor":"Mark\xf8r","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Antropisk","flowProviderGemini":"Tvillingerne","flowProviderGithubCopilot":"GitHub Copilot","interactiveDiagram":"Interaktivt diagram synligt p\xe5 skrivebordet","ctaTitle":"Klar til at forenkle din AI-infrastruktur?","ctaDescription":"Slut dig til udviklere, der str\xf8mliner deres AI-integrationer med OmniRoute. Open source og gratis at starte.","startFree":"Start gratis","readDocumentation":"L\xe6s dokumentation"},"docs":{"title":"Dokumentation","quickStart":"Hurtig start","features":"Funktioner","supportedProviders":"Underst\xf8ttede udbydere","supportedProvidersToc":"Udbydere","commonUseCases":"Almindelige anvendelsestilf\xe6lde","clientCompatibility":"Klientkompatibilitet","apiReference":"API-reference","method":"Metode","path":"Sti","notes":"Noter","modelPrefixes":"Modelpr\xe6fikser","prefix":"Pr\xe6fiks","troubleshooting":"Fejlfinding","supportsChat":"Underst\xf8tter b\xe5de chat- og svarendepunkter.","oauthAutoRefresh":"OAuth-forbindelse med automatisk token-opdatering.","fullStreaming":"Fuld streaming support til alle modeller.","docsLabel":"Dokumenter","docsHeroDescription":"AI-gateway til LLM\'er med flere udbydere. \xc9t endepunkt for OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor og mere end 20 udbydere.","openDashboard":"\xc5bn Dashboard","endpointPage":"Slutpunktside","github":"GitHub","reportIssue":"Rapport\xe9r problem","onThisPage":"P\xe5 denne side","documentationVersion":"Dokumentation - v{version}","quickStartStep1Title":"1. Installer og k\xf8r","quickStartStep1Prefix":"L\xf8b","quickStartStep1Middle":"eller klon fra GitHub og k\xf8r","quickStartStep2Title":"2. Opret API-n\xf8gle","quickStartStep2Text":"G\xe5 til Slutpunkt -> Registrerede n\xf8gler. Generer \xe9n n\xf8gle pr. milj\xf8.","quickStartStep3Title":"3. Tilslut udbydere","quickStartStep3Text":"Tilf\xf8j udbyderkonti via OAuth-login, API-n\xf8gle eller automatisk forbindelse med frit niveau.","quickStartStep4Title":"4. Indstil klientbase-URL","quickStartStep4Prefix":"Peg din IDE- eller API-klient til","quickStartStep4Suffix":"Brug for eksempel udbyderpr\xe6fiks","featureRoutingTitle":"Multi-Provider Routing","featureRoutingText":"Rut anmodninger til 30+ AI-udbydere gennem et enkelt OpenAI-kompatibelt slutpunkt. Underst\xf8tter chat, svar, lyd og billed-API\'er.","featureCombosTitle":"Kombinationer og balancering","featureCombosText":"Opret modelkombinationer med fallback-k\xe6der og balanceringsstrategier: round-robin, prioritet, tilf\xe6ldig, mindst brugt og omkostningsoptimeret.","featureUsageTitle":"Brug og omkostningssporing","featureUsageText":"Tokenopt\xe6lling i realtid, omkostningsberegning pr. udbyder/model og detaljeret forbrugsopdeling efter API-n\xf8gle og konto.","featureAnalyticsTitle":"Analytics Dashboard","featureAnalyticsText":"Visuel analyse med diagrammer for anmodninger, tokens, fejl, latens, omkostninger og modelpopularitet over tid.","featureHealthTitle":"Sundhedsoverv\xe5gning","featureHealthText":"Live-sundhedstjek, udbyderstatus, str\xf8mafbrydertilstande og automatisk hastighedsgr\xe6nsedetektering med eksponentiel backoff.","featureCliTitle":"CLI v\xe6rkt\xf8jer","featureCliText":"Administrer IDE-konfigurationer, eksporter/import\xe9r sikkerhedskopier, find codex-profiler og konfigurer indstillinger fra dashboardet.","featureSecurityTitle":"Sikkerhed og politikker","featureSecurityText":"API-n\xf8glegodkendelse, IP-filtrering, promptindspr\xf8jtningsbeskyttelse, dom\xe6nepolitikker, sessionsstyring og revisionslogning.","featureCloudSyncTitle":"Cloud Sync","featureCloudSyncText":"Synkroniser din konfiguration med Cloudflare Workers for fjernadgang med krypterede legitimationsoplysninger og automatisk failover.","providersAcrossConnectionTypes":"{count} udbydere p\xe5 tv\xe6rs af tre forbindelsestyper.","manageProviders":"Administrer udbydere","providersCount":"{count} udbydere","providerTypeFree":"Gratis niveau","providerTypeOAuth":"OAuth","providerTypeApiKey":"API n\xf8gle","useCaseSingleEndpointTitle":"Enkelt slutpunkt for mange udbydere","useCaseSingleEndpointText":"Peg klienter til \xe9n basis-URL og rute efter modelpr\xe6fiks (for eksempel: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Fallback og modelskift med kombinationer","useCaseFallbackText":"Opret kombinationsmodeller i Dashboard, og hold klientkonfigurationen stabil, mens udbyderne roterer internt.","useCaseUsageVisibilityTitle":"Brug, omkostninger og fejlfindingssynlighed","useCaseUsageVisibilityText":"Spor tokens og omkostninger efter udbyder, konto og API-n\xf8gle p\xe5 fanerne Brug og Analytics.","clientCherryStudioTitle":"Cherry Studio","baseUrlLabel":"Basis URL","chatEndpointLabel":"Chat slutpunkt","modelRecommendationLabel":"Modelanbefaling: eksplicit pr\xe6fiks","clientCodexTitle":"Codex / GitHub Copilot-modeller","clientCodexBullet1":"Brug model-id\'er med","clientCodexBullet2":"Codex-familiemodeller dirigeres automatisk til","clientCodexBullet3":"Ikke-Codex-modeller forts\xe6tter","clientCursorTitle":"Mark\xf8r IDE","clientCursorBullet1":"Brug","clientCursorBullet1Suffix":"pr\xe6fiks for Cursor-modeller.","clientCursorBullet2":"OAuth-forbindelse - log p\xe5 fra siden Udbydere.","clientClaudeTitle":"Claude Code / Antigravity","clientClaudeBullet1Prefix":"Brug","clientClaudeBullet1Middle":"(Claude) eller","clientClaudeBullet1Suffix":"(antityngdekraft) pr\xe6fiks.","endpointChatNote":"OpenAI-kompatibelt chatslutpunkt (standard).","endpointResponsesNote":"Responses API-endepunkt (Codex, o-serien).","endpointModelsNote":"Modelkatalog for alle tilsluttede udbydere.","endpointAudioNote":"Lydtransskription (Deepgram, AssemblyAI).","endpointImagesNote":"Billedgenerering (NanoBanana).","endpointRewriteChatNote":"Omskrivehj\xe6lper til klienter uden /v1.","endpointRewriteResponsesNote":"Omskriv hj\xe6lper til svar uden /v1.","endpointRewriteModelsNote":"Omskrivningshj\xe6lper til modelopdagelse uden /v1.","modelPrefixesDescriptionStart":"Brug udbyderpr\xe6fikset f\xf8r modelnavnet for at rute til en bestemt udbyder. Eksempel:","modelPrefixesDescriptionEnd":"ruter til GitHub Copilot.","provider":"Udbyder","type":"Type","troubleshootingModelRouting":"Hvis klienten fejler med modelrouting, skal du bruge eksplicit udbyder/model (for eksempel: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Hvis du modtager tvetydige modelfejl, skal du v\xe6lge et udbyderpr\xe6fiks i stedet for et blottet model-id.","troubleshootingCodexFamily":"For GitHub Codex-familiemodeller skal du beholde modellen som gh/<codex-model>; routeren v\xe6lger /svar automatisk.","troubleshootingTestConnection":"Brug Dashboard > Udbydere > Test forbindelse, f\xf8r du tester fra IDE\'er eller eksterne klienter.","troubleshootingCircuitBreaker":"Hvis en udbyder viser en afbryder \xe5ben, skal du vente p\xe5 nedk\xf8ling eller tjekke Health-siden for detaljer.","troubleshootingOAuth":"For OAuth-udbydere skal du godkende igen, hvis tokens udl\xf8ber. Tjek udbyderkortets statusindikator."},"legal":{"privacyPolicy":"Privatlivspolitik","termsOfService":"Servicevilk\xe5r","providerConfigurations":"Udbyder konfigurationer","apiKeys":"API n\xf8gler","usageLogs":"Brugslogs","applicationSettings":"Applikationsindstillinger","viewExportAnalytics":"Se og eksporter brugsanalyse","clearHistory":"Ryd brugshistorik til enhver tid","configureRetention":"Konfigurer logopbevaringspolitikker","backupRestore":"Sikkerhedskopier og gendan din database","privacyMetadataTitle":"Privatlivspolitik | OmniRoute","privacyMetadataDescription":"Privatlivspolitik for OmniRoute AI API proxy-routeren.","termsMetadataTitle":"Servicevilk\xe5r | OmniRoute","termsMetadataDescription":"Servicevilk\xe5r for OmniRoute AI API proxy-routeren.","backToHome":"Tilbage til hjemmet","lastUpdated":"Sidst opdateret: {date}","policyLastUpdatedDate":"13. februar 2026","listSeparator":"-","questionsVisit":"Sp\xf8rgsm\xe5l? Bes\xf8g vores","githubRepository":"GitHub-depot","privacySection1Title":"1. Lokal-f\xf8rste arkitektur","privacySection1Text":"OmniRoute er designet som en lokal-f\xf8rst-applikation. Al databehandling og lagring foreg\xe5r udelukkende p\xe5 din maskine. Der er ingen centraliseret server, der indsamler dine oplysninger.","privacySection2Title":"2. Data vi gemmer","privacyDataStoredIn":"F\xf8lgende data gemmes lokalt i","privacyDataProviderConfigurationsDesc":"forbindelses-URL\'er, udbydertyper og prioritetsindstillinger","privacyDataApiKeysDesc":"krypteret og gemt lokalt til godkendelse hos AI-udbydere","privacyDataUsageLogsDesc":"antal anmodninger, tokenbrug, modelnavne, tidsstempler og svartider","privacyDataApplicationSettingsDesc":"temapr\xe6ferencer, routingstrategi og kombinationskonfigurationer","privacySection3Title":"3. Ingen telemetri","privacySection3Text":"OmniRoute indsamler ikke telemetri, analyser eller nedbrudsrapporter. Der sendes ingen data til os eller nogen tredjepart. Dine brugsm\xf8nstre, API-kald og konfigurationer forbliver helt private.","privacySection4Title":"4. Tredjeparts AI-udbydere","privacySection4Text":"N\xe5r du foretager API-kald gennem OmniRoute, videresendes dine anmodninger til de AI-udbydere, du har konfigureret (for eksempel: OpenAI, Anthropic, Google). Disse udbydere har deres egne privatlivspolitikker, der styrer, hvordan de h\xe5ndterer dine data. Gennemg\xe5 venligst:","privacyOpenAiPolicy":"OpenAI Privatlivspolitik","privacyAnthropicPolicy":"Antropisk privatlivspolitik","privacyGooglePolicy":"Googles privatlivspolitik","privacySection5Title":"5. Cloud Sync (valgfrit)","privacySection5Text":"Hvis du aktiverer den valgfri cloud-synkroniseringsfunktion, kan udbyderkonfigurationer og API-n\xf8gler overf\xf8res til et konfigureret cloud-slutpunkt. Denne funktion er deaktiveret som standard og kr\xe6ver eksplicit opt-in.","privacySection6Title":"6. Logning","privacyLoggingIntro":"Anmodningslogfiler kan konfigureres via dashboardindstillingerne. Du kan:","privacySection7Title":"7. Dine rettigheder","privacySection7TextStart":"Da alle data er gemt lokalt, har du fuld kontrol. Du kan til enhver tid slette dine data ved at fjerne","privacySection7TextEnd":"bibliotek eller ved hj\xe6lp af databasesikkerhedskopierings- og gendannelsesfunktionerne i dashboardet.","termsSection1Title":"1. Oversigt","termsSection1Text":"OmniRoute er en lokal-f\xf8rste AI API proxy-router, der fungerer udelukkende p\xe5 din maskine. Det dirigerer anmodninger til flere AI-udbydere med belastningsbalancering, failover og brugssporing.","termsSection2Title":"2. Brugeransvar","termsResponsibilityApiKeys":"Du er alene ansvarlig for at administrere dine egne API-n\xf8gler og legitimationsoplysninger for tredjeparts AI-udbydere (OpenAI, Anthropic, Google osv.).","termsResponsibilityCompliance":"Du skal overholde servicevilk\xe5rene for hver AI-udbyder, hvis API du tilg\xe5r via OmniRoute.","termsResponsibilitySecurity":"Du er ansvarlig for sikkerheden af ​​din lokale OmniRoute-installation, herunder indstilling af en adgangskode og begr\xe6nsning af netv\xe6rksadgang.","termsSection3Title":"3. Hvordan det virker","termsSection3Text":"OmniRoute fungerer som en mellemmand. API-kald, der sendes til OmniRoute, overs\xe6ttes og videresendes til dine konfigurerede AI-udbydere. OmniRoute \xe6ndrer ikke indholdet af dine anmodninger eller svar ud over den n\xf8dvendige protokolovers\xe6ttelse.","termsSection4Title":"4. Datah\xe5ndtering","termsDataStoredLocally":"Alle data gemmes lokalt p\xe5 din maskine i en SQLite-database.","termsNoTransmission":"OmniRoute transmitterer ingen data til eksterne servere, medmindre du udtrykkeligt aktiverer skysynkroniseringsfunktioner.","termsDataLocationText":"Brugslogfiler, API-n\xf8gler og konfiguration gemmes i","termsSection5Title":"5. Ansvarsfraskrivelse","termsSection5Text":"OmniRoute leveres \\"som den er\\" uden garanti af nogen art. Vi er ikke ansvarlige for omkostninger, der p\xe5l\xf8ber som f\xf8lge af API-brug, serviceforstyrrelser eller tab af data. Vedligehold altid sikkerhedskopier af din konfiguration.","termsSection6Title":"6. Open Source","termsSection6Text":"OmniRoute er open source-software. Du kan frit inspicere, \xe6ndre og distribuere den i henhold til licensbetingelserne."}}')}};
1
+ "use strict";exports.id=8976,exports.ids=[8976],exports.modules={18976:a=>{a.exports=JSON.parse('{"common":{"save":"Gem","cancel":"Annuller","delete":"Slet","loading":"Indl\xe6ser...","error":"Der opstod en fejl","success":"Succes","confirm":"Er du sikker?","refresh":"Opdater","close":"Luk","add":"Tilf\xf8j","edit":"Rediger","search":"S\xf8g","back":"Tilbage","next":"N\xe6ste","submit":"Indsend","reset":"Nulstil","copy":"Kopi\xe9r","copied":"Kopieret!","enabled":"Aktiveret","disabled":"Deaktiveret","active":"Aktiv","inactive":"Inaktiv","noData":"Ingen tilg\xe6ngelige data","configure":"Konfigurer","manage":"Administrer","name":"Navn","actions":"Handlinger","status":"Status","type":"Type","model":"Model","models":"modeller","provider":"Udbyder","account":"Konto","time":"Tid","details":"Detaljer","created":"Oprettet","lastUsed":"Sidst brugt","loadMore":"Indl\xe6s mere","noResults":"Ingen resultater fundet","reloadPage":"Genindl\xe6s siden","connected":"Forbundet","disconnected":"Afbrudt","notConfigured":"Ikke konfigureret","testConnection":"Test forbindelse","enable":"Aktiver","disable":"Deaktiver","columns":"Kolonner","newest":"Nyeste","oldest":"\xc6ldste","all":"Alle","none":"Ingen","yes":"Ja","no":"Nej","warning":"Advarsel","note":"Bem\xe6rk","free":"Gratis","skipToContent":"G\xe5 til indhold"},"sidebar":{"home":"Hjem","dashboard":"Dashboard","providers":"Udbydere","combos":"Combos","usage":"Brug","analytics":"Analytics","costs":"Omkostninger","health":"Sundhed","limits":"Gr\xe6nser og kvoter","cliTools":"CLI v\xe6rkt\xf8jer","settings":"Indstillinger","translator":"Overs\xe6tter","docs":"Dokumenter","issues":"Problemer","endpoint":"Slutpunkt","apiManager":"API Manager","logs":"Logs","auditLog":"Revisionslog","shutdown":"Nedlukning","restart":"Genstart","shutdownConfirm":"Vil du lukke OmniRoute ned?","restartConfirm":"Genstart OmniRoute?","version":"v{version}","debug":"Debug","system":"System","help":"Hj\xe6lp","serverDisconnected":"Server afbrudt","serverDisconnectedMsg":"Proxyserveren er blevet stoppet eller genstarter.","expandSidebar":"Udvid sidebj\xe6lken","collapseSidebar":"Skjul sidebj\xe6lken"},"header":{"logout":"Log ud","language":"Sprog","providers":"Udbydere","providerDescription":"Administrer dine AI-udbyderforbindelser","combos":"Combos","comboDescription":"Modelkombinationer med fallback","usage":"Brug & Analytics","usageDescription":"Overv\xe5g dit API-brug, tokenforbrug og anmodningslogfiler","analytics":"Analytics","analyticsDescription":"Diagrammer, tendenser og evalueringsindsigter","cliTools":"CLI v\xe6rkt\xf8jer","cliToolsDescription":"Konfigurer CLI-v\xe6rkt\xf8jer","home":"Hjem","homeDescription":"Velkommen til OmniRoute","endpoint":"Slutpunkt","endpointDescription":"API-endepunktskonfiguration","settings":"Indstillinger","settingsDescription":"Administrer dine pr\xe6ferencer","openaiCompatible":"OpenAI-kompatibel","anthropicCompatible":"Antropisk kompatibel"},"home":{"quickStart":"Hurtig start","quickStartDesc":"Kom i gang i 4 trin. Tilslut udbydere, rutemodeller, overv\xe5g alt.","fullDocs":"Fuld dokumenter","step1Title":"1. Opret API-n\xf8gle","step1Desc":"G\xe5 til <endpoint>Endpoint</endpoint> -> Registrerede n\xf8gler. Generer \xe9n n\xf8gle pr. milj\xf8.","step2Title":"2. Tilslut udbydere","step2Desc":"Tilf\xf8j konti i <providers>Providers</providers>. Underst\xf8tter OAuth, API Key og gratis niveauer.","step3Title":"3. Peg din klient","step3Desc":"Indstil basis-URL til {url} i din IDE- eller API-klient.","step4Title":"4. Overv\xe5g & optimer","step4Desc":"Spor tokens, omkostninger og fejl i <logs>Request Logs</logs> og <analytics>Analytics</analytics>.","providersOverview":"Oversigt over udbydere","configuredOf":"{configured} konfigureret af {total} tilg\xe6ngelige udbydere","noModelsAvailable":"Ingen tilg\xe6ngelige modeller for denne udbyder.","configureFirst":"Konfigurer en forbindelse f\xf8rst i {providers}","configureProvider":"Konfigurer udbyder","modelAvailable":"{count} model tilg\xe6ngelig","modelsAvailable":"{count} modeller tilg\xe6ngelige","connectionsActive":"{count} forbindelse aktiv","connectionsActivePlural":"{count} forbindelser aktive","copyModelName":"Kopi\xe9r modelnavnet","documentation":"Dokumentation","healthMonitor":"Sundhedsmonitor","reportIssue":"Rapport\xe9r problem","activeError":"{active} aktiv \xb7 {errors} fejl","oauthLabel":"OAuth","apiKeyLabel":"API n\xf8gle","requestsShort":"{count} req","providerModelsTitle":"{provider} - Modeller","copiedModel":"Kopieret: {model}","aliasLabel":"alias"},"analytics":{"title":"Analytics","overviewDescription":"Overv\xe5g dine API-brugsm\xf8nstre, tokenforbrug, omkostninger og aktivitetstendenser p\xe5 tv\xe6rs af alle udbydere og modeller.","evalsDescription":"K\xf8r evalueringspakker for at teste og validere dine LLM-endepunkter. Sammenlign modelkvalitet, detekter regressioner og benchmark-forsinkelse.","overview":"Oversigt","evals":"Evals"},"apiManager":{"title":"API n\xf8gler","createKey":"Opret API-n\xf8gle","key":"N\xf8gle","revokeKey":"Tilbagekald n\xf8gle","revokeConfirm":"Er du sikker p\xe5, at du vil tilbagekalde denne API-n\xf8gle?","noKeys":"Ingen API-n\xf8gler endnu","noKeysDesc":"Opret din f\xf8rste API-n\xf8gle til at godkende anmodninger til dit slutpunkt","keyLabel":"N\xf8glem\xe6rke","permissions":"Tilladelser","expiresAt":"Udl\xf8ber","never":"Aldrig","revoke":"Tilbagekald","showKey":"Vis n\xf8gle","hideKey":"Skjul n\xf8gle","copyKey":"Kopi\xe9r API-n\xf8gle","allModels":"Alle modeller","selectedModels":"Udvalgte modeller","readOnly":"Kun l\xe6se","fullAccess":"Fuld adgang","keyManagement":"API n\xf8glestyring","keyManagementDesc":"Opret og administrer API-n\xf8gler til godkendelse af anmodninger til dit slutpunkt","totalKeys":"Totaln\xf8gler","restricted":"Begr\xe6nset","totalRequests":"Samlet antal anmodninger","modelsAvailable":"Modeller tilg\xe6ngelige","registeredKeys":"Registrerede n\xf8gler","keysRegistered":"{count} n\xf8gler registreret","keyRegistered":"{count} n\xf8gle registreret","keysSecurityNote":"Hver n\xf8gle isolerer brugssporing og kan tilbagekaldes uafh\xe6ngigt. N\xf8gler er maskeret efter oprettelse for sikkerhed.","createFirstKey":"Opret din f\xf8rste n\xf8gle","name":"Navn","usage":"Brug","created":"Oprettet","actions":"Handlinger","reqs":"req","neverUsed":"Aldrig brugt","deleteConfirm":"Vil du slette denne API-n\xf8gle?","usageTips":"Brugstips","tipAuth":"Brug API-n\xf8gler i autorisationsoverskriften som b\xe6rer DIN_KEY","tipSecure":"N\xf8gler vises kun \xe9n gang under oprettelsen - gem dem sikkert","tipSeparate":"Opret separate n\xf8gler til forskellige klienter eller milj\xf8er","tipRestrict":"Begr\xe6ns n\xf8gler til specifikke modeller for bedre sikkerhed og omkostningskontrol","keyName":"N\xf8glenavn","keyNamePlaceholder":"f.eks. Produktionsn\xf8gle, Udviklingsn\xf8gle","keyNameDesc":"V\xe6lg et beskrivende navn for at identificere denne n\xf8gles form\xe5l","keyCreated":"API-n\xf8gle oprettet","keyCreatedSuccess":"N\xf8glen blev oprettet!","keyCreatedNote":"Kopi\xe9r og gem denne n\xf8gle nu – den vises ikke igen.","done":"F\xe6rdig","savePermissions":"Gem tilladelser","allowAll":"Tillad alle","restrict":"Begr\xe6ns","allowAllInfo":"Denne n\xf8gle kan f\xe5 adgang til alle tilg\xe6ngelige modeller.","restrictInfo":"Denne n\xf8gle kan f\xe5 adgang til {selected} af {total} modeller.","selected":"{count} valgt","all":"Alle","clear":"Ryd","searchModels":"S\xf8g efter modeller efter navn eller udbyder...","noModelsFound":"Ingen modeller fundet","keyNameRequired":"N\xf8glenavn er p\xe5kr\xe6vet","keyNameTooLong":"N\xf8glenavnet skal v\xe6re p\xe5 h\xf8jst {max} tegn","keyNameInvalid":"N\xf8glenavn kan kun indeholde bogstaver, tal, mellemrum, bindestreger og understregninger","invalidKeyName":"Ugyldigt n\xf8glenavn","failedCreateKey":"Kunne ikke oprette n\xf8gle","failedCreateKeyRetry":"Kunne ikke oprette n\xf8gle. Pr\xf8v venligst igen.","invalidKeyId":"Ugyldigt n\xf8gle-id","failedDeleteKey":"N\xf8glen kunne ikke slettes","failedDeleteKeyRetry":"N\xf8glen kunne ikke slettes. Pr\xf8v venligst igen.","invalidModelsSelection":"Ugyldigt valg af modeller","cannotSelectMoreThanModels":"Kan ikke v\xe6lge mere end {max} modeller","failedUpdatePermissions":"Kunne ikke opdatere tilladelser","failedUpdatePermissionsRetry":"Kunne ikke opdatere tilladelser. Pr\xf8v venligst igen.","unknownProvider":"ukendt","copyMaskedKey":"Kopi\xe9r maskeret n\xf8gle","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Sidste: {date}","editPermissions":"Rediger tilladelser","deleteKey":"Slet n\xf8gle","model":"{count} model","models":"{count} modeller","permissionsTitle":"Tilladelser: {name}","allowAllDesc":"Denne n\xf8gle kan f\xe5 adgang til alle tilg\xe6ngelige modeller.","restrictDesc":"Denne n\xf8gle kan f\xe5 adgang til {selectedCount} af {totalModels} modeller.","selectedCount":"{count} valgt"},"auditLog":{"title":"Revisionslog","searchPlaceholder":"S\xf8gehandlinger...","action":"Handling","actor":"Skuespiller","target":"M\xe5l","ipAddress":"IP-adresse","timestamp":"Tidsstempel","noEntries":"Ingen revisionsposter fundet","filterByAction":"Filtrer efter handling...","filterByActor":"Filtrer efter skuespiller...","filterEntriesAria":"Filtrer revisionslogposter","filterByActionTypeAria":"Filtrer efter handlingstype","filterByActorAria":"Filtrer efter skuespiller","refreshAuditLogAria":"Opdater revisionslog","tableAria":"Revisionslogposter","failedFetchAuditLog":"Kunne ikke hente revisionslog","notAvailable":"—","description":"Administrative handlinger og sikkerhedsh\xe6ndelser","showing":"Viser {count} poster (offset {offset})","previous":"Forrige"},"cliTools":{"title":"CLI v\xe6rkt\xf8jer","noActiveProviders":"Ingen aktive udbydere","noActiveProvidersDesc":"Tilf\xf8j og tilslut udbydere f\xf8rst for at konfigurere CLI-v\xe6rkt\xf8jer.","mapModels":"Kortmodeller","testConnection":"Test forbindelse","connectionStatus":"Forbindelsesstatus","configureEndpoint":"Konfigurer slutpunkt","instructions":"Instruktioner","modelMapping":"Modelkortl\xe6gning","baseUrl":"Basis URL","apiKey":"API n\xf8gle","configured":"Konfigureret","notConfigured":"Ikke konfigureret","notInstalled":"Ikke installeret","custom":"Brugerdefineret","unknown":"Ukendt","lastSavedAt":"Sidst gemt: {date}","never":"Aldrig","justNow":"lige nu","minutesAgoShort":"{count}m siden","hoursAgoShort":"{count}t siden","daysAgoShort":"{count}d siden","monthsAgoShort":"{count}m\xe5ned siden","yearsAgoShort":"{count}\xe5r siden","runtimeCheckFailed":"K\xf8rselskontrol mislykkedes","yourApiKeyPlaceholder":"din-api-n\xf8gle","modelPlaceholder":"udbyder/model-id","configurationSaved":"Konfigurationen blev gemt.","failedToSave":"Konfigurationen kunne ikke gemmes.","noApiKeysCreateOne":"Ingen API-n\xf8gler - Opret en p\xe5 N\xf8gler-siden","defaultOmnirouteKey":"sk_omniroute (standard)","selectModel":"V\xe6lg Model","selectModelForAlias":"V\xe6lg model til {alias}","selectModelForTool":"V\xe6lg model til {tool}","select":"V\xe6lg","clear":"Ryd","comingSoon":"Kommer snart","checkingRuntime":"Kontrollerer k\xf8retidsstatus...","guideOnlyIntegration":"Integration kun til guide (ingen lokal k\xf8rselstid p\xe5kr\xe6vet)","cliRuntimeDetected":"CLI runtime registreret og klar","cliFoundNotRunnable":"CLI fundet, men kan ikke k\xf8res{reason}","cliRuntimeNotDetected":"CLI runtime ikke fundet","binary":"Bin\xe6r","configPath":"Konfigurationssti","configPathShort":"Konfig","failedCheckRuntimeStatus":"K\xf8rselsstatus kunne ikke kontrolleres.","copy":"Kopi\xe9r","copied":"Kopieret","copyConfig":"Kopi\xe9r Config","saveConfig":"Gem konfiguration","selectionSaved":"Valget er gemt","guide":"Vejledning","detected":"Opdaget","notReady":"Ikke klar","active":"Aktiv","inactive":"Inaktiv","startMitm":"Start MITM","stopMitm":"Stop MITM","mitmStarted":"MITM startede med succes!","mitmStopped":"MITM stoppede med succes!","failedStart":"Kunne ikke starte MITM","failedStop":"Kunne ikke stoppe MITM","saveMappings":"Gem kortl\xe6gninger","mappingsSaved":"Kortl\xe6gninger gemt!","failedSaveMappings":"Tilknytningerne kunne ikke gemmes","howItWorks":"S\xe5dan fungerer det:","antigravityHowWorksDesc":"Antigravity sender anmodninger til Googles slutpunkt. MITM opsnapper og omdirigerer dem til OmniRoute.","antigravityStep1":"1. Start MITM for at dirigere anmodninger gennem OmniRoute.","antigravityStep2Prefix":"2. Tilf\xf8j","antigravityStep2Suffix":"til din hosts-fil som 127.0.0.1.","antigravityStep3":"3. \xc5bn Antigravity og anmodninger vil blive fuldf\xf8rt.","sudoPasswordRequiredTitle":"Sudo-adgangskode p\xe5kr\xe6vet","sudoPasswordHint":"Administratoradgangskode er p\xe5kr\xe6vet for at \xe6ndre v\xe6rtsfil- og systemproxyindstillinger.","enterSudoPassword":"Indtast sudo adgangskode","sudoPasswordRequiredError":"Sudo-adgangskode er p\xe5kr\xe6vet.","cancel":"Annuller","confirm":"Bekr\xe6ft","settingsApplied":"Indstillinger blev anvendt!","failedApplySettings":"Indstillingerne kunne ikke anvendes","settingsReset":"Indstillinger blev nulstillet!","failedResetSettings":"Indstillingerne kunne ikke nulstilles","backupRestored":"Backup gendannet!","failedRestore":"Kunne ikke gendanne","checkingCli":"Kontrollerer {tool} CLI...","cliNotRunnable":"{tool} CLI installeret, men kan ikke k\xf8res","cliNotInstalled":"{tool} CLI ikke installeret","cliNotDetected":"{tool} CLI ikke fundet","cliDetectedReady":"{tool} CLI fundet og klar","cliFoundFailedHealthcheck":"{tool} CLI blev fundet, men k\xf8rselssundhedstjek mislykkedes{reason}.","installCliPrompt":"Installer venligst {tool} CLI for at bruge denne funktion.","installCodexPrompt":"Installer venligst Codex CLI for at bruge auto-apply-funktionen.","hide":"Skjul","howToInstall":"S\xe5dan installeres","installationGuide":"Installationsvejledning","platforms":"macOS / Linux / Windows:","afterInstallationRun":"K\xf8r efter installationen","toVerify":"at verificere.","current":"Nuv\xe6rende","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Nulstil til standard","providerModelPlaceholder":"udbyder/model-id","apply":"Ans\xf8g","reset":"Nulstil","manualConfig":"Manuel konfiguration","backups":"Sikkerhedskopier","configBackups":"Konfigurer sikkerhedskopier","noBackupsYet":"Ingen sikkerhedskopier endnu. Sikkerhedskopier oprettes automatisk f\xf8r hver anvendelse eller nulstilling.","restore":"Gendan","backupRestoredReloading":"Backup gendannet! Genindl\xe6ser status...","failedRestoreBackup":"Kunne ikke gendanne backup","applied":"Anvendt!","failed":"Mislykkedes","resetDone":"Nulstil!","omnirouteConfiguredOpenAiCompatible":"OmniRoute er konfigureret som OpenAI-kompatibel udbyder","provider":"Udbyder","model":"Model","providers":"Udbydere","auth":"Auth","noApiKeysAvailable":"Ingen tilg\xe6ngelige API-n\xf8gler","usingDefaultOmniroute":"Bruger standard: sk_omniroute","updateConfig":"Opdater konfiguration","applyConfig":"Anvend Config","noBackupsAvailable":"Ingen tilg\xe6ngelige sikkerhedskopier.","profileSaved":"Profilen \\"{name}\\" er gemt!","failedSaveProfile":"Profilen kunne ikke gemmes","profileActivated":"Profil aktiveret!","failedActivateProfile":"Profilen kunne ikke aktiveres","profiles":"Profiler","savedProfiles":"Gemte profiler","noProfilesYet":"Ingen profiler gemt endnu. Gem den aktuelle konfiguration som en profil nedenfor.","activate":"Aktiver","deleteProfile":"Slet profil","profileNamePlaceholder":"Profilnavn (f.eks. personlig konto)","saveCurrent":"Gem nuv\xe6rende","codexAuthNotePrefix":"Codex bruger","codexAuthNoteMiddle":"med","codexAuthNoteSuffix":"Klik p\xe5 \\"Anvend\\" for at konfigurere automatisk.","claudeManualConfiguration":"Claude CLI - Manuel konfiguration","codexManualConfiguration":"Codex CLI - Manuel konfiguration","droidManualConfiguration":"Factory Droid - Manuel konfiguration","openClawManualConfiguration":"\xc5bn Claw - Manuel konfiguration","clineManualConfiguration":"Cline manuel konfiguration","kiloManualConfiguration":"Kilokode manuel konfiguration","toolDescriptions":{"antigravity":"Google Antigravity IDE med MITM","claude":"Antropisk Claude Code CLI","codex":"OpenAI Codex CLI","droid":"Factory Droid AI Assistant","openclaw":"\xc5bn Claw AI Assistant","cline":"Cline AI Coding Assistant CLI","kilo":"Kilokode AI Assistant CLI","cursor":"Cursor AI Code Editor","continue":"Forts\xe6t AI Assistant"},"guides":{"cursor":{"notes":{"0":"Kr\xe6ver Cursor Pro-konto for at bruge denne funktion.","1":"Mark\xf8ren dirigerer anmodninger gennem sin egen server, s\xe5 lokalt slutpunkt underst\xf8ttes ikke. Aktiver venligst Cloud Endpoint i Indstillinger."},"steps":{"1":{"title":"\xc5bn Indstillinger","desc":"G\xe5 til Indstillinger -> Modeller"},"2":{"title":"Aktiver OpenAI API","desc":"Aktiver muligheden \\"OpenAI API-n\xf8gle\\"."},"3":{"title":"Basis URL"},"4":{"title":"API n\xf8gle"},"5":{"title":"Tilf\xf8j brugerdefineret model","desc":"Klik p\xe5 \\"Vis alle modeller\\" -> \\"Tilf\xf8j brugerdefineret model\\""},"6":{"title":"V\xe6lg Model"}}},"continue":{"steps":{"1":{"title":"\xc5bn Config","desc":"\xc5bn Forts\xe6t konfigurationsfil"},"2":{"title":"API n\xf8gle"},"3":{"title":"V\xe6lg Model"},"4":{"title":"Tilf\xf8j Model Config","desc":"Tilf\xf8j f\xf8lgende konfiguration til dit modelarray:"}}}}},"combos":{"title":"Combos","description":"Skab modelkombinationer med v\xe6gtet routing og fallback-underst\xf8ttelse","createCombo":"Opret Combo","editCombo":"Rediger kombination","deleteCombo":"Slet Combo","noModels":"Ingen modeller","noModelsYet":"Ingen modeller tilf\xf8jet endnu","addModel":"Tilf\xf8j model","addModelToCombo":"Tilf\xf8j Model til Combo","routingStrategy":"Rutestrategi","maxRetries":"Max fors\xf8ger igen","timeout":"Timeout (ms)","healthcheck":"Sundhedstjek","priority":"Prioritet","fallback":"Fallback","roundRobin":"Round Robin","random":"Tilf\xe6ldig","leastLatency":"Mindst latenstid","comboName":"Combo navn","comboNamePlaceholder":"min-kombi","deleteConfirm":"Vil du slette denne kombination?","noCombosYet":"Ingen kombinationer endnu","comboCreated":"Kombinationen blev oprettet","comboUpdated":"Kombinationen blev opdateret","comboDeleted":"Combo slettet","failedCreate":"Kunne ikke oprette kombination","failedUpdate":"Kunne ikke opdatere kombinationen","errorCreating":"Fejl ved oprettelse af kombination","errorUpdating":"Fejl ved opdatering af kombination","errorDeleting":"Fejl ved sletning af kombination","testFailed":"Testanmodning mislykkedes","failedToggle":"Kombinationen kunne ikke skiftes","testResults":"Testresultater — {name}","resolvedBy":"L\xf8st af:","more":"+{count} mere","reqs":"req","success":"succes","proxyConfigured":"Proxy konfigureret","copyComboName":"Kopi\xe9r kombinationsnavnet","enableCombo":"Aktiver kombination","disableCombo":"Deaktiver kombination","testCombo":"Test combo","duplicate":"Duplikat","proxyConfig":"Proxy konfiguration","nameRequired":"Navn er p\xe5kr\xe6vet","nameInvalid":"Kun bogstaver, tal, -, _, / og . tilladt","nameHint":"Bogstaver, tal, -, _, / og . tilladt","priorityDesc":"Sekventiel fallback: pr\xf8ver model 1 f\xf8rst, derefter 2 osv.","weightedDesc":"Fordeler trafik efter v\xe6gtprocent med fallback","roundRobinDesc":"Cirkul\xe6r fordeling: hver anmodning g\xe5r til den n\xe6ste model i rotation","randomDesc":"Ensartet tilf\xe6ldig udv\xe6lgelse, derefter tilbagevenden til de resterende modeller","leastUsedDesc":"V\xe6lger modellen med f\xe6rrest anmodninger, balancerer belastningen over tid","costOptimizedDesc":"Ruter til den billigste model f\xf8rst baseret p\xe5 priser","models":"Modeller","autoBalance":"Auto-balance","advancedSettings":"Avancerede indstillinger","retryDelay":"Forsinkelse af fors\xf8g igen (ms)","concurrencyPerModel":"Samtidighed / Model","queueTimeout":"Timeout for k\xf8 (ms)","advancedHint":"Lad v\xe6re tom for at bruge globale standardindstillinger. Disse tilsides\xe6tter indstillinger for hver udbyder.","moveUp":"Flyt op","moveDown":"Flyt ned","removeModel":"Fjern","saving":"Gemmer...","weighted":"V\xe6gtet","leastUsed":"Mindst brugt","costOpt":"Cost-Opt"},"costs":{"title":"Omkostninger","budget":"Budget","totalCost":"Samlede omkostninger","breakdown":"Omkostningsfordeling","noData":"Ingen omkostningsdata","byModel":"Efter model","byProvider":"Af udbyder"},"endpoint":{"title":"API-endepunkt","available":"Tilg\xe6ngelige endepunkter","cloudProxy":"Cloud proxy","disableConfirm":"Er du sikker p\xe5, at du vil deaktivere cloud-proxy?","baseUrl":"Basis URL","apiKeyLabel":"API n\xf8gle","registeredKeys":"Registrerede n\xf8gler","chatCompletions":"Chatafslutninger","responses":"Svar","listModels":"Liste over modeller","usingCloudProxy":"Brug af Cloud Proxy","usingLocalServer":"Brug af lokal server","machineId":"Maskin-id: {id}...","disableCloud":"Deaktiver Cloud","enableCloud":"Aktiver Cloud","modelsAcrossEndpoints":"{models} modeller p\xe5 tv\xe6rs af {endpoints} slutpunkter","chatDesc":"Streaming og ikke-streaming chat med alle udbydere","embeddings":"Indlejringer","embeddingsDesc":"Tekstindlejringer til s\xf8ge- og RAG-pipelines","imageGeneration":"Billedgenerering","imageDesc":"Generer billeder fra tekstprompter","rerank":"Genranger","rerankDesc":"Genranger dokumenter efter relevans for en foresp\xf8rgsel","audioTranscription":"Lydtransskription","audioTranscriptionDesc":"Transskriber lydfiler til tekst (Whisper)","textToSpeech":"Tekst til tale","textToSpeechDesc":"Konverter tekst til naturligt klingende tale","moderations":"Moderationer","moderationsDesc":"Indholdsmoderering og sikkerhedsklassificering","enableCloudTitle":"Aktiver Cloud Proxy","whatYouGet":"Hvad du f\xe5r","cloudBenefitAccess":"F\xe5 adgang til din API fra hvor som helst i verden","cloudBenefitShare":"Del nemt slutpunkt med dit team","cloudBenefitPorts":"Ingen grund til at \xe5bne porte eller konfigurere firewall","cloudBenefitEdge":"Hurtigt globalt kantnetv\xe6rk","cloudSessionNote":"Cloud beholder din godkendelsessession i 1 dag. Hvis den ikke bruges, slettes den automatisk.","cloudUnstableNote":"Cloud er i \xf8jeblikket ustabil med Claude Code OAuth i nogle tilf\xe6lde.","cloudConnected":"Cloud Proxy tilsluttet!","connectingToCloud":"Opretter forbindelse til skyen...","verifyingConnection":"Bekr\xe6fter forbindelse...","connecting":"Opretter forbindelse...","verifying":"Bekr\xe6fter...","connected":"Forbundet!","disableCloudTitle":"Deaktiver Cloud Proxy","disableWarning":"Alle godkendelsessessioner vil blive slettet fra skyen.","syncingData":"Synkroniserer seneste data...","disablingCloud":"Deaktiverer skyen...","syncing":"Synkroniserer...","disabling":"Deaktiverer...","cloudConnectedVerified":"Cloud Proxy tilsluttet og verificeret!","connectedVerificationPending":"Forbundet — bekr\xe6ftelse afventer","connectedVerificationPendingWithError":"Forbundet — bekr\xe6ftelse afventer: {error}","cloudDisabledSuccess":"Cloud deaktiveret","syncedSuccess":"Synkroniseret med succes","failedDisable":"Skyen kunne ikke deaktiveres","failedEnable":"Skyen kunne ikke aktiveres","cloudRequestTimeout":"Timeout for skyanmodning","cloudRequestFailed":"Cloud-anmodning mislykkedes","cloudWorkerUnreachable":"Kunne ikke n\xe5 cloud worker. S\xf8rg for, at skytjenesten k\xf8rer (npm k\xf8r dev i /cloud).","connectionFailed":"Forbindelsen mislykkedes","syncFailed":"Kunne ikke synkronisere skydata","providerModelsTitle":"{provider} — Modeller","noModelsForProvider":"Ingen tilg\xe6ngelige modeller for denne udbyder.","chat":"Chat","embedding":"Indlejring","image":"Billede","custom":"skik","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":"Kerne-API\'er","categoryMedia":"Medier & Multi-Modal","categoryUtility":"V\xe6rkt\xf8jer & Administration"},"health":{"title":"Systemsundhed","description":"Realtidsoverv\xe5gning af din OmniRoute-instans","healthy":"Sundt","degraded":"Nedbrudt","down":"Ned","uptime":"Oppetid","memory":"Hukommelse","memoryRss":"Hukommelse (RSS)","heap":"Dynge","cpu":"CPU","database":"Database","version":"version","lastCheck":"Sidste kontrol","providerHealth":"Udbyder sundhed","systemMetrics":"System Metrics","tokenHealth":"Token Health","refreshAll":"Opdater alle","checkNow":"Tjek nu","loadingHealth":"Indl\xe6ser sundhedsdata...","failedToLoad":"Kunne ikke indl\xe6se sundhedsdata: {error}","retry":"Pr\xf8v igen","allOperational":"Alle systemer i drift","issuesDetected":"Systemproblemer opdaget","updatedAt":"Opdateret {time}","latency":"Latency","latencyP50":"p50","latencyP95":"s95","latencyP99":"s99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Samlet antal anmodninger","noDataYet":"Ingen data endnu","promptCache":"Sp\xf8rg cache","entries":"Indgange","hitRate":"Hitrate","hitsMisses":"Hits / Misses","signatureCache":"Signatur cache","signatureDefaults":"Standarder","signatureTool":"V\xe6rkt\xf8j","signatureFamily":"Familie","signatureSession":"Session","recovering":"Gendannelse","noCBData":"Ingen str\xf8mafbryderdata tilg\xe6ngelige. Kom med nogle anmodninger f\xf8rst.","providerHealthStatusAria":"Udbyder sundhedsstatus","issuesLabel":"Problemer opdaget","operational":"Operationel","providers":"Udbydere","healthyCount":"{count} sund","nodeVersion":"Node {version}","failures":"{count} fejl","failuresPlural":"{count} fejl","lastFailure":"Sidst","rateLimitStatus":"Prisgr\xe6nsestatus","activeLimiters":"{count} aktiv begr\xe6nser","activeLimitersPlural":"{count} aktive begr\xe6nsere","queued":"I k\xf8","queuedCount":"{count} i k\xf8","running":"l\xf8b","runningCount":"{count} k\xf8rer","ok":"OK","activeLockouts":"Aktive lockouts","resetConfirm":"Nulstille alle afbrydere til sund tilstand? Dette vil rydde alle fejlopt\xe6llinger og gendanne alle udbydere til driftsstatus.","resetAllTitle":"Nulstil alle afbrydere til sund tilstand","resetting":"Nulstiller...","resetAll":"Nulstil alle","until":"Indtil {time}"},"limits":{"title":"Gr\xe6nser og kvoter","rateLimit":"Satsgr\xe6nse","remaining":"Tilbage","requestsPerMinute":"Foresp\xf8rgsler/min","tokensPerMinute":"Poletter/min","dailyLimit":"Daglig gr\xe6nse"},"logs":{"title":"Logs","requestLogs":"Anmod om logs","proxyLogs":"Proxy logs","auditLog":"Revisionslog","console":"Konsol","auditLogDesc":"Administrative handlinger og sikkerhedsh\xe6ndelser","loading":"Indl\xe6ser...","refresh":"Opdater","filterByAction":"Filtrer efter handling...","filterByActor":"Filtrer efter skuespiller...","filterEntriesAria":"Filtrer revisionslogposter","filterByActionTypeAria":"Filtrer efter handlingstype","filterByActorAria":"Filtrer efter skuespiller","refreshAuditLogAria":"Opdater revisionslog","tableAria":"Revisionslogposter","failedFetchAuditLog":"Kunne ikke hente revisionslog","showing":"Viser {count} poster (offset {offset})","search":"S\xf8g","timestamp":"Tidsstempel","action":"Handling","actor":"Skuespiller","target":"M\xe5l","details":"Detaljer","ipAddress":"IP-adresse","notAvailable":"—","noEntries":"Ingen revisionslogposter fundet","previous":"Forrige","next":"N\xe6ste"},"onboarding":{"welcome":"Velkommen","security":"Sikkerhed","test":"Test","ready":"Klar!","setPassword":"Indstil adgangskode","addProvider":"Tilf\xf8j din f\xf8rste udbyder","getStarted":"Kom i gang","skip":"Spring over","skipWizard":"Spring guiden helt over","skipPassword":"Spring adgangskodeops\xe6tning over","skipAndContinue":"Spring over og forts\xe6t","passwordLabel":"Adgangskode","confirmPassword":"Bekr\xe6ft adgangskode","enterPassword":"Indtast adgangskode","confirmPasswordPlaceholder":"Bekr\xe6ft adgangskode","passwordsMismatch":"Adgangskoder stemmer ikke overens","setupComplete":"Ops\xe6tning fuldf\xf8rt!","goToDashboard":"G\xe5 til Dashboard →","welcomeDesc":"OmniRoute er din lokale AI API-proxy. Det dirigerer anmodninger til flere AI-udbydere med belastningsbalancering, failover og brugssporing.","multiProvider":"Multi-udbyder","usageTracking":"Brugssporing","apiKeyMgmt":"API Key Mgmt","securityDesc":"Indstil en adgangskode for at beskytte dit dashboard, eller spring over indtil videre.","providerDesc":"Tilslut din f\xf8rste AI-udbyder. Du kan tilf\xf8je flere senere.","apiKeyRequired":"API-n\xf8gle (p\xe5kr\xe6vet)","customUrlOptional":"Tilpasset webadresse (valgfrit)","testDesc":"Lad os kontrollere, at din udbyderforbindelse fungerer.","runTest":"K\xf8r forbindelsestest","testingConnection":"Tester forbindelse...","connectionSuccessful":"Forbindelsen lykkedes! Din udbyder er klar.","noProviderFound":"Ingen udbyder fundet. Du kan tilf\xf8je en fra dashboardet senere.","testFailed":"Test mislykkedes, men du kan konfigurere dette senere.","couldNotTest":"Kunne ikke teste lige nu. Du kan teste fra dashboardet.","doneDesc":"Du er klar! Din OmniRoute-instans er konfigureret og klar til proxy AI-anmodninger.","yourEndpoint":"Dit slutpunkt:","continue":"Forts\xe6t","retry":"Pr\xf8v igen","failedSetPassword":"Kunne ikke indstille adgangskoden. Pr\xf8v igen.","failedAddProvider":"Kunne ikke tilf\xf8je udbyder. Pr\xf8v igen.","connectionError":"Forbindelsesfejl. Pr\xf8v venligst igen.","provider":"Udbyder"},"providers":{"title":"Udbydere","addProvider":"Tilf\xf8j udbyder","editProvider":"Rediger udbyder","deleteProvider":"Slet udbyder","noProviders":"Ingen udbydere er konfigureret","modelAvailability":"Modeltilg\xe6ngelighed","accounts":"Regnskaber","newAccount":"Ny konto","deleteConfirm":"Er du sikker p\xe5, at du vil slette denne udbyder?","testing":"Tester...","testConnection":"Test forbindelse","testSuccess":"Forbindelsen lykkedes","testFailed":"Forbindelsen mislykkedes","available":"Tilg\xe6ngelig","cooldown":"Nedk\xf8ling","unavailable":"Ikke tilg\xe6ngelig","unknown":"Ukendt","oauthLabel":"OAuth","compatibleLabel":"Kompatibel","chat":"Chat","responses":"Svar","messages":"Beskeder","oauthProviders":"OAuth-udbydere","freeProviders":"Gratis udbydere","apiKeyProviders":"API-n\xf8gleudbydere","compatibleProviders":"API Key-kompatible udbydere","testAll":"Test alle","testAllOAuth":"Test alle OAuth-forbindelser","testAllFree":"Test alle gratis forbindelser","testAllApiKey":"Test alle API-n\xf8gleforbindelser","testAllCompatible":"Test alle kompatible forbindelser","connected":"{count} Forbundet","errorCount":"{count} Fejl ({code})","errorCountNoCode":"{count} Fejl","noConnections":"Ingen forbindelser","disabled":"Deaktiveret","enableProvider":"Aktiver udbyder","disableProvider":"Deaktiver udbyder","testResults":"Testresultater","noCompatibleYet":"Ingen kompatible udbydere tilf\xf8jet endnu","compatibleHint":"Brug knapperne ovenfor til at tilf\xf8je OpenAI- eller Anthropic-kompatible slutpunkter","addOpenAICompatible":"Tilf\xf8j OpenAI-kompatibel","addAnthropicCompatible":"Tilf\xf8j Antropisk kompatibel","addNewProvider":"Tilf\xf8j ny udbyder","backToProviders":"Tilbage til Udbydere","configureNewProvider":"Konfigurer en ny AI-udbyder til brug med dine applikationer.","providerLabel":"Udbyder","selectProvider":"V\xe6lg en udbyder","selectedProvider":"Udvalgt udbyder","authMethod":"Autentificeringsmetode","apiKeyLabel":"API n\xf8gle","apiKeyRequired":"API-n\xf8gle er p\xe5kr\xe6vet","selectProviderRequired":"V\xe6lg venligst en udbyder","enterApiKey":"Indtast din API-n\xf8gle","apiKeySecure":"Din API-n\xf8gle vil blive krypteret og opbevaret sikkert.","oauth2Connect":"Opret forbindelse til OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Tilslut din konto ved hj\xe6lp af OAuth2-godkendelse.","displayName":"Vist navn","displayNamePlaceholder":"f.eks. Production API, Dev Environment","displayNameHint":"Valgfrit. Et venligt navn til at identificere denne konfiguration.","active":"Aktiv","activeDescription":"Aktiver denne udbyder til brug i dine applikationer","cancel":"Annuller","createProvider":"Opret udbyder","failedCreate":"Kunne ikke oprette udbyder","errorOccurred":"Der opstod en fejl. Pr\xf8v venligst igen.","modelStatus":"Modelstatus","allModelsOperational":"Alle modeller i drift","modelsWithIssues":"{count} model(er) med problemer","allModelsNormal":"Alle modeller reagerer normalt.","cooldownCleared":"Nedk\xf8ling ryddet for {model}","failedClearCooldown":"Kunne ikke rydde nedk\xf8ling","loadingAvailability":"Indl\xe6ser modeltilg\xe6ngelighed...","clearCooldown":"Ryd","clearing":"Rydder...","until":"Indtil {time}","providerTestFailed":"Providertest mislykkedes","modeTest":"{mode} Test","passedCount":"{count} best\xe5et","failedCount":"{count} mislykkedes","testedCount":"{count} testet","millisecondsAbbr":"{value}ms","okShort":"OK","errorShort":"FEJL","noActiveConnectionsInGroup":"Der blev ikke fundet nogen aktive forbindelser til denne gruppe.","allTestsPassed":"Alle {total} tests best\xe5et","testSummary":"{passed}/{total} best\xe5et, {failed} mislykkedes","nameLabel":"Navn","prefixLabel":"Pr\xe6fiks","baseUrlLabel":"Basis URL","apiTypeLabel":"API type","prefixHint":"P\xe5kr\xe6vet. Unikt pr\xe6fiks for modelnavne.","nameHint":"P\xe5kr\xe6vet. En venlig etiket til denne node.","baseUrlHint":"P\xe5kr\xe6vet.  Udbyder API base URL.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Bekr\xe6ft forbindelsen","validating":"Validerer...","connectionValid":"Forbindelsen er gyldig!","connectionFailed":"Forbindelsen mislykkedes. Tjek URL og n\xf8gle.","testKeyLabel":"Test API-n\xf8gle","testKeyPlaceholder":"sk-... (kun til validering)","providerNotFound":"Udbyder blev ikke fundet","deleteConnectionConfirm":"Vil du slette denne forbindelse?","failedSetAlias":"Aliaset kunne ikke indstilles","failedSaveConnection":"Forbindelsen kunne ikke gemmes","failedSaveConnectionRetry":"Forbindelsen kunne ikke gemmes. Pr\xf8v venligst igen.","failedRetestConnection":"Forbindelsen kunne ikke gentestes","deleteCompatibleNodeConfirm":"Vil du slette denne {type}-kompatible node?","anthropicCompatibleDetails":"Antropiske kompatible detaljer","openaiCompatibleDetails":"OpenAI-kompatible detaljer","messagesApi":"Beskeder API","responsesApi":"Responses API","chatCompletions":"Chatafslutninger","importingModels":"Importerer...","importFromModels":"Importer fra /models","addConnectionToImport":"Tilf\xf8j en forbindelse for at aktivere import.","noModelsConfigured":"Ingen modeller konfigureret","connectionCount":"{count} forbindelse(r)","fetchingModels":"Henter tilg\xe6ngelige modeller...","failedFetchModels":"Kunne ikke hente modeller","noModelsFound":"Ingen modeller fundet","importFailed":"Import mislykkedes","noNewModelsAdded":"Der blev ikke tilf\xf8jet nye modeller.","adding":"Tilf\xf8jer...","importingModelsTitle":"Import af modeller","copyModel":"Kopi model","removeModel":"Fjern modellen","rateLimitProtected":"Beskyttet","rateLimitUnprotected":"Ubeskyttet","enableRateLimitProtection":"Klik for at aktivere hastighedsgr\xe6nsebeskyttelse","disableRateLimitProtection":"Klik for at deaktivere satsgr\xe6nsebeskyttelse","productionKey":"Produktionsn\xf8gle","enterNewApiKey":"Indtast ny API-n\xf8gle","optional":"Valgfrit","anthropicCompatibleName":"Antropisk kompatibel","openaiCompatibleName":"OpenAI-kompatibel","failedImportModels":"Kunne ikke importere modeller","noModelsReturnedFromEndpoint":"Ingen modeller returneret fra /models slutpunkt.","importingModelsProgress":"Importerer {current} af {total} modeller...","foundModelsStartingImport":"Fundet {count} modeller. Starter import...","importingModelById":"Importerer {modelId}...","importSuccessCount":"{count, plural, one {# model} other {# models}} blev importeret med succes!","noNewModelsAddedExisting":"Ingen nye modeller blev tilf\xf8jet (alle findes allerede).","importDoneCount":"✓ F\xe6rdig! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Der opstod en uventet fejl","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"beskeder","responsesPath":"svar","chatCompletionsPath":"chat/afslutninger","add":"Tilf\xf8j","edit":"Rediger","delete":"Slet","anthropic":"Antropisk","openai":"OpenAI","singleConnectionPerCompatible":"Kun \xe9n forbindelse er tilladt pr. kompatibel node. Tilf\xf8j en anden node, hvis du har brug for flere forbindelser.","connections":"Forbindelser","providerProxyTitleConfigured":"Udbyder proxy: {host}","configured":"konfigureret","providerProxyConfigureHint":"Konfigurer proxy for alle forbindelser fra denne udbyder","providerProxy":"Udbyder proxy","noConnectionsYet":"Ingen forbindelser endnu","addFirstConnectionHint":"Tilf\xf8j din f\xf8rste forbindelse for at komme i gang","addConnection":"Tilf\xf8j forbindelse","availableModels":"Tilg\xe6ngelige modeller","pageAutoRefresh":"Siden opdateres automatisk...","statusDisabled":"deaktiveret","statusConnected":"tilsluttet","statusRuntimeIssue":"runtime problem","statusAuthFailed":"godkendelse mislykkedes","statusRateLimited":"sats begr\xe6nset","statusNetworkIssue":"netv\xe6rksproblem","statusTestUnsupported":"test ikke underst\xf8ttet","statusUnavailable":"ikke tilg\xe6ngelig","statusFailed":"mislykkedes","statusError":"fejl","oauthAccount":"OAuth-konto","errorTypeRuntime":"Lokal k\xf8retid","errorTypeUpstreamAuth":"Opstr\xf8ms auth","errorTypeMissingCredential":"Manglende legitimationsoplysninger","errorTypeRefreshFailed":"Opdatering mislykkedes","errorTypeTokenExpired":"Token er udl\xf8bet","errorTypeRateLimited":"Sats begr\xe6nset","errorTypeUpstreamUnavailable":"Upstream ikke tilg\xe6ngelig","errorTypeNetworkError":"Netv\xe6rksfejl","errorTypeTestUnsupported":"Test underst\xf8ttes ikke","errorTypeUpstreamError":"Opstr\xf8ms fejl","proxySourceGlobal":"Globalt","proxySourceProvider":"Udbyder","proxySourceKey":"N\xf8gle","proxyConfiguredBySource":"Proxy ({source}): {host}","autoPriority":"Auto: {priority}","proxy":"Fuldmagt","retestAuthentication":"Gentest godkendelse","retest":"Gentest","disableConnection":"Deaktiver forbindelse","enableConnection":"Aktiver forbindelse","reauthenticateConnection":"Genautentificer denne forbindelse","proxyConfig":"Proxy konfiguration","aliasExistsAlert":"Aliaset \\"{alias}\\" findes allerede. Brug venligst en anden model, eller rediger eksisterende alias.","openRouterAnyModelHint":"OpenRouter underst\xf8tter enhver model. Tilf\xf8j modeller og opret aliaser for hurtig adgang.","modelIdFromOpenRouter":"Model ID (fra OpenRouter)","openRouterModelPlaceholder":"antropisk/claude-3-opus","customModels":"Brugerdefinerede modeller","customModelsHint":"Tilf\xf8j model-id\'er, der ikke er p\xe5 standardlisten. Disse vil v\xe6re tilg\xe6ngelige for routing.","modelId":"Model ID","customModelPlaceholder":"f.eks. gpt-4.5-turbo","loading":"Indl\xe6ser...","removeCustomModel":"Fjern brugerdefineret model","noCustomModels":"Ingen brugerdefinerede modeller tilf\xf8jet endnu.","allSuggestedAliasesExist":"Alle foresl\xe5ede aliasser findes allerede. V\xe6lg venligst en anden model, eller fjern modstridende aliasser.","failedSaveCustomModel":"Kunne ikke gemme den tilpassede model","modelAddedSuccess":"Model {modelId} blev tilf\xf8jet","failedAddModelTryAgain":"Kunne ikke tilf\xf8je model. Pr\xf8v venligst igen.","failedSaveImportedModel":"Kunne ikke gemme importeret model til brugerdefineret database","failedImportModelsTryAgain":"Kunne ikke importere modeller. Pr\xf8v venligst igen.","failedRemoveModelFromDatabase":"Kunne ikke fjerne modellen fra databasen","modelRemovedSuccess":"Modellen blev fjernet","failedDeleteModelTryAgain":"Modellen kunne ikke slettes. Pr\xf8v venligst igen.","compatibleModelsDescription":"Tilf\xf8j {type}-kompatible modeller manuelt eller importer dem fra /models-slutpunktet.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"API-n\xf8glevalidering mislykkedes. Tjek venligst din n\xf8gle og pr\xf8v igen.","addProviderApiKeyTitle":"Tilf\xf8j {provider} API-n\xf8gle","checking":"Tjekker...","check":"Tjek","valid":"Gyldig","invalid":"Ugyldig","creating":"Opretter...","validationChecksAnthropicCompatible":"Validering kontrollerer {provider} ved at bekr\xe6fte API-n\xf8glen.","validationChecksOpenAiCompatible":"Valideringstjek {provider} via /models p\xe5 din basis-URL.","priorityLabel":"Prioritet","saving":"Gemmer...","save":"Gem","editConnection":"Rediger forbindelse","accountName":"Kontonavn","email":"E-mail","healthCheckMinutes":"Sundhedstjek (min)","healthCheckHint":"Proaktivt token-opdateringsinterval. 0 = deaktiveret.","failedTestConnection":"Forbindelsen kunne ikke testes","failed":"Mislykkedes","leaveBlankKeepCurrentApiKey":"Lad st\xe5 tomt for at beholde den aktuelle API-n\xf8gle.","editCompatibleTitle":"Rediger {type} Kompatibel","compatibleBaseUrlHint":"Brug basis-URL\'en (der slutter p\xe5 /v1) til din {type}-kompatible API.","apiKeyForCheck":"API-n\xf8gle (til check)","compatibleProdPlaceholder":"{type} Kompatibel (Prod)"},"settings":{"title":"Indstillinger","general":"Generelt","security":"Sikkerhed","appearance":"Udseende","routing":"Routing","cache":"Cache","resilience":"Modstandsdygtighed","systemPrompt":"Systemprompt","thinkingBudget":"T\xe6nke budget","proxy":"Fuldmagt","pricing":"Priss\xe6tning","storage":"Opbevaring","policies":"Politikker","ipFilter":"IP-filter","comboDefaults":"Combo standarder","fallbackChains":"Fallback k\xe6der","changePassword":"Skift adgangskode","enablePassword":"Aktiver adgangskode","darkMode":"M\xf8rk tilstand","lightMode":"Lys tilstand","systemTheme":"System tema","enableCache":"Aktiver cache","cacheTTL":"Cache TTL","maxCacheSize":"Max cachest\xf8rrelse","clearCache":"Ryd cache","cacheHits":"Cache hits","cacheMisses":"Cache misses","hitRate":"Hitrate","cacheEntries":"Cache-indtastninger","circuitBreaker":"Str\xf8mafbryder","retryPolicy":"Politik for fors\xf8g igen","maxRetries":"Max fors\xf8ger igen","retryDelay":"Forsink igen","timeoutMs":"Timeout (ms)","enableSystemPrompt":"Aktiver systemprompt","systemPromptText":"Systemprompttekst","enableThinking":"Aktiver t\xe6nkning","maxThinkingTokens":"Max Thinking Tokens","enableProxy":"Aktiver proxy","proxyUrl":"Proxy-URL","pricingRates":"Prisformat","currentPricing":"Aktuel prisoversigt","loadingPricing":"Indl\xe6ser prisdata...","noPricing":"Ingen tilg\xe6ngelige prisdata","input":"Input","output":"Output","cached":"Cachelagret","reasoning":"R\xe6sonnement","cacheCreation":"Oprettelse af cache","customPricing":"Tilpasset prisfasts\xe6ttelse","databaseSize":"Database st\xf8rrelse","backupDb":"Backup database","restoreDb":"Gendan database","exportData":"Eksporter data","importData":"Importer data","clearData":"Ryd alle data","clearDataConfirm":"Dette vil permanent slette alle data. Er du sikker?","enableRequestLogs":"Aktiver anmodningslogfiler","logRetention":"Logopbevaring","ipWhitelist":"IP hvidliste","ipBlacklist":"IP sortliste","addIP":"Tilf\xf8j IP","savedSuccessfully":"Indstillinger blev gemt","ai":"AI","advanced":"Avanceret","localMode":"Lokal tilstand — Alle data gemt p\xe5 din maskine","settingsSectionsAria":"Indstillinger sektioner","switchThemes":"Skift mellem lyse og m\xf8rke temaer","themeSelectionAria":"Valg af tema","themeLight":"Lys","themeDark":"M\xf8rk","themeSystem":"System","hideHealthLogs":"Skjul logs til sundhedstjek","hideHealthLogsDesc":"N\xe5r ON, skal du undertrykke [HealthCheck]-meddelelser i serverkonsollen","promptCache":"Sp\xf8rg cache","flushCache":"Skyl cache","flushing":"Skyller...","size":"St\xf8rrelse","hits":"Hits","evictions":"Uds\xe6ttelser","loadingCacheStats":"Indl\xe6ser cachestatistik...","globalProxy":"Global proxy","globalProxyDesc":"Konfigurer en global udg\xe5ende proxy for alle API-kald. Individuelle udbydere, kombinationer og n\xf8gler kan tilsides\xe6tte dette.","noGlobalProxy":"Ingen global proxy konfigureret","globalLabel":"Globalt","configure":"Konfigurer","globalSystemPrompt":"Global System Prompt","systemPromptDesc":"Injiceret i alle anmodninger p\xe5 proxy-niveau","saved":"Gemt","systemPromptPlaceholder":"Indtast systemprompt for at injicere i alle anmodninger...","systemPromptHint":"Denne prompt er sat foran systemmeddelelsen for hver anmodning. Bruges til globale instruktioner, sikkerhedsretningslinjer eller regler for svarformatering.","chars":"{count} tegn","thinkingBudgetTitle":"T\xe6nke budget","thinkingBudgetDesc":"Kontroller brugen af AI-r\xe6sonnementstoken p\xe5 tv\xe6rs af alle anmodninger","passthrough":"Genneml\xf8b","passthroughDesc":"Ingen \xe6ndringer - klienten styrer t\xe6nkebudgettet","auto":"Auto","autoDesc":"Fjern al t\xe6nkekonfig - lad udbyderen bestemme","custom":"Brugerdefineret","customDesc":"Indstil et fast token-budget for alle anmodninger","adaptive":"Adaptiv","adaptiveDesc":"Skaler budget baseret p\xe5 anmodningens kompleksitet","effortNone":"Ingen (0 tokens)","effortLow":"Lav (1K tokens)","effortMedium":"Medium (10.000 tokens)","effortHigh":"H\xf8j (128K tokens)","tokenBudget":"Token budget","tokens":"tokens","baseEffortLevel":"Basisindsatsniveau","adaptiveHint":"Adaptiv tilstand skaleres fra dette basisniveau baseret p\xe5 antal meddelelser, v\xe6rkt\xf8jsbrug og promptl\xe6ngde.","requireLogin":"Kr\xe6v login","requireLoginDesc":"N\xe5r ON, kr\xe6ver dashboard adgangskode. N\xe5r OFF, adgang uden login.","currentPassword":"Nuv\xe6rende adgangskode","enterCurrentPassword":"Indtast den aktuelle adgangskode","newPassword":"Ny adgangskode","enterNewPassword":"Indtast ny adgangskode","confirmPassword":"Bekr\xe6ft ny adgangskode","confirmPasswordPlaceholder":"Bekr\xe6ft ny adgangskode","passwordsNoMatch":"Adgangskoder stemmer ikke overens","passwordUpdated":"Adgangskoden blev opdateret","failedUpdatePassword":"Kunne ikke opdatere adgangskoden","errorOccurred":"Der opstod en fejl","updatePassword":"Opdater adgangskode","setPassword":"Indstil adgangskode","apiEndpointProtection":"API-endepunktsbeskyttelse","requireAuthModels":"Kr\xe6v API-n\xf8gle til /models","requireAuthModelsDesc":"N\xe5r ON, returnerer /v1/models-slutpunktet 404 for ikke-godkendte anmodninger. Forhindrer modelopdagelse af uautoriserede brugere.","blockedProviders":"Blokerede udbydere","blockedProvidersDesc":"Skjul specifikke udbydere fra /v1/models-svaret. Blokerede udbydere vises ikke i modellister.","providersBlocked":"{count} udbyder(e) blokeret fra /modeller","blockProviderTitle":"Bloker {provider}","unblockProviderTitle":"Fjern blokering af {provider}","routingStrategy":"Rutestrategi","fillFirst":"Fyld f\xf8rst","fillFirstDesc":"Brug konti i prioriteret r\xe6kkef\xf8lge","roundRobin":"Round Robin","roundRobinDesc":"Gennemg\xe5 alle konti","p2c":"P2C","p2cDesc":"V\xe6lg 2 tilf\xe6ldige, brug den sundere","random":"Tilf\xe6ldig","randomDesc":"Tilf\xe6ldig konto hver anmodning","leastUsed":"Mindst brugt","leastUsedDesc":"V\xe6lg den mindst brugte konto","costOpt":"Omkostningsopt","costOptDesc":"Foretr\xe6kker den billigste tilg\xe6ngelige konto","stickyLimit":"Sticky Limit","stickyLimitDesc":"Opkald pr. konto f\xf8r skift","modelAliases":"Model aliaser","modelAliasesDesc":"Wildcard-m\xf8nstre til oml\xe6gning af modelnavne • Brug * og ?","aliasPatternPlaceholder":"claude-sonnet-*","aliasTargetPlaceholder":"claude-sonnet-4-20250514","pattern":"M\xf8nster","targetModel":"M\xe5lmodel","add":"+ Tilf\xf8j","session":"Session","sessionDetailsAria":"Session detaljer","status":"Status","authenticated":"Autentificeret","guest":"G\xe6st","loginTime":"Login tid","sessionAge":"Session Alder","browser":"Browser","clearLocalData":"Ryd lokale data","logout":"Log ud","clearLocalDataConfirm":"Vil du rydde alle lokale data? Dette vil nulstille dine pr\xe6ferencer.","unknown":"Ukendt","systemActor":"system","ipAccessControl":"IP adgangskontrol","ipAccessControlDesc":"Bloker eller tillad specifikke IP-adresser","ipModeDisabled":"Deaktiveret","ipModeBlacklist":"Sortliste","ipModeWhitelist":"Hvidliste","ipModeWhitelistPriority":"WL prioritet","addIpAddress":"Tilf\xf8j IP-adresse","ipAddressPlaceholder":"192.168.1.0/24 eller 10.0.*.*","block":"+ Bloker","allow":"+ Tillad","blocked":"Blokeret ({count})","allowed":"Tilladt ({count})","temporaryBans":"Midlertidige forbud ({count})","minLeft":"{min}m tilbage","auditLog":"Revisionslog","searchAuditLogs":"S\xf8g i revisionslogfiler...","failedLoadAuditLog":"Kunne ikke indl\xe6se revisionslog","noAuditEvents":"Ingen revisionsbegivenheder fundet","action":"Handling","actor":"Skuespiller","details":"Detaljer","time":"Tid","fallbackChainsTitle":"Fallback k\xe6der","fallbackChainsDesc":"Definer udbyderens reserveordre pr. model","addChain":"+ Tilf\xf8j k\xe6de","modelName":"Model navn","modelNamePlaceholder":"claude-sonnet-4-20250514","providersCommaSeparated":"Udbydere (kommasepareret, i prioriteret r\xe6kkef\xf8lge)","providersCommaSeparatedPlaceholder":"antropisk, openai, gemini","createChain":"Opret k\xe6de","noFallbackChains":"Ingen Fallback-k\xe6der","noFallbackChainsDesc":"Opret en k\xe6de for at definere udbyderens reserveordre for en model.","loadingFallbackChains":"Indl\xe6ser reservek\xe6der...","deleteChainConfirm":"Vil du slette reservek\xe6den for \\"{model}\\"?","chainCreated":"K\xe6de oprettet til {model}","chainDeleted":"K\xe6de slettet for {model}","failedCreateChain":"Kunne ikke oprette k\xe6de","failedDeleteChain":"K\xe6den kunne ikke slettes","deleteChain":"Slet k\xe6de","fillModelAndProviders":"Udfyld venligst modelnavn og udbydere","addAtLeastOneProvider":"Tilf\xf8j mindst \xe9n udbyder","comboDefaultsTitle":"Combo standarder","globalComboConfig":"Global combo-konfiguration","defaultStrategy":"Standardstrategi","defaultStrategyDesc":"Anvendt p\xe5 nye kombinationer uden eksplicit strategi","comboStrategyAria":"Kombinationsstrategi","priority":"Prioritet","weighted":"V\xe6gtet","maxRetriesLabel":"Max fors\xf8ger igen","retryDelayLabel":"Forsinkelse af fors\xf8g igen (ms)","timeoutLabel":"Timeout (ms)","healthCheck":"Sundhedstjek","healthCheckDesc":"Forh\xe5ndstjek udbyderens tilg\xe6ngelighed","trackMetrics":"Spor metrics","trackMetricsDesc":"Optag pr-kombinationsanmodningsmetrics","providerOverrides":"Udbydertilsides\xe6ttelser","providerOverridesDesc":"Tilsides\xe6t timeout og genfors\xf8g pr. udbyder. Udbyderindstillinger tilsides\xe6tter globale standardindstillinger.","providerMaxRetriesAria":"{provider} maks. genfors\xf8g","providerTimeoutAria":"{provider} timeout ms","removeProviderOverrideAria":"Fjern {provider} tilsides\xe6ttelse","newProviderNamePlaceholder":"f.eks. google, \xe5ben...","newProviderNameAria":"Nyt udbydernavn","retries":"fors\xf8ger igen","ms":"ms","saveComboDefaults":"Gem Combo-standarder","maxNestingDepth":"Maks. rededybde","concurrencyPerModel":"Samtidighed / Model","queueTimeout":"Timeout for k\xf8 (ms)","providerProfiles":"Udbyder profiler","providerProfilesDesc":"Separate indstillinger for modstandsdygtighed for OAuth (session-baserede) og API Key (m\xe5lte) udbydere. OAuth-udbydere har strengere t\xe6rskler p\xe5 grund af lavere takstgr\xe6nser.","oauthProviders":"OAuth-udbydere","apiKeyProviders":"API-n\xf8gleudbydere","transientCooldown":"Forbig\xe5ende nedk\xf8ling","rateLimitCooldown":"Rate Limit Cooldown","maxBackoffLevel":"Max Backoff Level","cbThreshold":"CB-t\xe6rskel","cbResetTime":"CB-nulstillingstid","rateLimiting":"Satsbegr\xe6nsende","rateLimitingDesc":"API-n\xf8gleudbydere er automatisk hastighedsbegr\xe6nsede med sikre standardindstillinger. Gr\xe6nser l\xe6res fra svaroverskrifter og tilpasses over tid.","defaultSafetyNet":"Standard sikkerhedsnet","rpm":"RPM","minGap":"Min Gap","maxConcurrent":"Max samtidig","activeLimiters":"Aktive begr\xe6nsere","noActiveLimiters":"Ingen aktive hastighedsbegr\xe6nsere endnu.","reservoir":"Reservoir","running":"L\xf8b","queued":"I k\xf8","circuitBreakers":"Str\xf8mafbrydere","breakerStateClosed":"Lukket","breakerStateOpen":"\xc5bn","breakerStateHalfOpen":"Halv\xe5bent","tripped":"{count} udl\xf8ste","healthy":"{count} sund","resetAll":"Nulstil alle","noCircuitBreakers":"Ingen afbrydere aktive endnu. De oprettes automatisk, n\xe5r anmodninger str\xf8mmer gennem den kombinerede pipeline.","failures":"{count} fejl(er)","policiesLocked":"Politikker og l\xe5ste identifikatorer","allOperational":"Alle systemer fungerer - ingen lockouts eller udl\xf8ste afbrydere","loadingPolicies":"Indl\xe6ser politikker...","lockedIdentifiers":"L\xe5ste identifikatorer","unlockedIdentifier":"Ul\xe5st: {identifier}","sinceDate":"siden {date}","forceUnlock":"Tving opl\xe5sning","unlocking":"L\xe5ser op...","failedUnlock":"Kunne ikke l\xe5se op","failedLoadWithStatus":"Kunne ikke indl\xe6se: {status}","failedLoadResilience":"Kunne ikke indl\xe6se modstandsdygtighedsstatus","saveFailed":"Gem mislykkedes","resetFailed":"Nulstilling mislykkedes","loadingResilience":"Indl\xe6ser modstandsdygtighedsstatus...","retry":"Pr\xf8v igen","systemStorage":"System & Opbevaring","allDataLocal":"Alle data gemt lokalt p\xe5 din maskine","databasePath":"Databasesti","exportDatabase":"Eksporter database","exportAll":"Eksporter alle (.tar.gz)","importDatabase":"Importer database","confirmDbImport":"Bekr\xe6ft databaseimport","confirmDbImportDesc":"Dette vil erstatte alle aktuelle data med indholdet fra {file}. Der oprettes automatisk en sikkerhedskopi f\xf8r importen.","yesImport":"Ja, import","lastBackup":"Sidste backup","noBackupYet":"Ingen backup endnu","backupNow":"Sikkerhedskopier nu","backupRestore":"Sikkerhedskopiering og gendannelse","viewBackups":"Se sikkerhedskopier","hide":"Skjul","backupRetentionDesc":"Database-snapshots oprettes automatisk f\xf8r gendannelse og hvert 15. minut, n\xe5r data \xe6ndres. Retention: 24 timer i timen + 30 daglige backups med smart rotation.","loadingBackups":"Indl\xe6ser sikkerhedskopier...","noBackupsYet":"Ingen tilg\xe6ngelige sikkerhedskopier endnu. Sikkerhedskopier oprettes automatisk, n\xe5r data \xe6ndres.","backupsAvailable":"{count} backup(r) tilg\xe6ngelige","refresh":"Opdater","confirm":"bekr\xe6fte?","yes":"Ja","no":"Nej","restore":"Gendan","invalidFileType":"Ugyldig filtype. Kun .sqlite-filer accepteres.","exportFailed":"Eksporten mislykkedes","exportFailedWithError":"Eksport mislykkedes: {error}","fullExportFailedWithError":"Fuld eksport mislykkedes: {error}","backupCreated":"Sikkerhedskopiering oprettet: {file}","restoreSuccess":"Gendannet! {connections} forbindelser, {nodes} noder, {combos} kombinationer, {apiKeys} API n\xf8gler.","importSuccess":"Database importeret! {connections} forbindelser, {nodes} noder, {combos} kombinationer, {apiKeys} API n\xf8gler.","justNow":"lige nu","minutesAgo":"{count}m siden","hoursAgo":"{count}t siden","daysAgo":"{count}d siden","backupReasonManual":"manual","backupReasonPreRestore":"for-gendannelse","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Ingen \xe6ndringer siden sidste backup","backupFailed":"Sikkerhedskopiering mislykkedes","restoreFailed":"Gendannelse mislykkedes","importFailed":"Import mislykkedes","errorDuringRestore":"Der opstod en fejl under gendannelse","errorDuringImport":"Der opstod en fejl under importen","modelPricing":"Modelpriser","modelPricingDesc":"Konfigurer omkostningssatser pr. model • Alle satser i $/1M tokens","providers":"Udbydere","registry":"Register","priced":"Prissat","searchProvidersModels":"S\xf8g efter udbydere eller modeller...","showAll":"Vis alle","noProvidersMatch":"Ingen udbydere matcher din s\xf8gning.","howPricingWorks":"Hvordan priss\xe6tning fungerer","cacheWrite":"Cache skriv","unsaved":"ikke gemt","resetDefaults":"Nulstil standarder","saveProvider":"Gem udbyder","saving":"Gemmer...","model":"Model","models":"modeller","moreProviders":"{count} flere udbydere","withPricing":"med konfigureret priss\xe6tning","policiesCircuitBreakers":"Politikker og str\xf8mafbrydere","activeIssuesDetected":"Aktive problemer registreret","off":"Fra","resetPricingConfirm":"Vil du nulstille alle priser for {provider} til standardindstillingerne?","pricingDescInput":"Input: tokens sendt til modellen","pricingDescOutput":"Output: tokens genereret","pricingDescCached":"Cachelagret: genbrugt input (~50 % af inputhastigheden)","pricingDescReasoning":"Begrundelse: T\xe6nketegn (falder tilbage til output)","pricingDescCacheWrite":"Cacheskrivning: oprettelse af cacheposter (falder tilbage til input)","pricingDescFormula":"Omkostninger = (input \xd7 input_rate) + (output \xd7 output_rate) + (cached \xd7 cached_rate) pr. million tokens.","pricingSettingsTitle":"Prisindstillinger","totalModels":"Totale modeller","active":"Aktiv","costCalculation":"Omkostningsberegning","costCalculationDesc":"Omkostninger beregnes baseret p\xe5 token-forbrug og priss\xe6tningssatser, der er konfigureret for hver model.","pricingFormat":"Prisformat","pricingFormatDesc":"Alle priser er i $/1M tokens (dollars per million tokens).","tokenTypes":"Token typer","inputTokenDesc":"Standard prompt-tokens","outputTokenDesc":"Fuldf\xf8relse/svar-tokens","cachedTokenDesc":"Cachelagrede inputtokens (typisk 50 % af inputhastigheden)","reasoningTokenDesc":"S\xe6rlige r\xe6sonnement/t\xe6nke-tokens (tilbagefald til outputhastighed)","cacheCreationTokenDesc":"Tokens, der bruges til at oprette cacheposter (tilbage til inputhastighed)","customPricingNote":"Du kan tilsides\xe6tte standardpriser for specifikke modeller. Tilpassede tilsides\xe6ttelser har prioritet frem for automatisk registrerede priser.","editPricing":"Rediger priss\xe6tning","viewFullDetails":"Se alle detaljer","modelAliasesTitle":"Model Aliaser","addCustomAlias":"Tilf\xf8j Tilpasset Alias","deprecatedModelId":"For\xe6ldet model-ID","newModelId":"Nyt model-ID","customAliases":"Tilpassede Aliaser","builtInAliases":"Indbyggede Aliaser","backgroundDegradationTitle":"Baggrundsopgave Degradering","backgroundDegradationDesc":"Opdager automatisk baggrundsopgaver (titler, resum\xe9er) og dirigerer til billigere modeller","enableDegradation":"Aktiver Baggrundsdegradation","enableDegradationHint":"N\xe5r aktiveret, dirigeres baggrundsopgaver som titelgenerering og resum\xe9er automatisk til billigere modeller","tasksDetected":"Opgaver opdaget","degradationMap":"Modeldegraderingsschema","premiumModel":"Premium model","cheapModel":"Billig model","detectionPatterns":"Detektionsm\xf8nstre","newPattern":"f.eks. \\"generer en titel\\""},"translator":{"title":"Overs\xe6tter","metaTitle":"Overs\xe6tter Legeplads | OmniRoute","metaDescription":"Debug, test og visualiser API-formatovers\xe6ttelser mellem udbydere","playgroundTitle":"Overs\xe6tter legeplads","playground":"Legeplads","realtime":"Overs\xe6ttelsesaktivitet i realtid","chatTester":"Chat tester","testBench":"Test b\xe6nk","liveMonitor":"Live Monitor","modeDescriptionPlayground":"Inds\xe6t enhver API-anmodningstekst og se, hvordan OmniRoute overs\xe6tter den mellem udbyderformater (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)","modeDescriptionChatTester":"Send rigtige chatanmodninger gennem OmniRoute og inspicer hele rundrejsen: input, oversat anmodning, udbydersvar og oversat output.","modeDescriptionTestBench":"K\xf8r foruddefinerede scenarier og sammenlign kompatibilitet p\xe5 tv\xe6rs af udbydere og modeller.","modeDescriptionLiveMonitor":"Se overs\xe6ttelsesbegivenheder i realtid, mens anmodninger flyder gennem OmniRoute.","modeDescriptionFallback":"Debug, test og visualiser, hvordan OmniRoute overs\xe6tter API-anmodninger mellem udbydere.","recentTranslations":"Nylige overs\xe6ttelser","noTranslations":"Ingen overs\xe6ttelser endnu","source":"Kilde","target":"M\xe5l","time":"Tid","model":"Model","status":"Status","latency":"Latency","totalTranslations":"Samlede overs\xe6ttelser","successful":"Vellykket","errors":"Fejl","avgLatency":"Gns. latens","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Live — Automatisk opdatering","paused":"Pause","eventsAppearHint":"Overs\xe6ttelsesbegivenheder vises her, n\xe5r anmodninger flyder gennem OmniRoute. Brug en af disse metoder til at generere begivenheder:","chatTesterTab":"Fanen Chat Tester","testBenchTab":"Fanen Testb\xe6nk","externalApiCalls":"Eksterne API-kald","ideCliIntegrations":"IDE/CLI integrationer","inMemoryNote":"Bem\xe6rk: H\xe6ndelser gemmes i hukommelsen og nulstilles, n\xe5r serveren genstarter.","ok":"OK","errorShort":"ERR","formatConverter":"Formatkonverter","formatConverterDescription":"Inds\xe6t eller skriv en JSON-anmodningstekst. Overs\xe6tteren vil automatisk registrere kildeformatet og konvertere det til m\xe5lformatet. Brug dette til at fejls\xf8ge, hvordan OmniRoute overs\xe6tter anmodninger mellem formater (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Input","output":"Output","auto":"Auto","swapFormats":"Skift formater","translateAction":"Overs\xe6t","clear":"Ryd","inputPlaceholder":"Inds\xe6t en anmodningstekst her eller v\xe6lg en skabelon nedenfor...","exampleTemplates":"Eksempel skabeloner","exampleTemplatesHint":"— Klik for at indl\xe6se","templateLoadHint":"Skabelonen indl\xe6ser anmodningen i formatet {format}. Skift kildeformat for at indl\xe6se i et andet format.","compatibilityTester":"Kompatibilitetstester","compatibilityReport":"Kompatibilitetsrapport","testBenchDescription":"K\xf8r foruddefinerede scenarier (simpel chat, v\xe6rkt\xf8jsopkald osv.) for at bekr\xe6fte overs\xe6ttelse og udbyderkompatibilitet. V\xe6lg et kildeformat og m\xe5ludbyder, og k\xf8r derefter alle test for at se en kompatibilitetsprocent. Brug dette til at finde ud af, hvilke funktioner der fungerer p\xe5 tv\xe6rs af udbydere.","targetProvider":"M\xe5ludbyder","runAllTests":"K\xf8r alle tests","runTest":"K\xf8r test","reRun":"K\xf8r igen","running":"K\xf8rer...","passed":"best\xe5et","failed":"mislykkedes","passedIconLabel":"✅ Best\xe5et","chunks":"bidder","scenarioSimpleChat":"Simpel chat","scenarioToolCalling":"V\xe6rkt\xf8jsopkald","scenarioMultiTurn":"Multivending","scenarioThinking":"T\xe6nker","scenarioSystemPrompt":"Systemprompt","scenarioStreaming":"Streaming","templateNames":{"simple-chat":"Simpel chat","tool-calling":"V\xe6rkt\xf8jsopkald","multi-turn":"Multivending","thinking":"T\xe6nker","system-prompt":"Systemprompt","streaming":"Streaming"},"templateDescriptions":{"simple-chat":"Grundl\xe6ggende tekstbesked","tool-calling":"Funktion/v\xe6rkt\xf8jskald","multi-turn":"Samtale med historien","thinking":"Udvidet t\xe6nkning/r\xe6sonnement","system-prompt":"Komplekse systeminstruktioner","streaming":"SSE streaming anmodning"},"templatePayloads":{"simpleChat":{"system":"Du er en hj\xe6lpsom assistent.","userGreeting":"Hej! Hvordan har du det i dag?"},"toolCalling":{"userWeather":"Hvordan er vejret i S\xe3o Paulo?","toolDescription":"F\xe5 det aktuelle vejr for en placering","cityNameDescription":"Byens navn"},"multiTurn":{"system":"Du er kodningsassistent.","userInitial":"Skriv en funktion til at sortere et array i Python.","assistantExample":"Her er en simpel sorteringsfunktion:\\n\\n``` python\\ndef sort_array(arr):\\n returner sorteret(arr)\\n```","userFollowUp":"G\xf8r det nu sorteret i faldende r\xe6kkef\xf8lge."},"thinking":{"question":"Hvad er summen af de f\xf8rste 100 primtal?"},"systemPrompt":{"systemInstruction":"Du er senior softwareingeni\xf8r med speciale i distribuerede systemer. Besvar sp\xf8rgsm\xe5l kortfattet ved at bruge industriens bedste praksis. Angiv altid kodeeksempler, n\xe5r det er relevant. Formater dine svar ved hj\xe6lp af markdown.","question":"Hvordan implementerer jeg et afbryderm\xf8nster?"},"streaming":{"prompt":"Fort\xe6l mig en kort historie om en robot, der l\xe6rer at male."}},"openaiCompatibleLabel":"OpenAI-kompatibel","anthropicCompatibleLabel":"Antropisk kompatibel","noTemplateForFormat":"Ingen skabelon til dette format","translationFailed":"Overs\xe6ttelse mislykkedes: {error}","pipelineDebugger":"Pipeline Debugger","translationPipeline":"Overs\xe6ttelsesr\xf8rledning","pipelineVisualization":"Pipeline visualisering","pipelineVisualizationHint":"Send en besked for at se, hvordan din anmodning flyder gennem registrering → overs\xe6ttelse → udbyderopkald.","chatTesterDescription":"Send beskeder som et specifikt klientformat og inspic\xe9r hvert trin i overs\xe6ttelsespipelinen.","chatTesterFlow":"Client Request → Format Detection → OpenAI Intermediate → Provider Format → Response","clickStepToInspect":"Klik p\xe5 et trin for at inspicere dataene p\xe5 det tidspunkt.","clientFormat":"Klientformat","provider":"Udbyder","modelPlaceholder":"V\xe6lg eller skriv et modelnavn...","sendMessageToSeePipeline":"Send en besked for at se overs\xe6ttelsespipeline","chatMessageHintPrefix":"Din besked vil blive formateret som en","chatMessageHintSuffix":"anmodning, oversat gennem pipelinen og sendt til den valgte udbyder.","youWithFormat":"Dig ({format})","assistant":"Assistent","typeMessage":"Skriv en besked...","send":"Send","clientRequest":"Kundeanmodning","clientRequestDescription":"Anmodningslegemet, som din klient ville sende det","formatDetected":"Format fundet","formatDetectedDescription":"OmniRoute registrerer automatisk API-formatet fra anmodningsstrukturen","openaiIntermediate":"OpenAI Intermediate","openaiIntermediateDescription":"Alle formater normaliseres f\xf8rst til OpenAI-format (den universelle bro)","providerFormat":"Udbyder format","providerFormatDescription":"OpenAI-formatet er oversat til udbyderens oprindelige format","providerResponse":"Udbyder svar","providerResponseRawDescription":"Det r\xe5 svar fra udbyderens API","providerResponseSseDescription":"Den r\xe5 SSE-stream fra udbyderens API","unexpectedError":"Der opstod en uventet fejl","error":"Fejl","errorMessage":"Fejl: {message}","requestFailed":"Anmodningen mislykkedes","noTextExtracted":"(Ingen tekst udtrukket)","liveMonitorDescriptionPrefix":"Viser overs\xe6ttelsesbegivenheder, mens API-kald flyder gennem OmniRoute. H\xe6ndelser kommer fra bufferen i hukommelsen (nulstilles ved genstart). Brug","liveMonitorDescriptionSuffix":", eller eksterne API-kald for at generere h\xe6ndelser."},"usage":{"title":"Brug","loggerTab":"Logger","proxyTab":"Fuldmagt","budgetManagement":"Budgetstyring","budgetSaved":"Budgetgr\xe6nser gemt","budgetSaveFailed":"Budgettet kunne ikke gemmes","loadingBudgetData":"Indl\xe6ser budgetdata...","noApiKeysTitle":"Ingen API-n\xf8gler","noApiKeysDescription":"Tilf\xf8j API-n\xf8gler f\xf8rst for at ops\xe6tte budgetgr\xe6nser.","apiKey":"API n\xf8gle","todaysSpend":"Dagens forbrug","thisMonth":"Denne m\xe5ned","setLimits":"S\xe6t gr\xe6nser","dailyLimitUsd":"Daglig gr\xe6nse (USD)","monthlyLimitUsd":"M\xe5nedlig gr\xe6nse (USD)","warningThresholdPercent":"Advarselst\xe6rskel (%)","dailyLimitPlaceholder":"f.eks. 5.00","monthlyLimitPlaceholder":"f.eks. 50,00","warningThresholdPlaceholder":"80","saveLimits":"Gem gr\xe6nser","budgetOk":"Budget OK — {remaining} tilbage","budgetExceeded":"Budget overskredet — anmodninger kan blive blokeret","totalRequests":"Samlet antal anmodninger","noDataYet":"Ingen data endnu","latency":"Latency","latencyP50":"p50","latencyP95":"s95","latencyP99":"s99","promptCache":"Sp\xf8rg cache","systemHealth":"Systemsundhed","entries":"Indgange","activeCount":"{count} aktiv","openCircuitBreakersDetected":"\xc5bne afbrydere registreret","hitRate":"Hitrate","hitsMisses":"Hits / Misses","circuitBreakers":"Str\xf8mafbrydere","lockedIPs":"L\xe5ste IP\'er","lockoutsAutoRefreshHint":"L\xe5se for hastighedsbegr\xe6nsning pr. model • Automatisk opdatering 10s","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} tilbage","howItWorks":"Hvordan det virker","howItWorksSubtitle":"L\xe6r, hvordan evalueringer validerer dine LLM-svar","define":"Definer","defineStepDescription":"Opret testcases med inputprompter og forventede outputkriterier ved hj\xe6lp af strategier som indeholder, regex eller eksakt match.","run":"L\xf8b","runStepDescription":"Udf\xf8r testsager mod dine LLM-endepunkter gennem OmniRoute. Hver sag sendes som en \xe6gte API-anmodning.","evaluate":"Evaluer","evaluateStepDescription":"Svar sammenlignes med forventede kriterier. Se best\xe5et/ikke best\xe5et for hver sag med latency-metrics og detaljeret feedback.","evalSuites":"Evalueringssuiter","evalSuitesHint":"Klik p\xe5 en suite for at se testcases, og k\xf8r derefter for at evaluere dine LLM-endepunkter","evalsLoading":"Indl\xe6ser eval suiter...","noEvalSuitesFound":"Ingen Eval-suiter fundet","noEvalSuitesDescription":"Eval-suiter kan defineres via API\'et eller i kode. De tester modeloutput mod forventede resultater ved hj\xe6lp af strategier som indeholder, regex, eksakt match og brugerdefinerede funktioner.","columnCase":"Sag","columnStatus":"Status","columnLatency":"Latency","columnDetails":"Detaljer","columnModel":"Model","columnStrategy":"Strategi","columnExpected":"Forventet","statsSuites":"Suiter","statsTestCases":"Test Cases","statsModels":"Modeller","statsCoverage":"D\xe6kning","statsStrategiesCount":"{count} strategier","evaluationStrategies":"Evalueringsstrategier","modelsUnderTest":"Modeller under test","searchSuitesPlaceholder":"S\xf8g suiter...","passSuffix":"best\xe5","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"K\xf8r Eval","runningProgress":"K\xf8rer {current}/{total}...","passRate":"best\xe5elsesprocent","summaryBreakdown":"{passed} best\xe5et \xb7 {failed} mislykkedes \xb7 {total} i alt","passedIconLabel":"✅ Best\xe5et","failedIconLabel":"❌ Mislykkedes","detailsContains":"Indeholder: \\"{term}\\"","detailsRegex":"Regex: {pattern}","detailsExpected":"Forventet: \\"{expected}\\"","noResultsYet":"Ingen resultater endnu","testCasesCount":"Testcases ({count})","noTestCasesDefined":"Ingen testcases defineret","runEvalHint":"Klik p\xe5 \\"Run Eval\\" for at udf\xf8re alle sager mod dit LLM-slutpunkt. Hver test sender en reel anmodning gennem OmniRoute.","notifyNoTestCases":"Ingen testcases defineret for denne suite","notifyAllCasesPassed":"Alle {total} sager best\xe5et ✅","notifySomeCasesFailed":"{passed}/{total} best\xe5et, {failed} mislykkedes","notifyEvalRunFailed":"Evalk\xf8rsel mislykkedes","notifyEvalTitle":"Eval: {name}","modelEvals":"Modelvurderinger","evalsHeroDescription":"Test og valider dine LLM-endepunkter ved at k\xf8re foruddefinerede evalueringspakker. Hver suite indeholder testcases, der sender reelle prompter gennem OmniRoute og sammenligner svar med forventede kriterier - hj\xe6lper dig med at opdage regression, sammenligne modeller og sikre svarkvalitet p\xe5 tv\xe6rs af udbydere.","qualityValidation":"Kvalitetsvalidering","modelComparison":"Model sammenligning","regressionDetection":"Regression detektion","latencyBenchmarks":"Latency Benchmarks","modelLockouts":"Model Lockouts","noLockouts":"Ingen modeller er l\xe5st i \xf8jeblikket","activeSessions":"Aktive sessioner","noSessions":"Ingen aktive sessioner","sessionsHint":"Sessioner vises, n\xe5r anmodninger str\xf8mmer gennem proxyen","sessionsTrackedHint":"Spores via anmodning om fingeraftryk • Automatisk opdatering 5s","session":"Session","age":"Alder","requests":"Foresp\xf8rgsler","connection":"Forbindelse","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Udbydergr\xe6nser","noProviders":"Ingen udbydere tilsluttet","connectProvidersForQuota":"Opret forbindelse til udbydere med OAuth for at spore dine API-kvotegr\xe6nser og brug.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(filtreret fra {count})","autoRefresh":"Automatisk opdatering","refreshAll":"Opdater alle","loadingQuotas":"Indl\xe6ser...","account":"Konto","modelQuotas":"Modelkvoter","lastUsed":"Sidst brugt","actions":"Handlinger","refreshQuota":"Opdater 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 udbyderen","noQuotaData":"Ingen kvotedata","noQuotaDataAvailable":"Ingen tilg\xe6ngelige kvotedata","noAccountsForTierFilter":"Der blev ikke fundet nogen konti til niveaufilter","tierAll":"Alle","tierEnterprise":"Enterprise","tierTeam":"Team","tierBusiness":"Forretning","tierUltra":"Ultra","tierPro":"Pro","tierPlus":"Plus","tierFree":"Gratis","tierUnknown":"Ukendt"},"modals":{"waitingAuth":"Venter p\xe5 autorisation","verificationUrl":"Bekr\xe6ftelses-URL","yourCode":"Din kode","remoteAccess":"Fjernadgang:","connectedSuccess":"Forbundet med succes!","connectionFailed":"Forbindelse mislykkedes","chooseAuthMethod":"V\xe6lg din godkendelsesmetode:","awsBuilderId":"AWS Builder ID","awsIamIdentity":"AWS IAM Identity Center","googleAccount":"Google-konto","githubAccount":"GitHub-konto","importToken":"Importer token","pasteToken":"Inds\xe6t opdateringstoken fra Kiro IDE.","awsRegion":"AWS-regionen","autoDetecting":"Automatisk registrering af tokens...","readingFromCache":"L\xe6ser fra AWS SSO-cache","readingFromCursor":"L\xe6sning fra Cursor IDE-database","initializing":"Initialiserer...","pricingConfig":"Priskonfiguration","loadingPricing":"Indl\xe6ser prisdata...","pricingRatesFormat":"Prisformat","noPricingData":"Ingen tilg\xe6ngelige prisdata","noModelsFound":"Ingen modeller fundet"},"loggers":{"allProviders":"Alle udbydere","allModels":"Alle modeller","allAccounts":"Alle konti","allApiKeys":"Alle API-n\xf8gler","allTypes":"Alle typer","allLevels":"Alle niveauer","modelAZ":"Model A-Z","modelZA":"Model Z-A","loadingLogs":"Indl\xe6ser logfiler...","loadingProxyLogs":"Indl\xe6ser proxylogfiler...","noLogEntries":"Ingen logposter fundet","noPayloadData":"Ingen nyttelastdata tilg\xe6ngelige for denne logpost.","proxyEvent":"Proxy begivenhed","proxy":"Fuldmagt","level":"Niveau","directNative":"Direkte (native)","combo":"Combo","inputTokens":"jeg:","outputTokens":"O:"},"stats":{"usageOverview":"Brugsoversigt","outputTokens":"Output tokens","totalCost":"Samlede omkostninger","usageByModel":"Brug efter model","usageByAccount":"Brug efter konto","failedToLoad":"Kunne ikke indl\xe6se brugsstatistikker.","tokenHealth":"Token Health","totalOAuth":"Samlet OAuth","healthy":"Sundt","warning":"Advarsel","errored":"Fejl","lastCheck":"Sidste kontrol","noData":"Ingen data","share":"Del","unableToLoad":"Systemmetrics kunne ikke indl\xe6ses","product":"Produkt","resources":"Ressourcer","company":"Selskab"},"auth":{"welcome":"Velkommen","signIn":"Log ind","enterPassword":"Indtast din adgangskode for at forts\xe6tte","password":"Adgangskode","unifiedProxy":"Unified AI API Proxy","unifiedAiApiProxy":"Unified AI API Proxy","unifiedAiApiProxyDesc":"Rut anmodninger til flere AI-udbydere gennem et enkelt slutpunkt. Belastningsbalancering, failover og brugssporing indbygget.","passwordNotEnabled":"Adgangskodebeskyttelse er ikke aktiveret","loading":"Indl\xe6ser...","invalidPassword":"Ugyldig adgangskode","errorOccurredRetry":"Der opstod en fejl. Pr\xf8v venligst igen.","configureInstance":"Lad os f\xe5 konfigureret din OmniRoute-instans","runOnboardingWizard":"K\xf8r onboarding-guiden for at konfigurere din adgangskode og oprette forbindelse til din f\xf8rste AI-udbyder.","startOnboarding":"Start Onboarding","secureYourInstance":"Sikre din instans","setPasswordDescription":"Indstil en adgangskode for at beskytte dit dashboard og sikre dine API-endepunkter mod uautoriseret adgang.","configurePassword":"Konfigurer adgangskode","continue":"Forts\xe6t","windowWillClose":"Dette vindue lukkes automatisk...","closeTabNow":"Du kan lukke denne fane nu.","copyUrlManual":"Kopier venligst URL\'en fra adresselinjen og inds\xe6t den i applikationen.","accessDeniedDescription":"Du har ikke tilladelse til at f\xe5 adgang til denne ressource. Tjek din API-n\xf8gle, eller kontakt administratoren.","goToDashboard":"G\xe5 til Dashboard","featureMultiProviderTitle":"Multi-udbyder","featureMultiProviderDesc":"OpenAI, Anthropic, Google og mere","featureLoadBalancingTitle":"Lastbalancering","featureLoadBalancingDesc":"Fordel anmodninger intelligent","featureUsageTrackingTitle":"Brugssporing","featureUsageTrackingDesc":"Overv\xe5g omkostninger og tokens","resetPassword":"Nulstil adgangskode","resetDescription":"V\xe6lg en metode til at gendanne adgangen til dit dashboard","stopServer":"Stop OmniRoute-serveren","processing":"Behandler...","pleaseWait":"Vent venligst, mens vi fuldf\xf8rer godkendelsen.","authSuccess":"Godkendelse lykkedes!","copyUrl":"Kopi\xe9r denne URL","accessDenied":"Adgang n\xe6gtet","methodCliTitle":"Metode 1: CLI-nulstilling","methodCliDescription":"K\xf8r f\xf8lgende kommando p\xe5 serveren, hvor OmniRoute k\xf8rer:","methodCliHint":"Dette vil bede dig om at indstille en ny adgangskode. Serveren skal stoppes f\xf8rst.","methodManualTitle":"Metode 2: Manuel nulstilling","methodManualDescription":"Slet adgangskoden fra databasen og indstil en ny ved opstart:","setPasswordInYour":"Indstil en ny adgangskode i din","fileLabelSuffix":"fil:","newPasswordPlaceholder":"dit_nye_adgangskode","deleteSettingsFile":"Slet","orRemovePasswordHashField":"eller fjern feltet passwordHash","restartServerWithNewPassword":"Genstart serveren - den vil bruge den nye adgangskode","backToLogin":"Tilbage til Login","forgotPassword":"Glemt adgangskode?"},"landing":{"brandName":"OmniRoute","navigateHome":"Naviger til hjem","toggleMenu":"Skift menu","featuresLink":"Funktioner","docsLink":"Dokumenter","github":"GitHub","versionLive":"v1.0 er nu live","oneEndpoint":"Et slutpunkt til","allProviders":"Alle AI-udbydere","heroDescription":"AI-slutpunktsproxy med web-dashboard - En JavaScript-port af CLIProxyAPI. Fungerer problemfrit med Claude Code, OpenAI Codex, Cline, RooCode og andre CLI-v\xe6rkt\xf8jer.","getStarted":"Kom i gang","viewOnGithub":"Se p\xe5 GitHub","powerfulFeatures":"Kraftige funktioner","featuresSubtitle":"Alt hvad du beh\xf8ver for at administrere din AI-infrastruktur p\xe5 \xe9t sted, bygget til skala.","featureUnifiedEndpointTitle":"Unified Endpoint","featureUnifiedEndpointDesc":"F\xe5 adgang til alle udbydere via en enkelt standard API-URL.","featureEasySetupTitle":"Nem ops\xe6tning","featureEasySetupDesc":"Kom i gang p\xe5 f\xe5 minutter med npx-kommandoen.","featureModelFallbackTitle":"Model Fallback","featureModelFallbackDesc":"Skift automatisk udbyder ved fejl eller h\xf8j latenstid.","featureUsageTrackingTitle":"Brugssporing","featureUsageTrackingDesc":"Detaljerede analyser og omkostningsoverv\xe5gning p\xe5 tv\xe6rs af alle modeller.","featureOAuthApiKeysTitle":"OAuth- og API-n\xf8gler","featureOAuthApiKeysDesc":"Administrer legitimationsoplysninger sikkert i \xe9n boks.","featureCloudSyncTitle":"Cloud Sync","featureCloudSyncDesc":"Synkroniser dine konfigurationer p\xe5 tv\xe6rs af enheder med det samme.","featureCliSupportTitle":"CLI support","featureCliSupportDesc":"Fungerer med Claude Code, Codex, Cline, Cursor og mere.","featureDashboardTitle":"Dashboard","featureDashboardDesc":"Visuelt dashboard til trafikanalyse i realtid.","howItWorks":"S\xe5dan fungerer OmniRoute","howItWorksDescription":"Data flyder problemfrit fra din applikation gennem vores intelligente routing-lag til den bedste udbyder til jobbet.","howItWorksStep1Title":"1. CLI & SDK\'er","howItWorksStep1Description":"Dine anmodninger starter fra dine yndlingsv\xe6rkt\xf8jer eller vores forenede SDK. Skift blot den grundl\xe6ggende URL.","howItWorksStep2Title":"2. OmniRoute Hub","howItWorksStep2Description":"Vores motor analyserer prompten, tjekker udbyderens helbred og ruter for laveste latenstid eller omkostninger.","howItWorksStep3Title":"3. AI-udbydere","howItWorksStep3Description":"Anmodningen opfyldes af OpenAI, Anthropic, Gemini eller andre \xf8jeblikkeligt.","getStartedIn30Seconds":"Kom i gang p\xe5 30 sekunder","getStartedDescription":"Installer OmniRoute, konfigurer dine udbydere via web-dashboard, og begynd at dirigere AI-anmodninger.","installOmniRoute":"Installer OmniRoute","installStepDescription":"K\xf8r npx-kommandoen for at starte serveren med det samme","openDashboard":"\xc5bn Dashboard","openDashboardStepDescription":"Konfigurer udbydere og API-n\xf8gler via webgr\xe6nseflade","routeRequests":"Ruteanmodninger","routeRequestsStepDescription":"Ret dine CLI-v\xe6rkt\xf8jer til {endpoint}","terminal":"terminal","copy":"Kopi\xe9r","copied":"✓ Kopieret","startingOmniRoute":"Starter OmniRoute...","serverRunningOnLabel":"Server k\xf8rer p\xe5","dashboardLabel":"Dashboard","readyToRoute":"Klar til rute! ✓","configureProvidersNote":"\uD83D\uDCDD Konfigurer udbydere i dashboard eller brug milj\xf8variabler","dataLocation":"Dataplacering:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Windows:","product":"Produkt","dashboardLink":"Dashboard","changelog":"\xc6ndringslog","resources":"Ressourcer","documentation":"Dokumentation","npm":"NPM","legal":"Juridisk","mitLicense":"MIT-licens","footerTagline":"Det forenede slutpunkt for AI-generering. Forbind, diriger og administrer dine AI-udbydere med lethed.","copyright":"\xa9 {year} OmniRoute. Alle rettigheder forbeholdes.","flowToolClaudeCode":"Claude kode","flowToolOpenAICodex":"OpenAI Codex","flowToolCline":"Cline","flowToolCursor":"Mark\xf8r","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Antropisk","flowProviderGemini":"Tvillingerne","flowProviderGithubCopilot":"GitHub Copilot","interactiveDiagram":"Interaktivt diagram synligt p\xe5 skrivebordet","ctaTitle":"Klar til at forenkle din AI-infrastruktur?","ctaDescription":"Slut dig til udviklere, der str\xf8mliner deres AI-integrationer med OmniRoute. Open source og gratis at starte.","startFree":"Start gratis","readDocumentation":"L\xe6s dokumentation"},"docs":{"title":"Dokumentation","quickStart":"Hurtig start","features":"Funktioner","supportedProviders":"Underst\xf8ttede udbydere","supportedProvidersToc":"Udbydere","commonUseCases":"Almindelige anvendelsestilf\xe6lde","clientCompatibility":"Klientkompatibilitet","apiReference":"API-reference","method":"Metode","path":"Sti","notes":"Noter","modelPrefixes":"Modelpr\xe6fikser","prefix":"Pr\xe6fiks","troubleshooting":"Fejlfinding","supportsChat":"Underst\xf8tter b\xe5de chat- og svarendepunkter.","oauthAutoRefresh":"OAuth-forbindelse med automatisk token-opdatering.","fullStreaming":"Fuld streaming support til alle modeller.","docsLabel":"Dokumenter","docsHeroDescription":"AI-gateway til LLM\'er med flere udbydere. \xc9t endepunkt for OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor og mere end 20 udbydere.","openDashboard":"\xc5bn Dashboard","endpointPage":"Slutpunktside","github":"GitHub","reportIssue":"Rapport\xe9r problem","onThisPage":"P\xe5 denne side","documentationVersion":"Dokumentation - v{version}","quickStartStep1Title":"1. Installer og k\xf8r","quickStartStep1Prefix":"L\xf8b","quickStartStep1Middle":"eller klon fra GitHub og k\xf8r","quickStartStep2Title":"2. Opret API-n\xf8gle","quickStartStep2Text":"G\xe5 til Slutpunkt -> Registrerede n\xf8gler. Generer \xe9n n\xf8gle pr. milj\xf8.","quickStartStep3Title":"3. Tilslut udbydere","quickStartStep3Text":"Tilf\xf8j udbyderkonti via OAuth-login, API-n\xf8gle eller automatisk forbindelse med frit niveau.","quickStartStep4Title":"4. Indstil klientbase-URL","quickStartStep4Prefix":"Peg din IDE- eller API-klient til","quickStartStep4Suffix":"Brug for eksempel udbyderpr\xe6fiks","featureRoutingTitle":"Multi-Provider Routing","featureRoutingText":"Rut anmodninger til 30+ AI-udbydere gennem et enkelt OpenAI-kompatibelt slutpunkt. Underst\xf8tter chat, svar, lyd og billed-API\'er.","featureCombosTitle":"Kombinationer og balancering","featureCombosText":"Opret modelkombinationer med fallback-k\xe6der og balanceringsstrategier: round-robin, prioritet, tilf\xe6ldig, mindst brugt og omkostningsoptimeret.","featureUsageTitle":"Brug og omkostningssporing","featureUsageText":"Tokenopt\xe6lling i realtid, omkostningsberegning pr. udbyder/model og detaljeret forbrugsopdeling efter API-n\xf8gle og konto.","featureAnalyticsTitle":"Analytics Dashboard","featureAnalyticsText":"Visuel analyse med diagrammer for anmodninger, tokens, fejl, latens, omkostninger og modelpopularitet over tid.","featureHealthTitle":"Sundhedsoverv\xe5gning","featureHealthText":"Live-sundhedstjek, udbyderstatus, str\xf8mafbrydertilstande og automatisk hastighedsgr\xe6nsedetektering med eksponentiel backoff.","featureCliTitle":"CLI v\xe6rkt\xf8jer","featureCliText":"Administrer IDE-konfigurationer, eksporter/import\xe9r sikkerhedskopier, find codex-profiler og konfigurer indstillinger fra dashboardet.","featureSecurityTitle":"Sikkerhed og politikker","featureSecurityText":"API-n\xf8glegodkendelse, IP-filtrering, promptindspr\xf8jtningsbeskyttelse, dom\xe6nepolitikker, sessionsstyring og revisionslogning.","featureCloudSyncTitle":"Cloud Sync","featureCloudSyncText":"Synkroniser din konfiguration med Cloudflare Workers for fjernadgang med krypterede legitimationsoplysninger og automatisk failover.","providersAcrossConnectionTypes":"{count} udbydere p\xe5 tv\xe6rs af tre forbindelsestyper.","manageProviders":"Administrer udbydere","providersCount":"{count} udbydere","providerTypeFree":"Gratis niveau","providerTypeOAuth":"OAuth","providerTypeApiKey":"API n\xf8gle","useCaseSingleEndpointTitle":"Enkelt slutpunkt for mange udbydere","useCaseSingleEndpointText":"Peg klienter til \xe9n basis-URL og rute efter modelpr\xe6fiks (for eksempel: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Fallback og modelskift med kombinationer","useCaseFallbackText":"Opret kombinationsmodeller i Dashboard, og hold klientkonfigurationen stabil, mens udbyderne roterer internt.","useCaseUsageVisibilityTitle":"Brug, omkostninger og fejlfindingssynlighed","useCaseUsageVisibilityText":"Spor tokens og omkostninger efter udbyder, konto og API-n\xf8gle p\xe5 fanerne Brug og Analytics.","clientCherryStudioTitle":"Cherry Studio","baseUrlLabel":"Basis URL","chatEndpointLabel":"Chat slutpunkt","modelRecommendationLabel":"Modelanbefaling: eksplicit pr\xe6fiks","clientCodexTitle":"Codex / GitHub Copilot-modeller","clientCodexBullet1":"Brug model-id\'er med","clientCodexBullet2":"Codex-familiemodeller dirigeres automatisk til","clientCodexBullet3":"Ikke-Codex-modeller forts\xe6tter","clientCursorTitle":"Mark\xf8r IDE","clientCursorBullet1":"Brug","clientCursorBullet1Suffix":"pr\xe6fiks for Cursor-modeller.","clientCursorBullet2":"OAuth-forbindelse - log p\xe5 fra siden Udbydere.","clientClaudeTitle":"Claude Code / Antigravity","clientClaudeBullet1Prefix":"Brug","clientClaudeBullet1Middle":"(Claude) eller","clientClaudeBullet1Suffix":"(antityngdekraft) pr\xe6fiks.","endpointChatNote":"OpenAI-kompatibelt chatslutpunkt (standard).","endpointResponsesNote":"Responses API-endepunkt (Codex, o-serien).","endpointModelsNote":"Modelkatalog for alle tilsluttede udbydere.","endpointAudioNote":"Lydtransskription (Deepgram, AssemblyAI).","endpointImagesNote":"Billedgenerering (NanoBanana).","endpointRewriteChatNote":"Omskrivehj\xe6lper til klienter uden /v1.","endpointRewriteResponsesNote":"Omskriv hj\xe6lper til svar uden /v1.","endpointRewriteModelsNote":"Omskrivningshj\xe6lper til modelopdagelse uden /v1.","modelPrefixesDescriptionStart":"Brug udbyderpr\xe6fikset f\xf8r modelnavnet for at rute til en bestemt udbyder. Eksempel:","modelPrefixesDescriptionEnd":"ruter til GitHub Copilot.","provider":"Udbyder","type":"Type","troubleshootingModelRouting":"Hvis klienten fejler med modelrouting, skal du bruge eksplicit udbyder/model (for eksempel: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Hvis du modtager tvetydige modelfejl, skal du v\xe6lge et udbyderpr\xe6fiks i stedet for et blottet model-id.","troubleshootingCodexFamily":"For GitHub Codex-familiemodeller skal du beholde modellen som gh/<codex-model>; routeren v\xe6lger /svar automatisk.","troubleshootingTestConnection":"Brug Dashboard > Udbydere > Test forbindelse, f\xf8r du tester fra IDE\'er eller eksterne klienter.","troubleshootingCircuitBreaker":"Hvis en udbyder viser en afbryder \xe5ben, skal du vente p\xe5 nedk\xf8ling eller tjekke Health-siden for detaljer.","troubleshootingOAuth":"For OAuth-udbydere skal du godkende igen, hvis tokens udl\xf8ber. Tjek udbyderkortets statusindikator."},"legal":{"privacyPolicy":"Privatlivspolitik","termsOfService":"Servicevilk\xe5r","providerConfigurations":"Udbyder konfigurationer","apiKeys":"API n\xf8gler","usageLogs":"Brugslogs","applicationSettings":"Applikationsindstillinger","viewExportAnalytics":"Se og eksporter brugsanalyse","clearHistory":"Ryd brugshistorik til enhver tid","configureRetention":"Konfigurer logopbevaringspolitikker","backupRestore":"Sikkerhedskopier og gendan din database","privacyMetadataTitle":"Privatlivspolitik | OmniRoute","privacyMetadataDescription":"Privatlivspolitik for OmniRoute AI API proxy-routeren.","termsMetadataTitle":"Servicevilk\xe5r | OmniRoute","termsMetadataDescription":"Servicevilk\xe5r for OmniRoute AI API proxy-routeren.","backToHome":"Tilbage til hjemmet","lastUpdated":"Sidst opdateret: {date}","policyLastUpdatedDate":"13. februar 2026","listSeparator":"-","questionsVisit":"Sp\xf8rgsm\xe5l? Bes\xf8g vores","githubRepository":"GitHub-depot","privacySection1Title":"1. Lokal-f\xf8rste arkitektur","privacySection1Text":"OmniRoute er designet som en lokal-f\xf8rst-applikation. Al databehandling og lagring foreg\xe5r udelukkende p\xe5 din maskine. Der er ingen centraliseret server, der indsamler dine oplysninger.","privacySection2Title":"2. Data vi gemmer","privacyDataStoredIn":"F\xf8lgende data gemmes lokalt i","privacyDataProviderConfigurationsDesc":"forbindelses-URL\'er, udbydertyper og prioritetsindstillinger","privacyDataApiKeysDesc":"krypteret og gemt lokalt til godkendelse hos AI-udbydere","privacyDataUsageLogsDesc":"antal anmodninger, tokenbrug, modelnavne, tidsstempler og svartider","privacyDataApplicationSettingsDesc":"temapr\xe6ferencer, routingstrategi og kombinationskonfigurationer","privacySection3Title":"3. Ingen telemetri","privacySection3Text":"OmniRoute indsamler ikke telemetri, analyser eller nedbrudsrapporter. Der sendes ingen data til os eller nogen tredjepart. Dine brugsm\xf8nstre, API-kald og konfigurationer forbliver helt private.","privacySection4Title":"4. Tredjeparts AI-udbydere","privacySection4Text":"N\xe5r du foretager API-kald gennem OmniRoute, videresendes dine anmodninger til de AI-udbydere, du har konfigureret (for eksempel: OpenAI, Anthropic, Google). Disse udbydere har deres egne privatlivspolitikker, der styrer, hvordan de h\xe5ndterer dine data. Gennemg\xe5 venligst:","privacyOpenAiPolicy":"OpenAI Privatlivspolitik","privacyAnthropicPolicy":"Antropisk privatlivspolitik","privacyGooglePolicy":"Googles privatlivspolitik","privacySection5Title":"5. Cloud Sync (valgfrit)","privacySection5Text":"Hvis du aktiverer den valgfri cloud-synkroniseringsfunktion, kan udbyderkonfigurationer og API-n\xf8gler overf\xf8res til et konfigureret cloud-slutpunkt. Denne funktion er deaktiveret som standard og kr\xe6ver eksplicit opt-in.","privacySection6Title":"6. Logning","privacyLoggingIntro":"Anmodningslogfiler kan konfigureres via dashboardindstillingerne. Du kan:","privacySection7Title":"7. Dine rettigheder","privacySection7TextStart":"Da alle data er gemt lokalt, har du fuld kontrol. Du kan til enhver tid slette dine data ved at fjerne","privacySection7TextEnd":"bibliotek eller ved hj\xe6lp af databasesikkerhedskopierings- og gendannelsesfunktionerne i dashboardet.","termsSection1Title":"1. Oversigt","termsSection1Text":"OmniRoute er en lokal-f\xf8rste AI API proxy-router, der fungerer udelukkende p\xe5 din maskine. Det dirigerer anmodninger til flere AI-udbydere med belastningsbalancering, failover og brugssporing.","termsSection2Title":"2. Brugeransvar","termsResponsibilityApiKeys":"Du er alene ansvarlig for at administrere dine egne API-n\xf8gler og legitimationsoplysninger for tredjeparts AI-udbydere (OpenAI, Anthropic, Google osv.).","termsResponsibilityCompliance":"Du skal overholde servicevilk\xe5rene for hver AI-udbyder, hvis API du tilg\xe5r via OmniRoute.","termsResponsibilitySecurity":"Du er ansvarlig for sikkerheden af ​​din lokale OmniRoute-installation, herunder indstilling af en adgangskode og begr\xe6nsning af netv\xe6rksadgang.","termsSection3Title":"3. Hvordan det virker","termsSection3Text":"OmniRoute fungerer som en mellemmand. API-kald, der sendes til OmniRoute, overs\xe6ttes og videresendes til dine konfigurerede AI-udbydere. OmniRoute \xe6ndrer ikke indholdet af dine anmodninger eller svar ud over den n\xf8dvendige protokolovers\xe6ttelse.","termsSection4Title":"4. Datah\xe5ndtering","termsDataStoredLocally":"Alle data gemmes lokalt p\xe5 din maskine i en SQLite-database.","termsNoTransmission":"OmniRoute transmitterer ingen data til eksterne servere, medmindre du udtrykkeligt aktiverer skysynkroniseringsfunktioner.","termsDataLocationText":"Brugslogfiler, API-n\xf8gler og konfiguration gemmes i","termsSection5Title":"5. Ansvarsfraskrivelse","termsSection5Text":"OmniRoute leveres \\"som den er\\" uden garanti af nogen art. Vi er ikke ansvarlige for omkostninger, der p\xe5l\xf8ber som f\xf8lge af API-brug, serviceforstyrrelser eller tab af data. Vedligehold altid sikkerhedskopier af din konfiguration.","termsSection6Title":"6. Open Source","termsSection6Text":"OmniRoute er open source-software. Du kan frit inspicere, \xe6ndre og distribuere den i henhold til licensbetingelserne."}}')}};