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.
- package/README.ar.md +4 -0
- package/README.bg.md +4 -0
- package/README.da.md +4 -0
- package/README.de.md +13 -9
- package/README.es.md +13 -9
- package/README.fi.md +4 -0
- package/README.fr.md +13 -9
- package/README.he.md +29 -25
- package/README.hu.md +4 -0
- package/README.id.md +4 -0
- package/README.in.md +4 -0
- package/README.it.md +13 -9
- package/README.ja.md +4 -0
- package/README.ko.md +29 -25
- package/README.md +45 -0
- package/README.ms.md +4 -0
- package/README.nl.md +4 -0
- package/README.no.md +4 -0
- package/README.phi.md +4 -0
- package/README.pl.md +4 -0
- package/README.pt-BR.md +29 -25
- package/README.pt.md +4 -0
- package/README.ro.md +4 -0
- package/README.ru.md +13 -9
- package/README.sk.md +4 -0
- package/README.sv.md +4 -0
- package/README.th.md +16 -12
- package/README.uk-UA.md +4 -0
- package/README.vi.md +4 -0
- package/README.zh-CN.md +26 -22
- package/app/.env +122 -0
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +30 -28
- package/app/.next/build-manifest.json +3 -3
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/required-server-files.json +1 -1
- package/app/.next/routes-manifest.json +12 -0
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/costs/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/costs/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/health/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/limits/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/limits/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/logs/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/logs/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/media/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error/page.js +3 -3
- package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +2 -2
- package/app/.next/server/app/_global-error.rsc +4 -4
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page.js +2 -2
- package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/login/route.js +1 -1
- package/app/.next/server/app/api/auth/login/route.js.nft.json +1 -1
- package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/logout/route.js +1 -1
- package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/status/route.js +1 -1
- package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cache/route.js +1 -1
- package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cache/stats/route.js +1 -1
- package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/backups/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/status/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/auth/route.js +1 -1
- package/app/.next/server/app/api/cloud/auth/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/metrics/route.js +1 -1
- package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/route.js +1 -1
- package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/test/route.js +1 -1
- package/app/.next/server/app/api/combos/test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/compliance/audit-log/route.js +1 -1
- package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/export/route.js +1 -1
- package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/exportAll/route.js +1 -1
- package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/import/route.js +1 -1
- package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/route.js +1 -1
- package/app/.next/server/app/api/db-backups/route.js.nft.json +1 -1
- package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/evals/[suiteId]/route.js +1 -1
- package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/evals/route.js +1 -1
- package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/fallback/chains/route.js +2 -2
- package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/init/route.js +1 -1
- package/app/.next/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/route.js +1 -1
- package/app/.next/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/logs/console/route.js +1 -1
- package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/alias/route.js +1 -1
- package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/availability/route.js +1 -1
- package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/catalog/route.js +2 -2
- package/app/.next/server/app/api/models/catalog/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/route.js +2 -2
- package/app/.next/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/monitoring/health/route.js +2 -2
- package/app/.next/server/app/api/monitoring/health/route.js.nft.json +1 -1
- package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +2 -2
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/policies/route.js +2 -2
- package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/defaults/route.js +1 -1
- package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/models/route.js +1 -1
- package/app/.next/server/app/api/pricing/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/route.js +1 -1
- package/app/.next/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-metrics/route.js +2 -2
- package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-models/route.js +1 -1
- package/app/.next/server/app/api/provider-models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/route.js +2 -2
- package/app/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js +2 -2
- package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/client/route.js +1 -1
- package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/route.js +2 -2
- package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/validate/route.js +1 -1
- package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/rate-limit/route.js +1 -1
- package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/rate-limits/route.js +1 -1
- package/app/.next/server/app/api/rate-limits/route.js.nft.json +1 -1
- package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/resilience/reset/route.js +1 -1
- package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/resilience/route.js +1 -1
- package/app/.next/server/app/api/resilience/route.js.nft.json +1 -1
- package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/restart/route.js +1 -1
- package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sessions/route.js +1 -1
- package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/background-degradation/route.js +1 -0
- package/app/.next/server/app/api/settings/background-degradation/route.js.nft.json +1 -0
- package/app/.next/server/app/api/settings/background-degradation/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/settings/combo-defaults/route.js +1 -1
- package/app/.next/server/app/api/settings/combo-defaults/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/ip-filter/route.js +1 -1
- package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/model-aliases/route.js +1 -0
- package/app/.next/server/app/api/settings/model-aliases/route.js.nft.json +1 -0
- package/app/.next/server/app/api/settings/model-aliases/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/settings/proxy/route.js +1 -1
- package/app/.next/server/app/api/settings/proxy/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/proxy/test/route.js +1 -1
- package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/require-login/route.js +1 -1
- package/app/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/route.js +1 -1
- package/app/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/system-prompt/route.js +1 -1
- package/app/.next/server/app/api/settings/system-prompt/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/thinking-budget/route.js +1 -1
- package/app/.next/server/app/api/settings/thinking-budget/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/shutdown/route.js +1 -1
- package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/storage/health/route.js +1 -1
- package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sync/cloud/route.js +1 -1
- package/app/.next/server/app/api/sync/cloud/route.js.nft.json +1 -1
- package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sync/initialize/route.js +1 -1
- package/app/.next/server/app/api/sync/initialize/route.js.nft.json +1 -1
- package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tags/route.js +1 -1
- package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/telemetry/summary/route.js +1 -1
- package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/token-health/route.js +1 -1
- package/app/.next/server/app/api/token-health/route.js.nft.json +1 -1
- package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/detect/route.js +1 -1
- package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/history/route.js +1 -1
- package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/load/route.js +1 -1
- package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/save/route.js +1 -1
- package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/send/route.js +1 -1
- package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/translate/route.js +1 -1
- package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/analytics/route.js +1 -1
- package/app/.next/server/app/api/usage/analytics/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/budget/route.js +2 -2
- package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/[id]/route.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/route.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/history/route.js +1 -1
- package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/logs/route.js +1 -1
- package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/proxy-logs/route.js +1 -1
- package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/images/generations/route.js +1 -1
- package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/route.js +1 -1
- package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/models/route.js +2 -2
- package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/moderations/route.js +1 -1
- package/app/.next/server/app/api/v1/moderations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/music/generations/route.js +1 -1
- package/app/.next/server/app/api/v1/music/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/music/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/rerank/route.js +1 -1
- package/app/.next/server/app/api/v1/rerank/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/responses/route.js +1 -1
- package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/route.js +1 -1
- package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/videos/generations/route.js +1 -1
- package/app/.next/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route.js +2 -2
- package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback/page.js +2 -2
- package/app/.next/server/app/callback/page.js.nft.json +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/docs/page.js +3 -3
- package/app/.next/server/app/docs/page.js.nft.json +1 -1
- package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forbidden/page.js +2 -2
- package/app/.next/server/app/forbidden/page.js.nft.json +1 -1
- package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forgot-password/page.js +2 -2
- package/app/.next/server/app/forgot-password/page.js.nft.json +1 -1
- package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing/page.js +2 -2
- package/app/.next/server/app/landing/page.js.nft.json +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login/page.js +2 -2
- package/app/.next/server/app/login/page.js.nft.json +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/page.js +2 -2
- package/app/.next/server/app/page.js.nft.json +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy/page.js +2 -2
- package/app/.next/server/app/privacy/page.js.nft.json +1 -1
- package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/terms/page.js +2 -2
- package/app/.next/server/app/terms/page.js.nft.json +1 -1
- package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app-paths-manifest.json +30 -28
- package/app/.next/server/chunks/1248.js +1 -1
- package/app/.next/server/chunks/1308.js +1 -1
- package/app/.next/server/chunks/1526.js +1 -1
- package/app/.next/server/chunks/1584.js +1 -1
- package/app/.next/server/chunks/1623.js +1 -1
- package/app/.next/server/chunks/1880.js +1 -1
- package/app/.next/server/chunks/1960.js +1 -1
- package/app/.next/server/chunks/1990.js +1 -1
- package/app/.next/server/chunks/2180.js +1 -1
- package/app/.next/server/chunks/2214.js +1 -1
- package/app/.next/server/chunks/2372.js +1 -1
- package/app/.next/server/chunks/2594.js +1 -1
- package/app/.next/server/chunks/2767.js +1 -1
- package/app/.next/server/chunks/2901.js +2 -2
- package/app/.next/server/chunks/2910.js +1 -1
- package/app/.next/server/chunks/3371.js +1 -1
- package/app/.next/server/chunks/3447.js +1 -1
- package/app/.next/server/chunks/3498.js +1 -1
- package/app/.next/server/chunks/3596.js +1 -1
- package/app/.next/server/chunks/3801.js +2 -0
- package/app/.next/server/chunks/3911.js +1 -1
- package/app/.next/server/chunks/4488.js +1 -1
- package/app/.next/server/chunks/4568.js +1 -1
- package/app/.next/server/chunks/496.js +1 -1
- package/app/.next/server/chunks/5047.js +1 -1
- package/app/.next/server/chunks/5094.js +1 -1
- package/app/.next/server/chunks/5097.js +1 -1
- package/app/.next/server/chunks/5521.js +1 -1
- package/app/.next/server/chunks/5945.js +1 -1
- package/app/.next/server/chunks/6118.js +1 -1
- package/app/.next/server/chunks/6930.js +1 -1
- package/app/.next/server/chunks/7011.js +1 -1
- package/app/.next/server/chunks/708.js +1 -1
- package/app/.next/server/chunks/7109.js +1 -1
- package/app/.next/server/chunks/7230.js +2 -2
- package/app/.next/server/chunks/7650.js +1 -1
- package/app/.next/server/chunks/8020.js +3 -3
- package/app/.next/server/chunks/8220.js +1 -1
- package/app/.next/server/chunks/8464.js +1 -1
- package/app/.next/server/chunks/8706.js +1 -1
- package/app/.next/server/chunks/8976.js +1 -1
- package/app/.next/server/chunks/9119.js +1 -1
- package/app/.next/server/chunks/944.js +1 -1
- package/app/.next/server/chunks/9548.js +1 -0
- package/app/.next/server/chunks/9679.js +1 -0
- package/app/.next/server/chunks/9824.js +2 -2
- package/app/.next/server/chunks/9837.js +1 -1
- package/app/.next/server/middleware-build-manifest.js +1 -1
- package/app/.next/server/middleware.js +3 -3
- package/app/.next/server/next-font-manifest.js +1 -1
- package/app/.next/server/next-font-manifest.json +1 -1
- package/app/.next/server/pages/500.html +2 -2
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/a624rqqXG_QtNPqv8ZMWa/_buildManifest.js +1 -0
- package/app/.next/static/chunks/5846-1dad4fadf761e0d8.js +2 -0
- package/app/.next/static/chunks/{993-035473765d7d1871.js → 993-9f36b0b069ca090e.js} +2 -2
- package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/loading-ce5214cdf489c9df.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/{page-52f76c7c91444ec2.js → page-20786f2c7fdbab57.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-12d772841a253032.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-c9b98846b8479f3f.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-5e34630a5dc32825.js +15 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-3dce7fccfcf177dd.js → page-85a3e6a423aceded.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/costs/{page-3ed2a7685adf9b91.js → page-cdb8071441476da9.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-588b8bc3c4e631e0.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/health/{page-9a6519bf1468f16e.js → page-b480b3cb318782d7.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-0ae1d6cc5fc4671f.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/logs/{page-833d24f322a20f5a.js → page-ffdc1dcf074c7528.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media/page-72b768421394b42c.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/onboarding/{page-d424641c7e428be9.js → page-5378e9473a20cd6a.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-5c87e49261a22fd5.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-b38f2d03bae8166a.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{error-2f0177a2197dd556.js → error-f0730d6d62d02e82.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{loading-99ab4d478260d53b.js → loading-59cbccd6d5185ca9.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-a7fb36872be60fe0.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{page-1f022385b812b987.js → page-40dc5ac82df708e9.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/{error-e844916e39172c8b.js → error-cc85c3ff1f63aea6.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/{loading-bb068659ee679ff4.js → loading-19fc771a287bcb4c.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-1550a2460948273c.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/pricing/{page-f10a8d4bb8236913.js → page-cbe9b21b62bbc2bd.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/{page-83b07523f81d6282.js → page-534e13a69cb60a4f.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/{page-9cc99ab874fc36e7.js → page-86a076d820931a30.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/{layout-00d5d56af65098a9.js → layout-16302e54f9ef3d0e.js} +1 -1
- package/app/.next/static/chunks/app/_global-error/page-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/_not-found/page-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/auth/login/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/auth/logout/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/auth/status/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cache/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cache/stats/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/backups/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/status/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/auth/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/credentials/update/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/model/resolve/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/models/alias/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/combos/[id]/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/combos/metrics/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/combos/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/combos/test/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/compliance/audit-log/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/db-backups/export/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/db-backups/exportAll/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/db-backups/import/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/db-backups/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/evals/[suiteId]/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/evals/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/fallback/chains/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/init/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/keys/[id]/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/keys/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/logs/console/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/models/alias/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/models/availability/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/models/catalog/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/models/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/monitoring/health/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/policies/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/pricing/defaults/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/pricing/models/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/pricing/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/provider-metrics/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/provider-models/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/client/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/test-batch/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/providers/validate/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/rate-limit/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/rate-limits/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/resilience/reset/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/resilience/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/restart/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/sessions/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/settings/background-degradation/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/settings/combo-defaults/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/settings/ip-filter/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/settings/model-aliases/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/settings/proxy/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/settings/proxy/test/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/settings/require-login/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/settings/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/settings/system-prompt/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/settings/thinking-budget/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/shutdown/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/storage/health/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/sync/cloud/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/sync/initialize/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/tags/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/telemetry/summary/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/token-health/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/translator/detect/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/translator/history/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/translator/load/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/translator/save/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/translator/send/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/translator/translate/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/analytics/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/budget/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/call-logs/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/history/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/logs/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/proxy-logs/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/usage/request-logs/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/api/chat/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/audio/speech/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/embeddings/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/images/generations/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/messages/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/models/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/moderations/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/music/generations/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/rerank/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/responses/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1/videos/generations/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/api/v1beta/models/route-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/callback/{page-585a53f7dc6a30f1.js → page-0f0ebc0820dd18a5.js} +1 -1
- package/app/.next/static/chunks/app/docs/{page-2fe9dcbeb3f738c0.js → page-3658b3f15df3a19e.js} +1 -1
- package/app/.next/static/chunks/app/{error-0d59fc4efafbc38c.js → error-f918d9961a2368d3.js} +1 -1
- package/app/.next/static/chunks/app/forbidden/page-77657dfa95e61cd8.js +1 -0
- package/app/.next/static/chunks/app/forgot-password/page-be3bacc125c30a6b.js +1 -0
- package/app/.next/static/chunks/app/global-error-504ff9093e2a997d.js +1 -0
- package/app/.next/static/chunks/app/landing/page-75b0c988db383cfc.js +1 -0
- package/app/.next/static/chunks/app/{layout-108592eafb959363.js → layout-070972eb026af319.js} +1 -1
- package/app/.next/static/chunks/app/login/{page-121c612ee459e7c2.js → page-6c769465e407368f.js} +1 -1
- package/app/.next/static/chunks/app/not-found-11b712c853d93172.js +1 -0
- package/app/.next/static/chunks/app/page-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/app/privacy/{page-2fe9dcbeb3f738c0.js → page-3658b3f15df3a19e.js} +1 -1
- package/app/.next/static/chunks/app/terms/{page-2fe9dcbeb3f738c0.js → page-3658b3f15df3a19e.js} +1 -1
- package/app/.next/static/chunks/{main-app-c9da11a8061df107.js → main-app-ae230f6bf51a5edb.js} +1 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-6301a4ed902b878a.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-6301a4ed902b878a.js +1 -0
- package/app/.next/static/css/bcd1741aee9d39ab.css +1 -0
- package/app/package.json +1 -1
- package/app/server.js +1 -1
- package/package.json +1 -1
- package/app/.next/server/chunks/5248.js +0 -1
- package/app/.next/server/chunks/5393.js +0 -2
- package/app/.next/static/chunks/5846-9e0f1f3afcbfb08c.js +0 -2
- package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/loading-6f1750506292c630.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-1dd4d0c348a7b0a6.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-e5bf8955e7b9a4f5.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-77ab26722f5c56c7.js +0 -15
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-1420c3ca376f1585.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-f4a2d6d07df5ddc4.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media/page-1d0ca9b5d3eaf7cd.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-388840686801f3f5.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-9c8ffb212f855704.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-31cdb6e15134d8c2.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-1393d4935fc087cf.js +0 -1
- package/app/.next/static/chunks/app/_global-error/page-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/_not-found/page-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/auth/login/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/auth/logout/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/auth/status/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cache/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cache/stats/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/backups/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/status/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/auth/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/credentials/update/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/model/resolve/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/models/alias/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/combos/[id]/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/combos/metrics/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/combos/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/combos/test/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/compliance/audit-log/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/db-backups/export/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/db-backups/exportAll/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/db-backups/import/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/db-backups/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/evals/[suiteId]/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/evals/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/fallback/chains/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/init/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/keys/[id]/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/keys/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/logs/console/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/models/alias/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/models/availability/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/models/catalog/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/models/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/monitoring/health/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/policies/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/pricing/defaults/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/pricing/models/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/pricing/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/provider-metrics/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/provider-models/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/providers/client/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/providers/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/providers/test-batch/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/providers/validate/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/rate-limit/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/rate-limits/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/resilience/reset/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/resilience/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/restart/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/sessions/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/settings/combo-defaults/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/settings/ip-filter/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/settings/proxy/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/settings/proxy/test/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/settings/require-login/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/settings/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/settings/system-prompt/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/settings/thinking-budget/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/shutdown/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/storage/health/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/sync/cloud/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/sync/initialize/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/tags/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/telemetry/summary/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/token-health/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/translator/detect/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/translator/history/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/translator/load/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/translator/save/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/translator/send/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/translator/translate/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/usage/analytics/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/usage/budget/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/usage/call-logs/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/usage/history/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/usage/logs/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/usage/proxy-logs/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-logs/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/api/chat/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/speech/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/embeddings/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/images/generations/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/models/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/moderations/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/music/generations/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/rerank/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/responses/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1/videos/generations/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/route-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/app/forbidden/page-df886dfa2d5bd9fa.js +0 -1
- package/app/.next/static/chunks/app/forgot-password/page-2a495f0b0c653ab4.js +0 -1
- package/app/.next/static/chunks/app/global-error-41eef2a698918fc1.js +0 -1
- package/app/.next/static/chunks/app/landing/page-9d540ab1716f8e3e.js +0 -1
- package/app/.next/static/chunks/app/not-found-1dbd8c3e506fe00f.js +0 -1
- package/app/.next/static/chunks/app/page-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-cab2fb7f592d3c36.js +0 -1
- package/app/.next/static/css/b77490a14619ffbb.css +0 -1
- package/app/.next/static/ozfkuTtQLl3_rnlOdkSZi/_buildManifest.js +0 -1
- /package/app/.next/static/{ozfkuTtQLl3_rnlOdkSZi → a624rqqXG_QtNPqv8ZMWa}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=2372,exports.ids=[2372],exports.modules={22372:a=>{a.exports=JSON.parse('{"common":{"save":"Speichern","cancel":"Abbrechen","delete":"L\xf6schen","loading":"Laden...","error":"Es ist ein Fehler aufgetreten","success":"Erfolg","confirm":"Bist du sicher?","refresh":"Aktualisieren","close":"Schlie\xdfen","add":"Hinzuf\xfcgen","edit":"Bearbeiten","search":"Suchen","back":"Zur\xfcck","next":"Als n\xe4chstes","submit":"Senden","reset":"Zur\xfccksetzen","copy":"Kopieren","copied":"Kopiert!","enabled":"Aktiviert","disabled":"Deaktiviert","active":"Aktiv","inactive":"Inaktiv","noData":"Keine Daten verf\xfcgbar","configure":"Konfigurieren","manage":"Verwalten","name":"Name","actions":"Aktionen","status":"Status","type":"Typ","model":"Modell","models":"Modelle","provider":"Anbieter","account":"Konto","time":"Zeit","details":"Einzelheiten","created":"Erstellt","lastUsed":"Zuletzt verwendet","loadMore":"Mehr laden","noResults":"Keine Ergebnisse gefunden","reloadPage":"Seite neu laden","connected":"Verbunden","disconnected":"Nicht verbunden","notConfigured":"Nicht konfiguriert","testConnection":"Testverbindung","enable":"Aktivieren","disable":"Deaktivieren","columns":"Spalten","newest":"Neueste","oldest":"\xc4lteste","all":"Alle","none":"Keine","yes":"Ja","no":"Nein","warning":"Warnung","note":"Hinweis","free":"Kostenlos","skipToContent":"Zum Inhalt springen"},"sidebar":{"home":"Zuhause","dashboard":"Dashboard","providers":"Anbieter","combos":"Kombinationen","usage":"Nutzung","analytics":"Analytik","costs":"Kosten","health":"Gesundheit","limits":"Limits und Quoten","cliTools":"CLI-Tools","settings":"Einstellungen","translator":"\xdcbersetzer","docs":"Dokumente","issues":"Probleme","endpoint":"Endpunkt","apiManager":"API-Manager","logs":"Protokolle","auditLog":"Audit-Protokoll","shutdown":"Herunterfahren","restart":"Neustart","shutdownConfirm":"OmniRoute herunterfahren?","restartConfirm":"OmniRoute neu starten?","version":"v{version}","debug":"Debuggen","system":"System","help":"Hilfe","serverDisconnected":"Serververbindung getrennt","serverDisconnectedMsg":"Der Proxyserver wurde gestoppt oder wird neu gestartet.","expandSidebar":"Seitenleiste erweitern","collapseSidebar":"Seitenleiste einklappen"},"header":{"logout":"Abmelden","language":"Sprache","providers":"Anbieter","providerDescription":"Verwalten Sie Ihre KI-Anbieterverbindungen","combos":"Kombinationen","comboDescription":"Modellkombinationen mit Fallback","usage":"Nutzung und Analyse","usageDescription":"\xdcberwachen Sie Ihre API-Nutzung, den Token-Verbrauch und Ihre Anforderungsprotokolle","analytics":"Analysen","analyticsDescription":"Diagramme, Trends und Auswertungserkenntnisse","cliTools":"CLI-Tools","cliToolsDescription":"Konfigurieren Sie CLI-Tools","home":"Zuhause","homeDescription":"Willkommen bei OmniRoute","endpoint":"Endpunkt","endpointDescription":"API-Endpunktkonfiguration","settings":"Einstellungen","settingsDescription":"Verwalten Sie Ihre Pr\xe4ferenzen","openaiCompatible":"OpenAI-kompatibel","anthropicCompatible":"Anthropic-kompatibel"},"home":{"quickStart":"Schnellstart","quickStartDesc":"In 4 Schritten einsatzbereit. Anbieter anbinden, Modelle routen, alles \xfcberwachen.","fullDocs":"Vollst\xe4ndige Dokumentation","step1Title":"1. API-Schl\xfcssel erstellen","step1Desc":"Gehen Sie zu <endpoint>Endpoint</endpoint> -> Registrierte Schl\xfcssel. Erstellen Sie einen Schl\xfcssel pro Umgebung.","step2Title":"2. Anbieter verbinden","step2Desc":"F\xfcgen Sie Konten unter <providers>Providers</providers> hinzu. Unterst\xfctzt OAuth, API Key und kostenlose Stufen.","step3Title":"3. Client konfigurieren","step3Desc":"Legen Sie die Basis-URL in Ihrem IDE- oder API-Client auf {url} fest.","step4Title":"4. \xdcberwachen und optimieren","step4Desc":"Verfolgen Sie Tokens, Kosten und Fehler in <logs>Anfrageprotokollen</logs> und <analytics>Analysen</analytics>.","providersOverview":"Anbieter\xfcbersicht","configuredOf":"{configured} konfiguriert von {total} verf\xfcgbaren Anbietern","noModelsAvailable":"F\xfcr diesen Anbieter sind keine Modelle verf\xfcgbar.","configureFirst":"Konfigurieren Sie zuerst eine Verbindung in {providers}","configureProvider":"Anbieter konfigurieren","modelAvailable":"{count} Modell verf\xfcgbar","modelsAvailable":"{count} Modelle verf\xfcgbar","connectionsActive":"{count} Verbindung aktiv","connectionsActivePlural":"{count} Verbindungen aktiv","copyModelName":"Modellnamen kopieren","documentation":"Dokumentation","healthMonitor":"Gesundheitsmonitor","reportIssue":"Problem melden","activeError":"{active} aktiv \xb7 {errors} Fehler","oauthLabel":"OAuth","apiKeyLabel":"API-Schl\xfcssel","requestsShort":"{count} Anfr.","providerModelsTitle":"{provider} – Modelle","copiedModel":"Kopiert: {model}","aliasLabel":"Alias"},"analytics":{"title":"Analytik","overviewDescription":"\xdcberwachen Sie Ihre API-Nutzungsmuster, Token-Verbrauch, Kosten und Aktivit\xe4tstrends bei allen Anbietern und Modellen.","evalsDescription":"F\xfchren Sie Evaluierungssuiten aus, um Ihre LLM-Endpunkte zu testen und zu validieren. Vergleichen Sie die Modellqualit\xe4t, erkennen Sie Regressionen und messen Sie die Latenz.","overview":"\xdcbersicht","evals":"Bewertungen"},"apiManager":{"title":"API-Schl\xfcssel","createKey":"API-Schl\xfcssel erstellen","key":"Schl\xfcssel","revokeKey":"Schl\xfcssel widerrufen","revokeConfirm":"Sind Sie sicher, dass Sie diesen API-Schl\xfcssel widerrufen m\xf6chten?","noKeys":"Noch keine API-Schl\xfcssel","noKeysDesc":"Erstellen Sie Ihren ersten API-Schl\xfcssel, um Anfragen an Ihren Endpunkt zu authentifizieren","keyLabel":"Schl\xfcsseletikett","permissions":"Berechtigungen","expiresAt":"L\xe4uft ab","never":"Niemals","revoke":"Widerrufen","showKey":"Schl\xfcssel anzeigen","hideKey":"Schl\xfcssel verstecken","copyKey":"API-Schl\xfcssel kopieren","allModels":"Alle Modelle","selectedModels":"Ausgew\xe4hlte Modelle","readOnly":"Nur lesen","fullAccess":"Voller Zugriff","keyManagement":"API-Schl\xfcsselverwaltung","keyManagementDesc":"Erstellen und verwalten Sie API-Schl\xfcssel zur Authentifizierung von Anfragen an Ihren Endpunkt","totalKeys":"Gesamtschl\xfcssel","restricted":"Eingeschr\xe4nkt","totalRequests":"Gesamtzahl der Anfragen","modelsAvailable":"Verf\xfcgbare Modelle","registeredKeys":"Registrierte Schl\xfcssel","keysRegistered":"{count} Schl\xfcssel registriert","keyRegistered":"{count} Schl\xfcssel registriert","keysSecurityNote":"Jeder Schl\xfcssel isoliert die Nutzungsverfolgung und kann unabh\xe4ngig widerrufen werden. Aus Sicherheitsgr\xfcnden werden Schl\xfcssel nach der Erstellung maskiert.","createFirstKey":"Erstellen Sie Ihren ersten Schl\xfcssel","name":"Name","usage":"Nutzung","created":"Erstellt","actions":"Aktionen","reqs":"Anforderungen","neverUsed":"Nie benutzt","deleteConfirm":"Diesen API-Schl\xfcssel l\xf6schen?","usageTips":"Nutzungstipps","tipAuth":"Verwenden Sie API-Schl\xfcssel im Authorization-Header als Bearer YOUR_KEY","tipSecure":"Schl\xfcssel werden bei der Erstellung nur einmal angezeigt – bewahren Sie sie sicher auf","tipSeparate":"Erstellen Sie separate Schl\xfcssel f\xfcr verschiedene Clients oder Umgebungen","tipRestrict":"Beschr\xe4nken Sie die Schl\xfcssel auf bestimmte Modelle, um die Sicherheit und Kostenkontrolle zu verbessern","keyName":"Schl\xfcsselname","keyNamePlaceholder":"z. B. Produktionsschl\xfcssel, Entwicklungsschl\xfcssel","keyNameDesc":"W\xe4hlen Sie einen aussagekr\xe4ftigen Namen, um den Zweck dieses Schl\xfcssels zu identifizieren","keyCreated":"API-Schl\xfcssel erstellt","keyCreatedSuccess":"Schl\xfcssel erfolgreich erstellt!","keyCreatedNote":"Kopieren und speichern Sie diesen Schl\xfcssel jetzt – er wird nicht mehr angezeigt.","done":"Fertig","savePermissions":"Berechtigungen speichern","allowAll":"Alle zulassen","restrict":"Einschr\xe4nken","allowAllInfo":"Mit diesem Schl\xfcssel kann auf alle verf\xfcgbaren Modelle zugegriffen werden.","restrictInfo":"Dieser Schl\xfcssel kann auf {selected} von {total} Modellen zugreifen.","selected":"{count} ausgew\xe4hlt","all":"Alle","clear":"Klar","searchModels":"Modelle nach Name oder Anbieter suchen...","noModelsFound":"Keine Modelle gefunden","keyNameRequired":"Schl\xfcsselname ist erforderlich","keyNameTooLong":"Der Schl\xfcsselname darf h\xf6chstens {max} Zeichen lang sein","keyNameInvalid":"Der Schl\xfcsselname darf nur Buchstaben, Zahlen, Leerzeichen, Bindestriche und Unterstriche enthalten","invalidKeyName":"Ung\xfcltiger Schl\xfcsselname","failedCreateKey":"Schl\xfcssel konnte nicht erstellt werden","failedCreateKeyRetry":"Schl\xfcssel konnte nicht erstellt werden. Bitte versuchen Sie es erneut.","invalidKeyId":"Ung\xfcltige Schl\xfcssel-ID","failedDeleteKey":"Schl\xfcssel konnte nicht gel\xf6scht werden","failedDeleteKeyRetry":"Schl\xfcssel konnte nicht gel\xf6scht werden. Bitte versuchen Sie es erneut.","invalidModelsSelection":"Ung\xfcltige Modellauswahl","cannotSelectMoreThanModels":"Es k\xf6nnen nicht mehr als {max} Modelle ausgew\xe4hlt werden","failedUpdatePermissions":"Die Berechtigungen konnten nicht aktualisiert werden","failedUpdatePermissionsRetry":"Die Berechtigungen konnten nicht aktualisiert werden. Bitte versuchen Sie es erneut.","unknownProvider":"unbekannt","copyMaskedKey":"Maskierten Schl\xfcssel kopieren","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Zuletzt: {date}","editPermissions":"Berechtigungen bearbeiten","deleteKey":"Schl\xfcssel l\xf6schen","model":"{count} Modell","models":"{count} Modelle","permissionsTitle":"Berechtigungen: {name}","allowAllDesc":"Mit diesem Schl\xfcssel kann auf alle verf\xfcgbaren Modelle zugegriffen werden.","restrictDesc":"Dieser Schl\xfcssel kann auf {selectedCount} von {totalModels} Modellen zugreifen.","selectedCount":"{count} ausgew\xe4hlt"},"auditLog":{"title":"Audit-Protokoll","searchPlaceholder":"Suchaktionen...","action":"Aktion","actor":"Schauspieler","target":"Ziel","ipAddress":"IP-Adresse","timestamp":"Zeitstempel","noEntries":"Keine Audit-Eintr\xe4ge gefunden","filterByAction":"Nach Aktion filtern...","filterByActor":"Nach Schauspieler filtern...","filterEntriesAria":"Audit-Log-Eintr\xe4ge filtern","filterByActionTypeAria":"Filtern Sie nach Aktionstyp","filterByActorAria":"Nach Schauspieler filtern","refreshAuditLogAria":"Audit-Protokoll aktualisieren","tableAria":"Audit-Log-Eintr\xe4ge","failedFetchAuditLog":"Das Audit-Protokoll konnte nicht abgerufen werden","notAvailable":"—","description":"Verwaltungsma\xdfnahmen und Sicherheitsereignisse","showing":"Zeigt {count} Eintr\xe4ge (Offset {offset})","previous":"Zur\xfcck"},"cliTools":{"title":"CLI-Tools","noActiveProviders":"Keine aktiven Anbieter","noActiveProvidersDesc":"Bitte f\xfcgen Sie zuerst Anbieter hinzu und verbinden Sie sie, um CLI-Tools zu konfigurieren.","mapModels":"Kartenmodelle","testConnection":"Testverbindung","connectionStatus":"Verbindungsstatus","configureEndpoint":"Endpunkt konfigurieren","instructions":"Anweisungen","modelMapping":"Modellzuordnung","baseUrl":"Basis-URL","apiKey":"API-Schl\xfcssel","configured":"Konfiguriert","notConfigured":"Nicht konfiguriert","notInstalled":"Nicht installiert","custom":"Benutzerdefiniert","unknown":"Unbekannt","lastSavedAt":"Zuletzt gespeichert: {date}","never":"Niemals","justNow":"gerade jetzt","minutesAgoShort":"Vor {count}m","hoursAgoShort":"Vor {count}h","daysAgoShort":"Vor {count}d","monthsAgoShort":"Vor {count}mo","yearsAgoShort":"Vor {count}y","runtimeCheckFailed":"Laufzeitpr\xfcfung fehlgeschlagen","yourApiKeyPlaceholder":"Ihr-API-Schl\xfcssel","modelPlaceholder":"Anbieter/Modell-ID","configurationSaved":"Konfiguration erfolgreich gespeichert.","failedToSave":"Die Konfiguration konnte nicht gespeichert werden.","noApiKeysCreateOne":"Keine API-Schl\xfcssel – Erstellen Sie einen auf der Seite „Schl\xfcssel“.","defaultOmnirouteKey":"sk_omniroute (Standard)","selectModel":"W\xe4hlen Sie Modell aus","selectModelForAlias":"Modell f\xfcr {alias} ausw\xe4hlen","selectModelForTool":"Modell f\xfcr {tool} ausw\xe4hlen","select":"Ausw\xe4hlen","clear":"Klar","comingSoon":"Kommt bald","checkingRuntime":"Laufzeitstatus wird gepr\xfcft...","guideOnlyIntegration":"Nur-Guide-Integration (keine lokale Laufzeit erforderlich)","cliRuntimeDetected":"CLI-Laufzeit erkannt und bereit","cliFoundNotRunnable":"CLI gefunden, aber nicht ausf\xfchrbar{reason}","cliRuntimeNotDetected":"CLI-Laufzeit nicht erkannt","binary":"Bin\xe4r","configPath":"Konfigurationspfad","configPathShort":"Konfig","failedCheckRuntimeStatus":"Der Laufzeitstatus konnte nicht \xfcberpr\xfcft werden.","copy":"Kopieren","copied":"Kopiert","copyConfig":"Konfiguration kopieren","saveConfig":"Konfiguration speichern","selectionSaved":"Auswahl gespeichert","guide":"Leitfaden","detected":"Erkannt","notReady":"Nicht bereit","active":"Aktiv","inactive":"Inaktiv","startMitm":"Starten Sie MITM","stopMitm":"Stoppen Sie MITM","mitmStarted":"MITM erfolgreich gestartet!","mitmStopped":"MITM wurde erfolgreich gestoppt!","failedStart":"MITM konnte nicht gestartet werden","failedStop":"MITM konnte nicht gestoppt werden","saveMappings":"Zuordnungen speichern","mappingsSaved":"Zuordnungen gespeichert!","failedSaveMappings":"Zuordnungen konnten nicht gespeichert werden","howItWorks":"So funktioniert es:","antigravityHowWorksDesc":"Antigravity sendet Anfragen an den Endpunkt von Google. MITM f\xe4ngt sie ab und leitet sie an OmniRoute weiter.","antigravityStep1":"1. Starten Sie MITM, um Anforderungen \xfcber OmniRoute weiterzuleiten.","antigravityStep2Prefix":"2. Hinzuf\xfcgen","antigravityStep2Suffix":"zu Ihrer Hosts-Datei als 127.0.0.1 hinzuf\xfcgen.","antigravityStep3":"3. \xd6ffnen Sie Antigravity und Anfragen werden weitergeleitet.","sudoPasswordRequiredTitle":"Sudo-Passwort erforderlich","sudoPasswordHint":"Zum \xc4ndern der Hosts-Datei und der System-Proxy-Einstellungen ist ein Administratorkennwort erforderlich.","enterSudoPassword":"Geben Sie das Sudo-Passwort ein","sudoPasswordRequiredError":"Sudo-Passwort ist erforderlich.","cancel":"Abbrechen","confirm":"Best\xe4tigen","settingsApplied":"Einstellungen erfolgreich \xfcbernommen!","failedApplySettings":"Die Einstellungen konnten nicht angewendet werden","settingsReset":"Einstellungen erfolgreich zur\xfcckgesetzt!","failedResetSettings":"Einstellungen konnten nicht zur\xfcckgesetzt werden","backupRestored":"Backup wiederhergestellt!","failedRestore":"Wiederherstellung fehlgeschlagen","checkingCli":"{tool} CLI wird \xfcberpr\xfcft...","cliNotRunnable":"{tool} CLI installiert, aber nicht ausf\xfchrbar","cliNotInstalled":"{tool} CLI nicht installiert","cliNotDetected":"{tool} CLI nicht erkannt","cliDetectedReady":"{tool} CLI erkannt und bereit","cliFoundFailedHealthcheck":"{tool} CLI wurde gefunden, aber die Laufzeitpr\xfcfung ist fehlgeschlagen{reason}.","installCliPrompt":"Bitte installieren Sie {tool} CLI, um diese Funktion zu nutzen.","installCodexPrompt":"Bitte installieren Sie Codex CLI, um die Funktion zur automatischen Anwendung zu nutzen.","hide":"Verstecken","howToInstall":"Anleitung zur Installation","installationGuide":"Installationsanleitung","platforms":"macOS / Linux / Windows:","afterInstallationRun":"Nach der Installation ausf\xfchren","toVerify":"zu verifizieren.","current":"Aktuell","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Auf Standard zur\xfccksetzen","providerModelPlaceholder":"Anbieter/Modell-ID","apply":"Bewerben","reset":"Zur\xfccksetzen","manualConfig":"Manuelle Konfiguration","backups":"Backups","configBackups":"Backups konfigurieren","noBackupsYet":"Noch keine Backups. Vor jedem Anwenden oder Zur\xfccksetzen werden automatisch Sicherungen erstellt.","restore":"Wiederherstellen","backupRestoredReloading":"Backup wiederhergestellt! Status wird neu geladen...","failedRestoreBackup":"Sicherung konnte nicht wiederhergestellt werden","applied":"Beworben!","failed":"Fehlgeschlagen","resetDone":"Zur\xfccksetzen!","omnirouteConfiguredOpenAiCompatible":"OmniRoute ist als OpenAI-kompatibler Anbieter konfiguriert","provider":"Anbieter","model":"Modell","providers":"Anbieter","auth":"Auth","noApiKeysAvailable":"Keine API-Schl\xfcssel verf\xfcgbar","usingDefaultOmniroute":"Standardm\xe4\xdfig wird verwendet: sk_omniroute","updateConfig":"Konfiguration aktualisieren","applyConfig":"Konfiguration anwenden","noBackupsAvailable":"Keine Backups verf\xfcgbar.","profileSaved":"Profil „{name}“ gespeichert!","failedSaveProfile":"Profil konnte nicht gespeichert werden","profileActivated":"Profil aktiviert!","failedActivateProfile":"Profil konnte nicht aktiviert werden","profiles":"Profile","savedProfiles":"Gespeicherte Profile","noProfilesYet":"Noch keine Profile gespeichert. Speichern Sie die aktuelle Konfiguration unten als Profil.","activate":"Aktivieren","deleteProfile":"Profil l\xf6schen","profileNamePlaceholder":"Profilname (z. B. Pers\xf6nliches Konto)","saveCurrent":"Aktuelles speichern","codexAuthNotePrefix":"Codex verwendet","codexAuthNoteMiddle":"mit","codexAuthNoteSuffix":"Klicken Sie auf „\xdcbernehmen“, um die automatische Konfiguration durchzuf\xfchren.","claudeManualConfiguration":"Claude CLI – Manuelle Konfiguration","codexManualConfiguration":"Codex CLI – Manuelle Konfiguration","droidManualConfiguration":"Factory Droid – Manuelle Konfiguration","openClawManualConfiguration":"Open Claw – Manuelle Konfiguration","clineManualConfiguration":"Manuelle Cline-Konfiguration","kiloManualConfiguration":"Manuelle Konfiguration des Kilo-Codes","toolDescriptions":{"antigravity":"Google Antigravity IDE mit MITM","claude":"Anthropic Claude Code CLI","codex":"OpenAI Codex-CLI","droid":"Fabrik-Droiden-KI-Assistent","openclaw":"\xd6ffnen Sie den Klauen-KI-Assistenten","cline":"Cline AI Coding Assistant CLI","kilo":"Kilo Code AI Assistant CLI","cursor":"Cursor-KI-Code-Editor","continue":"Weiter AI Assistant"},"guides":{"cursor":{"notes":{"0":"Zur Nutzung dieser Funktion ist ein Cursor Pro-Konto erforderlich.","1":"Cursor leitet Anfragen \xfcber seinen eigenen Server weiter, daher wird ein lokaler Endpunkt nicht unterst\xfctzt. Bitte aktivieren Sie Cloud Endpoint in den Einstellungen."},"steps":{"1":{"title":"\xd6ffnen Sie Einstellungen","desc":"Gehen Sie zu Einstellungen -> Modelle"},"2":{"title":"Aktivieren Sie die OpenAI-API","desc":"Aktivieren Sie die Option „OpenAI-API-Schl\xfcssel“."},"3":{"title":"Basis-URL"},"4":{"title":"API-Schl\xfcssel"},"5":{"title":"Benutzerdefiniertes Modell hinzuf\xfcgen","desc":"Klicken Sie auf „Alle Modelle anzeigen“ -> „Benutzerdefiniertes Modell hinzuf\xfcgen“"},"6":{"title":"W\xe4hlen Sie Modell aus"}}},"continue":{"steps":{"1":{"title":"\xd6ffnen Sie die Konfiguration","desc":"\xd6ffnen Sie die Konfigurationsdatei „Fortfahren“."},"2":{"title":"API-Schl\xfcssel"},"3":{"title":"W\xe4hlen Sie Modell aus"},"4":{"title":"Modellkonfiguration hinzuf\xfcgen","desc":"F\xfcgen Sie Ihrem Modellarray die folgende Konfiguration hinzu:"}}}}},"combos":{"title":"Kombinationen","description":"Erstellen Sie Modellkombinationen mit gewichtetem Routing und Fallback-Unterst\xfctzung","createCombo":"Combo erstellen","editCombo":"Combo bearbeiten","deleteCombo":"Combo l\xf6schen","noModels":"Keine Modelle","noModelsYet":"Noch keine Modelle hinzugef\xfcgt","addModel":"Modell hinzuf\xfcgen","addModelToCombo":"Modell zur Combo hinzuf\xfcgen","routingStrategy":"Routing-Strategie","maxRetries":"Max. Wiederholungsversuche","timeout":"Timeout (ms)","healthcheck":"Gesundheitscheck","priority":"Priorit\xe4t","fallback":"R\xfcckfall","roundRobin":"Round Robin","random":"Zuf\xe4llig","leastLatency":"Geringste Latenz","comboName":"Kombinationsname","comboNamePlaceholder":"meine-combo","deleteConfirm":"Diese Combo l\xf6schen?","noCombosYet":"Noch keine Combos","comboCreated":"Combo erfolgreich erstellt","comboUpdated":"Combo wurde erfolgreich aktualisiert","comboDeleted":"Combo gel\xf6scht","failedCreate":"Kombination konnte nicht erstellt werden","failedUpdate":"Die Kombination konnte nicht aktualisiert werden","errorCreating":"Fehler beim Erstellen der Combo","errorUpdating":"Fehler beim Aktualisieren der Combo","errorDeleting":"Fehler beim L\xf6schen der Combo","testFailed":"Testanforderung fehlgeschlagen","failedToggle":"Die Kombination konnte nicht umgeschaltet werden","testResults":"Testergebnisse – {name}","resolvedBy":"Gel\xf6st von:","more":"+{count} mehr","reqs":"Anforderungen","success":"Erfolg","proxyConfigured":"Proxy konfiguriert","copyComboName":"Kombinationsnamen kopieren","enableCombo":"Kombination aktivieren","disableCombo":"Combo deaktivieren","testCombo":"Testkombination","duplicate":"Duplizieren","proxyConfig":"Proxy-Konfiguration","nameRequired":"Name ist erforderlich","nameInvalid":"Nur Buchstaben, Zahlen, -, _, / und . erlaubt","nameHint":"Buchstaben, Zahlen, -, _, / und . erlaubt","priorityDesc":"Sequentielles Fallback: Versucht zuerst Modell 1, dann 2 usw.","weightedDesc":"Verteilt den Datenverkehr nach Gewichtsprozentsatz mit Fallback","roundRobinDesc":"Zirkul\xe4re Verteilung: Jede Anfrage wird abwechselnd an das n\xe4chste Modell weitergeleitet","randomDesc":"Einheitliche Zufallsauswahl, dann R\xfcckgriff auf verbleibende Modelle","leastUsedDesc":"W\xe4hlt das Modell mit den wenigsten Anfragen aus und gleicht die Last \xfcber die Zeit aus","costOptimizedDesc":"Leitet basierend auf dem Preis zuerst zum g\xfcnstigsten Modell weiter","models":"Modelle","autoBalance":"Automatischer Ausgleich","advancedSettings":"Erweiterte Einstellungen","retryDelay":"Wiederholungsverz\xf6gerung (ms)","concurrencyPerModel":"Parallelit\xe4t / Modell","queueTimeout":"Warteschlangen-Timeout (ms)","advancedHint":"Lassen Sie das Feld leer, um globale Standardeinstellungen zu verwenden. Diese \xfcberschreiben die Einstellungen pro Anbieter.","moveUp":"Bewegen Sie sich nach oben","moveDown":"Bewegen Sie sich nach unten","removeModel":"Entfernen","saving":"Sparen...","weighted":"Gewichtet","leastUsed":"Am wenigsten genutzt","costOpt":"Kosten-Opt"},"costs":{"title":"Kosten","budget":"Budget","totalCost":"Gesamtkosten","breakdown":"Kostenaufschl\xfcsselung","noData":"Keine Kostendaten","byModel":"Nach Modell","byProvider":"Nach Anbieter"},"endpoint":{"title":"API-Endpunkt","available":"Verf\xfcgbare Endpunkte","cloudProxy":"Cloud-Proxy","disableConfirm":"Sind Sie sicher, dass Sie den Cloud-Proxy deaktivieren m\xf6chten?","baseUrl":"Basis-URL","apiKeyLabel":"API-Schl\xfcssel","registeredKeys":"Registrierte Schl\xfcssel","chatCompletions":"Chat-Abschl\xfcsse","responses":"Antworten","listModels":"Modelle auflisten","usingCloudProxy":"Verwenden von Cloud Proxy","usingLocalServer":"Verwenden eines lokalen Servers","machineId":"Maschinen-ID: {id}...","disableCloud":"Cloud deaktivieren","enableCloud":"Cloud aktivieren","modelsAcrossEndpoints":"{models} Modelle \xfcber {endpoints} Endpunkte hinweg","chatDesc":"Streaming- und Nicht-Streaming-Chat mit allen Anbietern","embeddings":"Einbettungen","embeddingsDesc":"Texteinbettungen f\xfcr Such- und RAG-Pipelines","imageGeneration":"Bilderzeugung","imageDesc":"Generieren Sie Bilder aus Textaufforderungen","rerank":"Neu einordnen","rerankDesc":"Ordnen Sie Dokumente nach Relevanz f\xfcr eine Abfrage neu","audioTranscription":"Audio-Transkription","audioTranscriptionDesc":"Audiodateien in Text umwandeln (Fl\xfcstern)","textToSpeech":"Text-to-Speech","textToSpeechDesc":"Wandeln Sie Text in nat\xfcrlich klingende Sprache um","moderations":"Moderationen","moderationsDesc":"Inhaltsmoderation und Sicherheitsklassifizierung","enableCloudTitle":"Aktivieren Sie Cloud Proxy","whatYouGet":"Was Sie bekommen werden","cloudBenefitAccess":"Greifen Sie von \xfcberall auf der Welt auf Ihre API zu","cloudBenefitShare":"Teilen Sie den Endpunkt ganz einfach mit Ihrem Team","cloudBenefitPorts":"Es ist nicht erforderlich, Ports zu \xf6ffnen oder eine Firewall zu konfigurieren","cloudBenefitEdge":"Schnelles globales Edge-Netzwerk","cloudSessionNote":"Cloud speichert Ihre Authentifizierungssitzung einen Tag lang. Bei Nichtverwendung wird es automatisch gel\xf6scht.","cloudUnstableNote":"Cloud ist derzeit mit Claude Code OAuth in einigen F\xe4llen instabil.","cloudConnected":"Cloud-Proxy verbunden!","connectingToCloud":"Mit der Cloud verbinden...","verifyingConnection":"Verbindung wird \xfcberpr\xfcft...","connecting":"Verbinden...","verifying":"\xdcberpr\xfcfung...","connected":"Verbunden!","disableCloudTitle":"Deaktivieren Sie den Cloud-Proxy","disableWarning":"Alle Authentifizierungssitzungen werden aus der Cloud gel\xf6scht.","syncingData":"Aktuelle Daten werden synchronisiert...","disablingCloud":"Cloud wird deaktiviert...","syncing":"Synchronisierung...","disabling":"Deaktivieren...","cloudConnectedVerified":"Cloud-Proxy verbunden und verifiziert!","connectedVerificationPending":"Verbunden – Verifizierung steht aus","connectedVerificationPendingWithError":"Verbunden – \xdcberpr\xfcfung ausstehend: {error}","cloudDisabledSuccess":"Cloud erfolgreich deaktiviert","syncedSuccess":"Erfolgreich synchronisiert","failedDisable":"Die Cloud konnte nicht deaktiviert werden","failedEnable":"Cloud konnte nicht aktiviert werden","cloudRequestTimeout":"Zeit\xfcberschreitung bei der Cloud-Anfrage","cloudRequestFailed":"Die Cloud-Anfrage ist fehlgeschlagen","cloudWorkerUnreachable":"Der Cloud-Worker konnte nicht erreicht werden. Stellen Sie sicher, dass der Cloud-Dienst ausgef\xfchrt wird (npm run dev in /cloud).","connectionFailed":"Verbindung fehlgeschlagen","syncFailed":"Cloud-Daten konnten nicht synchronisiert werden","providerModelsTitle":"{provider} – Modelle","noModelsForProvider":"F\xfcr diesen Anbieter sind keine Modelle verf\xfcgbar.","chat":"Chatten","embedding":"Einbetten","image":"Bild","custom":"Brauch","modelsCount":"{count, plural, one {# model} other {# models}}"},"health":{"title":"Systemgesundheit","description":"Echtzeit\xfcberwachung Ihrer OmniRoute-Instanz","healthy":"Gesund","degraded":"Degradiert","down":"Runter","uptime":"Betriebszeit","memory":"Erinnerung","memoryRss":"Speicher (RSS)","heap":"Haufen","cpu":"CPU","database":"Datenbank","version":"Version","lastCheck":"Letzter Check","providerHealth":"Gesundheit des Anbieters","systemMetrics":"Systemmetriken","tokenHealth":"Token-Gesundheit","refreshAll":"Alle aktualisieren","checkNow":"Jetzt pr\xfcfen","loadingHealth":"Gesundheitsdaten werden geladen...","failedToLoad":"Gesundheitsdaten konnten nicht geladen werden: {error}","retry":"Versuchen Sie es noch einmal","allOperational":"Alle Systeme betriebsbereit","issuesDetected":"Systemprobleme erkannt","updatedAt":"Aktualisiert {time}","latency":"Latenz","latencyP50":"S. 50","latencyP95":"S. 95","latencyP99":"S. 99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Gesamtzahl der Anfragen","noDataYet":"Noch keine Daten","promptCache":"Prompt-Cache","entries":"Eintr\xe4ge","hitRate":"Trefferquote","hitsMisses":"Treffer/Fehlschl\xe4ge","signatureCache":"Signatur-Cache","signatureDefaults":"Standardeinstellungen","signatureTool":"Werkzeug","signatureFamily":"Familie","signatureSession":"Sitzung","recovering":"Genesung","noCBData":"Keine Leistungsschalterdaten verf\xfcgbar. Stellen Sie zun\xe4chst einige Anfragen.","providerHealthStatusAria":"Gesundheitsstatus des Anbieters","issuesLabel":"Erkannte Probleme","operational":"Betriebsbereit","providers":"Anbieter","healthyCount":"{count} gesund","nodeVersion":"Knoten {version}","failures":"{count} Fehler","failuresPlural":"{count} Fehler","lastFailure":"Zuletzt","rateLimitStatus":"Rate-Limit-Status","activeLimiters":"{count} aktiver Limiter","activeLimitersPlural":"{count} aktive Limiter","queued":"In der Warteschlange","queuedCount":"{count} in der Warteschlange","running":"laufen","runningCount":"{count} l\xe4uft","ok":"Okay","activeLockouts":"Aktive Sperren","resetConfirm":"Alle Leistungsschalter in den fehlerfreien Zustand zur\xfccksetzen? Dadurch werden alle Fehlerz\xe4hlungen gel\xf6scht und alle Anbieter werden wieder in den Betriebszustand versetzt.","resetAllTitle":"Setzen Sie alle Leistungsschalter in den fehlerfreien Zustand zur\xfcck","resetting":"Zur\xfccksetzen...","resetAll":"Alles zur\xfccksetzen","until":"Bis {time}"},"limits":{"title":"Limits und Quoten","rateLimit":"Ratenbegrenzung","remaining":"\xdcbrig","requestsPerMinute":"Anfragen/Min","tokensPerMinute":"Token/Min","dailyLimit":"Tageslimit"},"logs":{"title":"Protokolle","requestLogs":"Fordern Sie Protokolle an","proxyLogs":"Proxy-Protokolle","auditLog":"Audit-Protokoll","console":"Konsole","auditLogDesc":"Verwaltungsma\xdfnahmen und Sicherheitsereignisse","loading":"Laden...","refresh":"Aktualisieren","filterByAction":"Nach Aktion filtern...","filterByActor":"Nach Schauspieler filtern...","filterEntriesAria":"Audit-Log-Eintr\xe4ge filtern","filterByActionTypeAria":"Filtern Sie nach Aktionstyp","filterByActorAria":"Nach Schauspieler filtern","refreshAuditLogAria":"Audit-Protokoll aktualisieren","tableAria":"Audit-Log-Eintr\xe4ge","failedFetchAuditLog":"Das Audit-Protokoll konnte nicht abgerufen werden","showing":"Zeigt {count} Eintr\xe4ge (Offset {offset})","search":"Suchen","timestamp":"Zeitstempel","action":"Aktion","actor":"Schauspieler","target":"Ziel","details":"Einzelheiten","ipAddress":"IP-Adresse","notAvailable":"—","noEntries":"Es wurden keine Audit-Log-Eintr\xe4ge gefunden","previous":"Zur\xfcck","next":"Als n\xe4chstes"},"onboarding":{"welcome":"Willkommen","security":"Sicherheit","test":"Testen","ready":"Bereit!","setPassword":"Passwort festlegen","addProvider":"F\xfcgen Sie Ihren ersten Anbieter hinzu","getStarted":"Legen Sie los","skip":"\xdcberspringen","skipWizard":"Den Assistenten vollst\xe4ndig \xfcberspringen","skipPassword":"Passwort-Einrichtung \xfcberspringen","skipAndContinue":"\xdcberspringen und fortfahren","passwordLabel":"Passwort","confirmPassword":"Passwort best\xe4tigen","enterPassword":"Passwort eingeben","confirmPasswordPlaceholder":"Passwort best\xe4tigen","passwordsMismatch":"Passw\xf6rter stimmen nicht \xfcberein","setupComplete":"Einrichtung abgeschlossen!","goToDashboard":"Gehen Sie zu Dashboard →","welcomeDesc":"OmniRoute ist Ihr lokaler AI-API-Proxy. Es leitet Anfragen mit Lastausgleich, Failover und Nutzungsverfolgung an mehrere KI-Anbieter weiter.","multiProvider":"Multi-Provider","usageTracking":"Nutzungsverfolgung","apiKeyMgmt":"API-Schl\xfcsselverwaltung","securityDesc":"Legen Sie ein Passwort fest, um Ihr Dashboard zu sch\xfctzen, oder \xfcberspringen Sie es zun\xe4chst.","providerDesc":"Verbinden Sie Ihren ersten KI-Anbieter. Sie k\xf6nnen sp\xe4ter weitere hinzuf\xfcgen.","apiKeyRequired":"API-Schl\xfcssel (erforderlich)","customUrlOptional":"Benutzerdefinierte URL (optional)","testDesc":"Lassen Sie uns \xfcberpr\xfcfen, ob Ihre Provider-Verbindung funktioniert.","runTest":"F\xfchren Sie einen Verbindungstest durch","testingConnection":"Verbindung wird getestet...","connectionSuccessful":"Verbindung erfolgreich! Ihr Anbieter ist bereit.","noProviderFound":"Kein Anbieter gefunden. Sie k\xf6nnen sp\xe4ter eines \xfcber das Dashboard hinzuf\xfcgen.","testFailed":"Der Test ist fehlgeschlagen, aber Sie k\xf6nnen dies sp\xe4ter konfigurieren.","couldNotTest":"Konnte momentan nicht testen. Sie k\xf6nnen den Test \xfcber das Dashboard durchf\xfchren.","doneDesc":"Sie sind bereit! Ihre OmniRoute-Instanz ist konfiguriert und bereit, KI-Anfragen weiterzuleiten.","yourEndpoint":"Ihr Endpunkt:","continue":"Weiter","retry":"Versuchen Sie es noch einmal","failedSetPassword":"Das Passwort konnte nicht festgelegt werden. Versuchen Sie es erneut.","failedAddProvider":"Anbieter konnte nicht hinzugef\xfcgt werden. Versuchen Sie es erneut.","connectionError":"Verbindungsfehler. Bitte versuchen Sie es erneut.","provider":"Anbieter"},"providers":{"title":"Anbieter","addProvider":"Anbieter hinzuf\xfcgen","editProvider":"Anbieter bearbeiten","deleteProvider":"Anbieter l\xf6schen","noProviders":"Keine Anbieter konfiguriert","modelAvailability":"Modellverf\xfcgbarkeit","accounts":"Konten","newAccount":"Neues Konto","deleteConfirm":"Sind Sie sicher, dass Sie diesen Anbieter l\xf6schen m\xf6chten?","testing":"Testen...","testConnection":"Testverbindung","testSuccess":"Verbindung erfolgreich","testFailed":"Verbindung fehlgeschlagen","available":"Verf\xfcgbar","cooldown":"Abklingzeit","unavailable":"Nicht verf\xfcgbar","unknown":"Unbekannt","oauthLabel":"OAuth","compatibleLabel":"Kompatibel","chat":"Chatten","responses":"Antworten","messages":"Nachrichten","oauthProviders":"OAuth-Anbieter","freeProviders":"Kostenlose Anbieter","apiKeyProviders":"API-Schl\xfcsselanbieter","compatibleProviders":"Mit API-Schl\xfcsseln kompatible Anbieter","testAll":"Alle testen","testAllOAuth":"Testen Sie alle OAuth-Verbindungen","testAllFree":"Testen Sie alle kostenlosen Verbindungen","testAllApiKey":"Testen Sie alle API-Schl\xfcsselverbindungen","testAllCompatible":"Testen Sie alle kompatiblen Verbindungen","connected":"{count} Verbunden","errorCount":"{count} Fehler ({code})","errorCountNoCode":"{count} Fehler","noConnections":"Keine Verbindungen","disabled":"Deaktiviert","enableProvider":"Anbieter aktivieren","disableProvider":"Anbieter deaktivieren","testResults":"Testergebnisse","noCompatibleYet":"Es wurden noch keine kompatiblen Anbieter hinzugef\xfcgt","compatibleHint":"Verwenden Sie die Schaltfl\xe4chen oben, um OpenAI- oder Anthropic-kompatible Endpunkte hinzuzuf\xfcgen","addOpenAICompatible":"OpenAI-kompatibel hinzuf\xfcgen","addAnthropicCompatible":"Anthropic-kompatibel hinzuf\xfcgen","addNewProvider":"Neuen Anbieter hinzuf\xfcgen","backToProviders":"Zur\xfcck zu Anbietern","configureNewProvider":"Konfigurieren Sie einen neuen KI-Anbieter zur Verwendung mit Ihren Anwendungen.","providerLabel":"Anbieter","selectProvider":"W\xe4hlen Sie einen Anbieter aus","selectedProvider":"Ausgew\xe4hlter Anbieter","authMethod":"Authentifizierungsmethode","apiKeyLabel":"API-Schl\xfcssel","apiKeyRequired":"API-Schl\xfcssel ist erforderlich","selectProviderRequired":"Bitte w\xe4hlen Sie einen Anbieter aus","enterApiKey":"Geben Sie Ihren API-Schl\xfcssel ein","apiKeySecure":"Ihr API-Schl\xfcssel wird verschl\xfcsselt und sicher gespeichert.","oauth2Connect":"Verbinden Sie sich mit OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Verbinden Sie Ihr Konto mithilfe der OAuth2-Authentifizierung.","displayName":"Anzeigename","displayNamePlaceholder":"z. B. Produktions-API, Entwicklungsumgebung","displayNameHint":"Optional. Ein benutzerfreundlicher Name zur Identifizierung dieser Konfiguration.","active":"Aktiv","activeDescription":"Aktivieren Sie diesen Anbieter f\xfcr die Verwendung in Ihren Anwendungen","cancel":"Abbrechen","createProvider":"Anbieter erstellen","failedCreate":"Anbieter konnte nicht erstellt werden","errorOccurred":"Es ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.","modelStatus":"Modellstatus","allModelsOperational":"Alle Modelle betriebsbereit","modelsWithIssues":"{count} Modell(e) mit Problemen","allModelsNormal":"Alle Modelle reagieren normal.","cooldownCleared":"Abklingzeit f\xfcr {model} gel\xf6scht","failedClearCooldown":"Die Abklingzeit konnte nicht gel\xf6scht werden","loadingAvailability":"Modellverf\xfcgbarkeit wird geladen...","clearCooldown":"Klar","clearing":"L\xf6schen...","until":"Bis {time}","providerTestFailed":"Anbietertest fehlgeschlagen","modeTest":"{mode} Test","passedCount":"{count} bestanden","failedCount":"{count} fehlgeschlagen","testedCount":"{count} getestet","millisecondsAbbr":"{value}ms","okShort":"Okay","errorShort":"FEHLER","noActiveConnectionsInGroup":"F\xfcr diese Gruppe wurden keine aktiven Verbindungen gefunden.","allTestsPassed":"Alle {total}-Tests bestanden","testSummary":"{passed}/{total} bestanden, {failed} fehlgeschlagen","nameLabel":"Name","prefixLabel":"Pr\xe4fix","baseUrlLabel":"Basis-URL","apiTypeLabel":"API-Typ","prefixHint":"Erforderlich. Eindeutiges Pr\xe4fix f\xfcr Modellnamen.","nameHint":"Erforderlich. Eine benutzerfreundliche Bezeichnung f\xfcr diesen Knoten.","baseUrlHint":"Erforderlich. Basis-URL der Anbieter-API.","anthropicPrefixPlaceholder":"AC-Prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Verbindung validieren","validating":"Validierung...","connectionValid":"Verbindung ist g\xfcltig!","connectionFailed":"Verbindung fehlgeschlagen. \xdcberpr\xfcfen Sie URL und Schl\xfcssel.","testKeyLabel":"API-Schl\xfcssel testen","testKeyPlaceholder":"sk-... (nur zur Validierung)","providerNotFound":"Anbieter nicht gefunden","deleteConnectionConfirm":"Diese Verbindung l\xf6schen?","failedSetAlias":"Alias konnte nicht festgelegt werden","failedSaveConnection":"Die Verbindung konnte nicht gespeichert werden","failedSaveConnectionRetry":"Die Verbindung konnte nicht gespeichert werden. Bitte versuchen Sie es erneut.","failedRetestConnection":"Die Verbindung konnte nicht erneut getestet werden","deleteCompatibleNodeConfirm":"Diesen {type} kompatiblen Knoten l\xf6schen?","anthropicCompatibleDetails":"Anthropic-kompatible Details","openaiCompatibleDetails":"Details zur OpenAI-Kompatibilit\xe4t","messagesApi":"Nachrichten-API","responsesApi":"Antwort-API","chatCompletions":"Chat-Abschl\xfcsse","importingModels":"Importieren...","importFromModels":"Import aus /models","addConnectionToImport":"F\xfcgen Sie eine Verbindung hinzu, um den Import zu erm\xf6glichen.","noModelsConfigured":"Keine Modelle konfiguriert","connectionCount":"{count} Verbindung(en)","fetchingModels":"Verf\xfcgbare Modelle werden abgerufen...","failedFetchModels":"Modelle konnten nicht abgerufen werden","noModelsFound":"Keine Modelle gefunden","importFailed":"Der Import ist fehlgeschlagen","noNewModelsAdded":"Es wurden keine neuen Modelle hinzugef\xfcgt.","adding":"Hinzuf\xfcgen...","importingModelsTitle":"Modelle importieren","copyModel":"Modell kopieren","removeModel":"Modell entfernen","rateLimitProtected":"Gesch\xfctzt","rateLimitUnprotected":"Ungesch\xfctzt","enableRateLimitProtection":"Klicken Sie hier, um den Ratenbegrenzungsschutz zu aktivieren","disableRateLimitProtection":"Klicken Sie hier, um den Ratenbegrenzungsschutz zu deaktivieren","productionKey":"Produktionsschl\xfcssel","enterNewApiKey":"Geben Sie einen neuen API-Schl\xfcssel ein","optional":"Optional","anthropicCompatibleName":"Anthropisch kompatibel","openaiCompatibleName":"OpenAI-kompatibel","failedImportModels":"Modelle konnten nicht importiert werden","noModelsReturnedFromEndpoint":"Vom /models-Endpunkt wurden keine Modelle zur\xfcckgegeben.","importingModelsProgress":"{current} von {total} Modellen werden importiert...","foundModelsStartingImport":"{count} Modelle gefunden. Import wird gestartet...","importingModelById":"{modelId} wird importiert...","importSuccessCount":"{count, plural, one {# model} other {# models}} erfolgreich importiert!","noNewModelsAddedExisting":"Es wurden keine neuen Modelle hinzugef\xfcgt (alle bereits vorhanden).","importDoneCount":"✓ Fertig! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Es ist ein unerwarteter Fehler aufgetreten","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"Nachrichten","responsesPath":"Antworten","chatCompletionsPath":"Chat/Abschl\xfcsse","add":"Hinzuf\xfcgen","edit":"Bearbeiten","delete":"L\xf6schen","anthropic":"Anthropisch","openai":"OpenAI","singleConnectionPerCompatible":"Pro kompatiblem Knoten ist nur eine Verbindung zul\xe4ssig. F\xfcgen Sie einen weiteren Knoten hinzu, wenn Sie mehr Verbindungen ben\xf6tigen.","connections":"Verbindungen","providerProxyTitleConfigured":"Anbieter-Proxy: {host}","configured":"konfiguriert","providerProxyConfigureHint":"Proxy f\xfcr alle Verbindungen dieses Anbieters konfigurieren","providerProxy":"Anbieter-Proxy","noConnectionsYet":"Noch keine Verbindungen","addFirstConnectionHint":"F\xfcgen Sie Ihre erste Verbindung hinzu, um loszulegen","addConnection":"Verbindung hinzuf\xfcgen","availableModels":"Verf\xfcgbare Modelle","pageAutoRefresh":"Die Seite wird automatisch aktualisiert...","statusDisabled":"deaktiviert","statusConnected":"verbunden","statusRuntimeIssue":"Laufzeitproblem","statusAuthFailed":"Authentifizierung fehlgeschlagen","statusRateLimited":"Tarif begrenzt","statusNetworkIssue":"Netzwerkproblem","statusTestUnsupported":"Test nicht unterst\xfctzt","statusUnavailable":"nicht verf\xfcgbar","statusFailed":"gescheitert","statusError":"Fehler","oauthAccount":"OAuth-Konto","errorTypeRuntime":"Lokale Laufzeit","errorTypeUpstreamAuth":"Upstream-Authentifizierung","errorTypeMissingCredential":"Fehlender Ausweis","errorTypeRefreshFailed":"Aktualisierung fehlgeschlagen","errorTypeTokenExpired":"Token abgelaufen","errorTypeRateLimited":"Preis begrenzt","errorTypeUpstreamUnavailable":"Upstream nicht verf\xfcgbar","errorTypeNetworkError":"Netzwerkfehler","errorTypeTestUnsupported":"Test nicht unterst\xfctzt","errorTypeUpstreamError":"Upstream-Fehler","proxySourceGlobal":"Global","proxySourceProvider":"Anbieter","proxySourceKey":"Schl\xfcssel","proxyConfiguredBySource":"Proxy ({source}): {host}","autoPriority":"Automatisch: {priority}","proxy":"Stellvertreter","retestAuthentication":"Authentifizierung erneut testen","retest":"Erneut testen","disableConnection":"Verbindung deaktivieren","enableConnection":"Verbindung aktivieren","reauthenticateConnection":"Authentifizieren Sie diese Verbindung erneut","proxyConfig":"Proxy-Konfiguration","aliasExistsAlert":"Alias „{alias}“ existiert bereits. Bitte verwenden Sie ein anderes Modell oder bearbeiten Sie den vorhandenen Alias.","openRouterAnyModelHint":"OpenRouter unterst\xfctzt jedes Modell. F\xfcgen Sie Modelle hinzu und erstellen Sie Aliase f\xfcr den schnellen Zugriff.","modelIdFromOpenRouter":"Modell-ID (von OpenRouter)","openRouterModelPlaceholder":"anthropisch/claude-3-opus","customModels":"Benutzerdefinierte Modelle","customModelsHint":"F\xfcgen Sie Modell-IDs hinzu, die nicht in der Standardliste enthalten sind. Diese stehen f\xfcr das Routing zur Verf\xfcgung.","modelId":"Modell-ID","customModelPlaceholder":"z.B. gpt-4,5-turbo","loading":"Laden...","removeCustomModel":"Benutzerdefiniertes Modell entfernen","noCustomModels":"Es wurden noch keine benutzerdefinierten Modelle hinzugef\xfcgt.","allSuggestedAliasesExist":"Alle vorgeschlagenen Aliase sind bereits vorhanden. Bitte w\xe4hlen Sie ein anderes Modell oder entfernen Sie widerspr\xfcchliche Aliase.","failedSaveCustomModel":"Das benutzerdefinierte Modell konnte nicht gespeichert werden","modelAddedSuccess":"Modell {modelId} erfolgreich hinzugef\xfcgt","failedAddModelTryAgain":"Modell konnte nicht hinzugef\xfcgt werden. Bitte versuchen Sie es erneut.","failedSaveImportedModel":"Das importierte Modell konnte nicht in der benutzerdefinierten Datenbank gespeichert werden","failedImportModelsTryAgain":"Modelle konnten nicht importiert werden. Bitte versuchen Sie es erneut.","failedRemoveModelFromDatabase":"Das Modell konnte nicht aus der Datenbank entfernt werden","modelRemovedSuccess":"Modell erfolgreich entfernt","failedDeleteModelTryAgain":"Modell konnte nicht gel\xf6scht werden. Bitte versuchen Sie es erneut.","compatibleModelsDescription":"F\xfcgen Sie {type}-kompatible Modelle manuell hinzu oder importieren Sie sie vom Endpunkt /models.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"Die Validierung des API-Schl\xfcssels ist fehlgeschlagen. Bitte \xfcberpr\xfcfen Sie Ihren Schl\xfcssel und versuchen Sie es erneut.","addProviderApiKeyTitle":"F\xfcgen Sie den API-Schl\xfcssel {provider} hinzu","checking":"\xdcberpr\xfcfen...","check":"\xdcberpr\xfcfen","valid":"G\xfcltig","invalid":"Ung\xfcltig","creating":"Erstellen...","validationChecksAnthropicCompatible":"Die Validierung pr\xfcft {provider} durch \xdcberpr\xfcfung des API-Schl\xfcssels.","validationChecksOpenAiCompatible":"Die Validierung pr\xfcft {provider} \xfcber /models auf Ihrer Basis-URL.","priorityLabel":"Priorit\xe4t","saving":"Sparen...","save":"Speichern","editConnection":"Verbindung bearbeiten","accountName":"Kontoname","email":"E-Mail","healthCheckMinutes":"Gesundheitscheck (Min.)","healthCheckHint":"Proaktives Token-Aktualisierungsintervall. 0 = deaktiviert.","failedTestConnection":"Die Verbindung konnte nicht getestet werden","failed":"Fehlgeschlagen","leaveBlankKeepCurrentApiKey":"Lassen Sie das Feld leer, um den aktuellen API-Schl\xfcssel beizubehalten.","editCompatibleTitle":"Bearbeiten Sie {type} kompatibel","compatibleBaseUrlHint":"Verwenden Sie die Basis-URL (die auf /v1 endet) f\xfcr Ihre {type}-kompatible API.","apiKeyForCheck":"API-Schl\xfcssel (zur \xdcberpr\xfcfung)","compatibleProdPlaceholder":"{type} Kompatibel (Prod)"},"settings":{"title":"Einstellungen","general":"Allgemein","security":"Sicherheit","appearance":"Aussehen","routing":"Routenf\xfchrung","cache":"Cache","resilience":"Belastbarkeit","systemPrompt":"Systemaufforderung","thinkingBudget":"Denkendes Budget","proxy":"Stellvertreter","pricing":"Preise","storage":"Lagerung","policies":"Richtlinien","ipFilter":"IP-Filter","comboDefaults":"Combo-Standardeinstellungen","fallbackChains":"Fallback-Ketten","changePassword":"Passwort \xe4ndern","enablePassword":"Passwort aktivieren","darkMode":"Dunkler Modus","lightMode":"Lichtmodus","systemTheme":"Systemthema","enableCache":"Cache aktivieren","cacheTTL":"Cache-TTL","maxCacheSize":"Maximale Cache-Gr\xf6\xdfe","clearCache":"Cache leeren","cacheHits":"Cache-Treffer","cacheMisses":"Cache-Fehler","hitRate":"Trefferquote","cacheEntries":"Cache-Eintr\xe4ge","circuitBreaker":"Leistungsschalter","retryPolicy":"Wiederholungsrichtlinie","maxRetries":"Max. Wiederholungsversuche","retryDelay":"Wiederholungsverz\xf6gerung","timeoutMs":"Timeout (ms)","enableSystemPrompt":"Aktivieren Sie die Systemaufforderung","systemPromptText":"Systemaufforderungstext","enableThinking":"Denken aktivieren","maxThinkingTokens":"Max Thinking Tokens","enableProxy":"Proxy aktivieren","proxyUrl":"Proxy-URL","pricingRates":"Preisformat","currentPricing":"Aktuelle Preis\xfcbersicht","loadingPricing":"Preisdaten werden geladen...","noPricing":"Keine Preisdaten verf\xfcgbar","input":"Eingabe","output":"Ausgabe","cached":"Zwischengespeichert","reasoning":"Begr\xfcndung","cacheCreation":"Cache-Erstellung","customPricing":"Individuelle Preise","databaseSize":"Datenbankgr\xf6\xdfe","backupDb":"Backup-Datenbank","restoreDb":"Datenbank wiederherstellen","exportData":"Daten exportieren","importData":"Daten importieren","clearData":"Alle Daten l\xf6schen","clearDataConfirm":"Dadurch werden alle Daten dauerhaft gel\xf6scht. Bist du sicher?","enableRequestLogs":"Aktivieren Sie Anforderungsprotokolle","logRetention":"Protokollaufbewahrung","ipWhitelist":"IP-Whitelist","ipBlacklist":"IP-Blacklist","addIP":"IP hinzuf\xfcgen","savedSuccessfully":"Einstellungen erfolgreich gespeichert","ai":"KI","advanced":"Fortgeschritten","localMode":"Lokaler Modus – Alle auf Ihrem Computer gespeicherten Daten","settingsSectionsAria":"Abschnitte „Einstellungen“.","switchThemes":"Wechseln Sie zwischen hellen und dunklen Themen","themeSelectionAria":"Themenauswahl","themeLight":"Licht","themeDark":"Dunkel","themeSystem":"System","hideHealthLogs":"Gesundheitspr\xfcfungsprotokolle ausblenden","hideHealthLogsDesc":"Wenn diese Option aktiviert ist, werden [HealthCheck]-Meldungen in der Serverkonsole unterdr\xfcckt","promptCache":"Prompt-Cache","flushCache":"Cache leeren","flushing":"Sp\xfclen…","size":"Gr\xf6\xdfe","hits":"Treffer","evictions":"R\xe4umungen","loadingCacheStats":"Cache-Statistiken werden geladen…","globalProxy":"Globaler Proxy","globalProxyDesc":"Konfigurieren Sie einen globalen ausgehenden Proxy f\xfcr alle API-Aufrufe. Einzelne Anbieter, Kombinationen und Schl\xfcssel k\xf6nnen dies au\xdfer Kraft setzen.","noGlobalProxy":"Kein globaler Proxy konfiguriert","globalLabel":"Global","configure":"Konfigurieren","globalSystemPrompt":"Globale Systemaufforderung","systemPromptDesc":"Wird in alle Anfragen auf Proxy-Ebene eingef\xfcgt","saved":"Gespeichert","systemPromptPlaceholder":"Geben Sie die Systemaufforderung ein, um alle Anfragen zu injizieren ...","systemPromptHint":"Diese Eingabeaufforderung wird der Systemnachricht jeder Anfrage vorangestellt. Wird f\xfcr globale Anweisungen, Sicherheitsrichtlinien oder Antwortformatierungsregeln verwendet.","chars":"{count} Zeichen","thinkingBudgetTitle":"Denkendes Budget","thinkingBudgetDesc":"Kontrollieren Sie die Verwendung von KI-Begr\xfcndungstoken f\xfcr alle Anfragen","passthrough":"Passthrough","passthroughDesc":"Keine \xc4nderungen – der Kunde kontrolliert das Denkbudget","auto":"Automatisch","autoDesc":"Entfernen Sie alle Denkkonfigurationen – lassen Sie den Anbieter entscheiden","custom":"Benutzerdefiniert","customDesc":"Legen Sie ein festes Token-Budget f\xfcr alle Anfragen fest","adaptive":"Adaptiv","adaptiveDesc":"Skalieren Sie das Budget basierend auf der Komplexit\xe4t der Anfrage","effortNone":"Keine (0 Token)","effortLow":"Niedrig (1.000 Token)","effortMedium":"Mittel (10.000 Token)","effortHigh":"Hoch (128.000 Token)","tokenBudget":"Token-Budget","tokens":"Token","baseEffortLevel":"Grundaufwandsstufe","adaptiveHint":"Der adaptive Modus skaliert ausgehend von dieser Basisebene basierend auf der Nachrichtenanzahl, der Tool-Nutzung und der Eingabeaufforderungsl\xe4nge.","requireLogin":"Anmeldung erforderlich","requireLoginDesc":"Wenn aktiviert, erfordert das Dashboard ein Passwort. Wenn AUS, Zugriff ohne Anmeldung.","currentPassword":"Aktuelles Passwort","enterCurrentPassword":"Geben Sie das aktuelle Passwort ein","newPassword":"Neues Passwort","enterNewPassword":"Geben Sie ein neues Passwort ein","confirmPassword":"Best\xe4tigen Sie das neue Passwort","confirmPasswordPlaceholder":"Best\xe4tigen Sie das neue Passwort","passwordsNoMatch":"Passw\xf6rter stimmen nicht \xfcberein","passwordUpdated":"Passwort erfolgreich aktualisiert","failedUpdatePassword":"Das Passwort konnte nicht aktualisiert werden","errorOccurred":"Es ist ein Fehler aufgetreten","updatePassword":"Passwort aktualisieren","setPassword":"Passwort festlegen","apiEndpointProtection":"API-Endpunktschutz","requireAuthModels":"API-Schl\xfcssel f\xfcr /models erforderlich","requireAuthModelsDesc":"Wenn diese Option aktiviert ist, gibt der Endpunkt /v1/models f\xfcr nicht authentifizierte Anforderungen 404 zur\xfcck. Verhindert die Modellerkennung durch nicht autorisierte Benutzer.","blockedProviders":"Gesperrte Anbieter","blockedProvidersDesc":"Verstecken Sie bestimmte Anbieter in der /v1/models-Antwort. Gesperrte Anbieter erscheinen nicht in den Modelllisten.","providersBlocked":"{count} Anbieter von /models blockiert","blockProviderTitle":"Blockieren Sie {provider}","unblockProviderTitle":"Entsperren Sie {provider}","routingStrategy":"Routing-Strategie","fillFirst":"Zuerst f\xfcllen","fillFirstDesc":"Verwenden Sie Konten in der Reihenfolge ihrer Priorit\xe4t","roundRobin":"Round Robin","roundRobinDesc":"Gehen Sie alle Konten durch","p2c":"P2C","p2cDesc":"W\xe4hlen Sie zuf\xe4llig zwei aus und verwenden Sie die ges\xfcndere","random":"Zuf\xe4llig","randomDesc":"Zuf\xe4lliges Konto bei jeder Anfrage","leastUsed":"Am wenigsten genutzt","leastUsedDesc":"W\xe4hlen Sie das zuletzt verwendete Konto aus","costOpt":"Kosten Opt","costOptDesc":"Bevorzugen Sie das g\xfcnstigste verf\xfcgbare Konto","stickyLimit":"Sticky-Limit","stickyLimitDesc":"Anrufe pro Konto vor dem Wechsel","modelAliases":"Modell-Aliase","modelAliasesDesc":"Platzhaltermuster zum Neuzuordnen von Modellnamen • Verwenden Sie * und ?","aliasPatternPlaceholder":"Claude-Sonett-*","aliasTargetPlaceholder":"claude-sonett-4-20250514","pattern":"Muster","targetModel":"Zielmodell","add":"+ Hinzuf\xfcgen","session":"Sitzung","sessionDetailsAria":"Sitzungsdetails","status":"Status","authenticated":"Authentifiziert","guest":"Gast","loginTime":"Anmeldezeit","sessionAge":"Sitzungsalter","browser":"Browser","clearLocalData":"Lokale Daten l\xf6schen","logout":"Abmelden","clearLocalDataConfirm":"Alle lokalen Daten l\xf6schen? Dadurch werden Ihre Einstellungen zur\xfcckgesetzt.","unknown":"Unbekannt","systemActor":"System","ipAccessControl":"IP-Zugriffskontrolle","ipAccessControlDesc":"Blockieren oder erlauben Sie bestimmte IP-Adressen","ipModeDisabled":"Deaktiviert","ipModeBlacklist":"Schwarze Liste","ipModeWhitelist":"Whitelist","ipModeWhitelistPriority":"WL-Priorit\xe4t","addIpAddress":"IP-Adresse hinzuf\xfcgen","ipAddressPlaceholder":"192.168.1.0/24 oder 10.0.*.*","block":"+ Blockieren","allow":"+ Erlauben","blocked":"Blockiert ({count})","allowed":"Erlaubt ({count})","temporaryBans":"Vor\xfcbergehende Sperren ({count})","minLeft":"{min}m \xfcbrig","auditLog":"Audit-Protokoll","searchAuditLogs":"Audit-Logs durchsuchen...","failedLoadAuditLog":"Das Audit-Protokoll konnte nicht geladen werden","noAuditEvents":"Keine Pr\xfcfereignisse gefunden","action":"Aktion","actor":"Schauspieler","details":"Einzelheiten","time":"Zeit","fallbackChainsTitle":"Fallback-Ketten","fallbackChainsDesc":"Definieren Sie die Anbieter-Fallback-Reihenfolge pro Modell","addChain":"+ Kette hinzuf\xfcgen","modelName":"Modellname","modelNamePlaceholder":"claude-sonett-4-20250514","providersCommaSeparated":"Anbieter (durch Kommas getrennt, nach Priorit\xe4t geordnet)","providersCommaSeparatedPlaceholder":"anthropisch, openai, Zwillinge","createChain":"Kette erstellen","noFallbackChains":"Keine Fallback-Ketten","noFallbackChainsDesc":"Erstellen Sie eine Kette, um die Anbieter-Fallback-Reihenfolge f\xfcr ein Modell zu definieren.","loadingFallbackChains":"Fallback-Ketten werden geladen...","deleteChainConfirm":"Fallback-Kette f\xfcr „{model}“ l\xf6schen?","chainCreated":"Kette f\xfcr {model} erstellt","chainDeleted":"Kette f\xfcr {model} gel\xf6scht","failedCreateChain":"Kette konnte nicht erstellt werden","failedDeleteChain":"Kette konnte nicht gel\xf6scht werden","deleteChain":"Kette l\xf6schen","fillModelAndProviders":"Bitte geben Sie Modellnamen und Anbieter ein","addAtLeastOneProvider":"F\xfcgen Sie mindestens einen Anbieter hinzu","comboDefaultsTitle":"Combo-Standardeinstellungen","globalComboConfig":"Globale Combo-Konfiguration","defaultStrategy":"Standardstrategie","defaultStrategyDesc":"Wird auf neue Combos ohne explizite Strategie angewendet","comboStrategyAria":"Combo-Strategie","priority":"Priorit\xe4t","weighted":"Gewichtet","maxRetriesLabel":"Max. Wiederholungsversuche","retryDelayLabel":"Wiederholungsverz\xf6gerung (ms)","timeoutLabel":"Timeout (ms)","healthCheck":"Gesundheitscheck","healthCheckDesc":"\xdcberpr\xfcfen Sie vorab die Verf\xfcgbarkeit des Anbieters","trackMetrics":"Verfolgen Sie Metriken","trackMetricsDesc":"Zeichnen Sie Metriken pro Kombinationsanforderung auf","providerOverrides":"Anbieter\xfcberschreibungen","providerOverridesDesc":"Zeit\xfcberschreitung und Wiederholungsversuche pro Anbieter au\xdfer Kraft setzen. Anbietereinstellungen \xfcberschreiben globale Standardeinstellungen.","providerMaxRetriesAria":"{provider} maximale Wiederholungsversuche","providerTimeoutAria":"{provider} Timeout ms","removeProviderOverrideAria":"Entfernen Sie die {provider}-\xdcberschreibung","newProviderNamePlaceholder":"z.B. Google, openai...","newProviderNameAria":"Neuer Anbietername","retries":"wiederholt","ms":"Frau","saveComboDefaults":"Combo-Standardeinstellungen speichern","maxNestingDepth":"Maximale Verschachtelungstiefe","concurrencyPerModel":"Parallelit\xe4t / Modell","queueTimeout":"Warteschlangen-Timeout (ms)","providerProfiles":"Anbieterprofile","providerProfilesDesc":"Separate Resilienzeinstellungen f\xfcr OAuth-Anbieter (sitzungsbasiert) und API-Schl\xfcsselanbieter (gemessen). OAuth-Anbieter haben aufgrund niedrigerer Ratenlimits strengere Schwellenwerte.","oauthProviders":"OAuth-Anbieter","apiKeyProviders":"API-Schl\xfcsselanbieter","transientCooldown":"Vor\xfcbergehende Abklingzeit","rateLimitCooldown":"Abklingzeit der Ratenbegrenzung","maxBackoffLevel":"Max. Backoff-Level","cbThreshold":"CB-Schwelle","cbResetTime":"CB-Resetzeit","rateLimiting":"Ratenbegrenzung","rateLimitingDesc":"API-Schl\xfcsselanbieter unterliegen automatisch einer Ratenbegrenzung mit sicheren Standardwerten. Grenzwerte werden aus Antwortheadern gelernt und passen sich im Laufe der Zeit an.","defaultSafetyNet":"Standard-Sicherheitsnetz","rpm":"U/min","minGap":"Min. L\xfccke","maxConcurrent":"Maximal gleichzeitig","activeLimiters":"Aktive Limiter","noActiveLimiters":"Noch keine aktiven Ratenbegrenzer.","reservoir":"Stausee","running":"Laufen","queued":"In der Warteschlange","circuitBreakers":"Leistungsschalter","breakerStateClosed":"Geschlossen","breakerStateOpen":"Offen","breakerStateHalfOpen":"Halboffen","tripped":"{count} ausgel\xf6st","healthy":"{count} gesund","resetAll":"Alles zur\xfccksetzen","noCircuitBreakers":"Noch keine Schutzschalter aktiv. Sie werden automatisch erstellt, wenn Anforderungen die Combo-Pipeline durchlaufen.","failures":"{count} Fehler(e)","policiesLocked":"Richtlinien und gesperrte Kennungen","allOperational":"Alle Systeme betriebsbereit – keine Aussperrungen oder ausgel\xf6sten Leistungsschalter","loadingPolicies":"Richtlinien werden geladen...","lockedIdentifiers":"Gesperrte Kennungen","unlockedIdentifier":"Entsperrt: {identifier}","sinceDate":"seit {date}","forceUnlock":"Entsperren erzwingen","unlocking":"Entsperren...","failedUnlock":"Entsperren fehlgeschlagen","failedLoadWithStatus":"Fehler beim Laden: {status}","failedLoadResilience":"Ausfallsicherheitsstatus konnte nicht geladen werden","saveFailed":"Speichern fehlgeschlagen","resetFailed":"Zur\xfccksetzen fehlgeschlagen","loadingResilience":"Resilienzstatus wird geladen...","retry":"Versuchen Sie es noch einmal","systemStorage":"System & Speicher","allDataLocal":"Alle Daten werden lokal auf Ihrem Computer gespeichert","databasePath":"Datenbankpfad","exportDatabase":"Datenbank exportieren","exportAll":"Alle exportieren (.tar.gz)","importDatabase":"Datenbank importieren","confirmDbImport":"Best\xe4tigen Sie den Datenbankimport","confirmDbImportDesc":"Dadurch werden alle aktuellen Daten durch den Inhalt von {file} ersetzt. Vor dem Import wird automatisch ein Backup erstellt.","yesImport":"Ja, Import","lastBackup":"Letzte Sicherung","noBackupYet":"Noch kein Backup","backupNow":"Jetzt sichern","backupRestore":"Sichern und Wiederherstellen","viewBackups":"Backups anzeigen","hide":"Verstecken","backupRetentionDesc":"Datenbank-Snapshots werden automatisch vor der Wiederherstellung und alle 15 Minuten erstellt, wenn sich Daten \xe4ndern. Aufbewahrung: 24 Stunden + 30 t\xe4gliche Backups mit intelligenter Rotation.","loadingBackups":"Backups werden geladen...","noBackupsYet":"Noch keine Backups verf\xfcgbar. Bei Daten\xe4nderungen werden automatisch Backups erstellt.","backupsAvailable":"{count} Backup(s) verf\xfcgbar","refresh":"Aktualisieren","confirm":"Best\xe4tigen?","yes":"Ja","no":"Nein","restore":"Wiederherstellen","invalidFileType":"Ung\xfcltiger Dateityp. Es werden nur .sqlite-Dateien akzeptiert.","exportFailed":"Der Export ist fehlgeschlagen","exportFailedWithError":"Export fehlgeschlagen: {error}","fullExportFailedWithError":"Vollst\xe4ndiger Export fehlgeschlagen: {error}","backupCreated":"Backup erstellt: {file}","restoreSuccess":"Restauriert! {connections} Verbindungen, {nodes} Knoten, {combos} Combos, {apiKeys} API-Schl\xfcssel.","importSuccess":"Datenbank importiert! {connections} Verbindungen, {nodes} Knoten, {combos} Combos, {apiKeys} API-Schl\xfcssel.","justNow":"gerade jetzt","minutesAgo":"Vor {count}m","hoursAgo":"Vor {count}h","daysAgo":"Vor {count}d","backupReasonManual":"Handbuch","backupReasonPreRestore":"vor der Wiederherstellung","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Keine \xc4nderungen seit der letzten Sicherung","backupFailed":"Die Sicherung ist fehlgeschlagen","restoreFailed":"Wiederherstellung fehlgeschlagen","importFailed":"Der Import ist fehlgeschlagen","errorDuringRestore":"Bei der Wiederherstellung ist ein Fehler aufgetreten","errorDuringImport":"Beim Import ist ein Fehler aufgetreten","modelPricing":"Modellpreise","modelPricingDesc":"Konfigurieren Sie die Kostens\xe4tze pro Modell. • Alle Preise in 1-Millionen-Dollar-Tokens","providers":"Anbieter","registry":"Registrierung","priced":"Preislich","searchProvidersModels":"Anbieter oder Modelle suchen...","showAll":"Alle anzeigen","noProvidersMatch":"Zu Ihrer Suche passen keine Anbieter.","howPricingWorks":"So funktioniert die Preisgestaltung","cacheWrite":"Cache-Schreiben","unsaved":"nicht gespeichert","resetDefaults":"Standardeinstellungen zur\xfccksetzen","saveProvider":"Anbieter speichern","saving":"Sparen...","model":"Modell","models":"Modelle","moreProviders":"{count} weitere Anbieter","withPricing":"mit konfigurierter Preisgestaltung","policiesCircuitBreakers":"Richtlinien und Leistungsschalter","activeIssuesDetected":"Aktive Probleme erkannt","off":"Aus","resetPricingConfirm":"Alle Preise f\xfcr {provider} auf die Standardwerte zur\xfccksetzen?","pricingDescInput":"Eingabe: An das Modell gesendete Token","pricingDescOutput":"Ausgabe: Token generiert","pricingDescCached":"Zwischengespeichert: Wiederverwendete Eingabe (~50 % der Eingaberate)","pricingDescReasoning":"Begr\xfcndung: Denktokens (greift auf Ausgabe zur\xfcck)","pricingDescCacheWrite":"Cache Write: Erstellen von Cache-Eintr\xe4gen (f\xe4llt auf Input zur\xfcck)","pricingDescFormula":"Kosten = (Eingabe \xd7 Eingaberate) + (Ausgabe \xd7 Ausgaberate) + (zwischengespeichert \xd7 zwischengespeicherte_Rate) pro Million Token.","pricingSettingsTitle":"Preiseinstellungen","totalModels":"Gesamtmodelle","active":"Aktiv","costCalculation":"Kostenberechnung","costCalculationDesc":"Die Kosten werden basierend auf der Token-Nutzung und den f\xfcr jedes Modell konfigurierten Preiss\xe4tzen berechnet.","pricingFormat":"Preisformat","pricingFormatDesc":"Alle Preise sind in $/1 Mio. Token angegeben (Dollar pro Million Token).","tokenTypes":"Token-Typen","inputTokenDesc":"Standard-Prompt-Token","outputTokenDesc":"Abschluss-/Antworttoken","cachedTokenDesc":"Zwischengespeicherte Eingabetokens (typischerweise 50\xa0% der Eingaberate)","reasoningTokenDesc":"Spezielle Argumentations-/Denk-Tokens (Fallback auf die Ausgaberate)","cacheCreationTokenDesc":"Token, die zum Erstellen von Cache-Eintr\xe4gen verwendet werden (Fallback auf Eingaberate)","customPricingNote":"Sie k\xf6nnen die Standardpreise f\xfcr bestimmte Modelle \xfcberschreiben. Benutzerdefinierte \xdcberschreibungen haben Vorrang vor automatisch erkannten Preisen.","editPricing":"Preise bearbeiten","viewFullDetails":"Vollst\xe4ndige Details anzeigen"},"translator":{"title":"\xdcbersetzer","metaTitle":"\xdcbersetzer-Spielplatz | OmniRoute","metaDescription":"Debuggen, testen und visualisieren Sie API-Format\xfcbersetzungen zwischen Anbietern","playgroundTitle":"\xdcbersetzerspielplatz","playground":"Spielplatz","realtime":"Echtzeit-\xdcbersetzungsaktivit\xe4t","chatTester":"Chat-Tester","testBench":"Pr\xfcfstand","liveMonitor":"Live-Monitor","modeDescriptionPlayground":"F\xfcgen Sie einen beliebigen API-Anfragetext ein und sehen Sie, wie OmniRoute ihn zwischen Anbieterformaten \xfcbersetzt (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","modeDescriptionChatTester":"Senden Sie echte Chat-Anfragen \xfcber OmniRoute und \xfcberpr\xfcfen Sie den gesamten Roundtrip: Eingabe, \xfcbersetzte Anfrage, Anbieterantwort und \xfcbersetzte Ausgabe.","modeDescriptionTestBench":"F\xfchren Sie vordefinierte Szenarien aus und vergleichen Sie die Kompatibilit\xe4t zwischen Anbietern und Modellen.","modeDescriptionLiveMonitor":"Beobachten Sie \xdcbersetzungsereignisse in Echtzeit, w\xe4hrend Anfragen \xfcber OmniRoute eingehen.","modeDescriptionFallback":"Debuggen, testen und visualisieren Sie, wie OmniRoute API-Anfragen zwischen Anbietern \xfcbersetzt.","recentTranslations":"Aktuelle \xdcbersetzungen","noTranslations":"Noch keine \xdcbersetzungen","source":"Quelle","target":"Ziel","time":"Zeit","model":"Modell","status":"Status","latency":"Latenz","totalTranslations":"Gesamt\xfcbersetzungen","successful":"Erfolgreich","errors":"Fehler","avgLatency":"Durchschnittliche Latenz","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Live – Automatische Aktualisierung","paused":"Angehalten","eventsAppearHint":"\xdcbersetzungsereignisse werden hier angezeigt, wenn Anforderungen \xfcber OmniRoute flie\xdfen. Verwenden Sie eine dieser Methoden, um Ereignisse zu generieren:","chatTesterTab":"Registerkarte „Chat-Tester“.","testBenchTab":"Registerkarte „Pr\xfcfstand“.","externalApiCalls":"Externe API-Aufrufe","ideCliIntegrations":"IDE/CLI-Integrationen","inMemoryNote":"Hinweis: Ereignisse werden im Speicher gespeichert und beim Neustart des Servers zur\xfcckgesetzt.","ok":"Okay","errorShort":"ERR","formatConverter":"Formatkonverter","formatConverterDescription":"F\xfcgen Sie einen JSON-Anfragetext ein oder geben Sie ihn ein. Der \xdcbersetzer erkennt das Quellformat automatisch und konvertiert es in das Zielformat. Verwenden Sie dies, um zu debuggen, wie OmniRoute Anfragen zwischen Formaten \xfcbersetzt (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Eingabe","output":"Ausgabe","auto":"Automatisch","swapFormats":"Formate austauschen","translateAction":"\xdcbersetzen","clear":"Klar","inputPlaceholder":"F\xfcgen Sie hier einen Anfragetext ein oder w\xe4hlen Sie unten eine Vorlage aus ...","exampleTemplates":"Beispielvorlagen","exampleTemplatesHint":"— Zum Laden klicken","templateLoadHint":"Die Vorlage l\xe4dt die Anfrage im Format {format}. \xc4ndern Sie das Quellformat, um es in einem anderen Format zu laden.","compatibilityTester":"Kompatibilit\xe4tstester","compatibilityReport":"Kompatibilit\xe4tsbericht","testBenchDescription":"F\xfchren Sie vordefinierte Szenarien aus (einfacher Chat, Tool-Aufruf usw.), um die \xdcbersetzung und die Anbieterkompatibilit\xe4t zu \xfcberpr\xfcfen. W\xe4hlen Sie ein Quellformat und einen Zielanbieter aus und f\xfchren Sie dann alle Tests durch, um einen Kompatibilit\xe4tsprozentsatz zu ermitteln. Verwenden Sie diese Funktion, um herauszufinden, welche Funktionen anbieter\xfcbergreifend funktionieren.","targetProvider":"Zielanbieter","runAllTests":"F\xfchren Sie alle Tests aus","runTest":"Test ausf\xfchren","reRun":"Wiederholen","running":"Laufen...","passed":"bestanden","failed":"gescheitert","passedIconLabel":"✅Bestanden","chunks":"Brocken","scenarioSimpleChat":"Einfacher Chat","scenarioToolCalling":"Werkzeugaufruf","scenarioMultiTurn":"Multiturn","scenarioThinking":"Denken","scenarioSystemPrompt":"Systemaufforderung","scenarioStreaming":"Streaming","templateNames":{"simple-chat":"Einfacher Chat","tool-calling":"Werkzeugaufruf","multi-turn":"Multiturn","thinking":"Denken","system-prompt":"Systemaufforderung","streaming":"Streaming"},"templateDescriptions":{"simple-chat":"Einfache Textnachricht","tool-calling":"Funktions-/Tool-Aufruf","multi-turn":"Gespr\xe4ch mit der Geschichte","thinking":"Erweitertes Denken / Argumentieren","system-prompt":"Komplexe Systemanweisungen","streaming":"SSE-Streaming-Anfrage"},"templatePayloads":{"simpleChat":{"system":"Sie sind ein hilfreicher Assistent.","userGreeting":"Hallo! Wie geht es dir heute?"},"toolCalling":{"userWeather":"Wie ist das Wetter in S\xe3o Paulo?","toolDescription":"Erhalten Sie das aktuelle Wetter f\xfcr einen Standort","cityNameDescription":"Stadtname"},"multiTurn":{"system":"Sie sind Codierungsassistent.","userInitial":"Schreiben Sie eine Funktion zum Sortieren eines Arrays in Python.","assistantExample":"Hier ist eine einfache Sortierfunktion:\\n\\n„Python\\ndef sort_array(arr):\\n R\xfcckgabe sortiert(arr)\\n„","userFollowUp":"Sortieren Sie nun in absteigender Reihenfolge."},"thinking":{"question":"Wie gro\xdf ist die Summe der ersten 100 Primzahlen?"},"systemPrompt":{"systemInstruction":"Sie sind ein leitender Softwareentwickler mit Spezialisierung auf verteilte Systeme. Beantworten Sie Fragen pr\xe4zise und nutzen Sie die Best Practices der Branche. Geben Sie bei Bedarf immer Codebeispiele an. Formatieren Sie Ihre Antworten mit Markdown.","question":"Wie setze ich ein Schutzschaltermuster um?"},"streaming":{"prompt":"Erz\xe4hlen Sie mir eine kurze Geschichte \xfcber einen Roboter, der malen lernt."}},"openaiCompatibleLabel":"OpenAI-kompatibel","anthropicCompatibleLabel":"Anthropisch kompatibel","noTemplateForFormat":"Keine Vorlage f\xfcr dieses Format","translationFailed":"\xdcbersetzung fehlgeschlagen: {error}","pipelineDebugger":"Pipeline-Debugger","translationPipeline":"\xdcbersetzungspipeline","pipelineVisualization":"Pipeline-Visualisierung","pipelineVisualizationHint":"Senden Sie eine Nachricht, um zu sehen, wie Ihre Anfrage durch Erkennung → \xdcbersetzung → Anbieteranruf verl\xe4uft.","chatTesterDescription":"Senden Sie Nachrichten in einem bestimmten Clientformat und \xfcberpr\xfcfen Sie jeden Schritt der \xdcbersetzungspipeline.","chatTesterFlow":"Client-Anfrage → Formaterkennung → OpenAI Intermediate → Anbieterformat → Antwort","clickStepToInspect":"Klicken Sie auf einen beliebigen Schritt, um die Daten in dieser Phase zu \xfcberpr\xfcfen.","clientFormat":"Client-Format","provider":"Anbieter","modelPlaceholder":"W\xe4hlen Sie einen Modellnamen aus oder geben Sie ihn ein...","sendMessageToSeePipeline":"Senden Sie eine Nachricht, um die \xdcbersetzungspipeline anzuzeigen","chatMessageHintPrefix":"Ihre Nachricht wird als formatiert","chatMessageHintSuffix":"Anfrage, \xfcbersetzt durch die Pipeline und gesendet an den ausgew\xe4hlten Anbieter.","youWithFormat":"Sie ({format})","assistant":"Assistent","typeMessage":"Geben Sie eine Nachricht ein...","send":"Senden","clientRequest":"Kundenanfrage","clientRequestDescription":"Der Anfragetext, wie ihn Ihr Kunde senden w\xfcrde","formatDetected":"Format erkannt","formatDetectedDescription":"OmniRoute erkennt das API-Format automatisch anhand der Anforderungsstruktur","openaiIntermediate":"OpenAI-Mittelstufe","openaiIntermediateDescription":"Alle Formate werden zun\xe4chst auf das OpenAI-Format (die universelle Br\xfccke) normalisiert.","providerFormat":"Anbieterformat","providerFormatDescription":"Das OpenAI-Format wird in das native Format des Anbieters \xfcbersetzt","providerResponse":"Antwort des Anbieters","providerResponseRawDescription":"Die Rohantwort der Anbieter-API","providerResponseSseDescription":"Der rohe SSE-Stream von der Anbieter-API","unexpectedError":"Es ist ein unerwarteter Fehler aufgetreten","error":"Fehler","errorMessage":"Fehler: {message}","requestFailed":"Die Anfrage ist fehlgeschlagen","noTextExtracted":"(Kein Text extrahiert)","liveMonitorDescriptionPrefix":"Zeigt \xdcbersetzungsereignisse an, w\xe4hrend API-Aufrufe \xfcber OmniRoute flie\xdfen. Ereignisse kommen aus dem In-Memory-Puffer (wird beim Neustart zur\xfcckgesetzt). Benutzen","liveMonitorDescriptionSuffix":"oder externe API-Aufrufe zum Generieren von Ereignissen."},"usage":{"title":"Nutzung","loggerTab":"Logger","proxyTab":"Stellvertreter","budgetManagement":"Budgetverwaltung","budgetSaved":"Budgetgrenzen eingespart","budgetSaveFailed":"Das Budget konnte nicht gespeichert werden","loadingBudgetData":"Budgetdaten werden geladen...","noApiKeysTitle":"Keine API-Schl\xfcssel","noApiKeysDescription":"F\xfcgen Sie zun\xe4chst API-Schl\xfcssel hinzu, um Budgetgrenzen festzulegen.","apiKey":"API-Schl\xfcssel","todaysSpend":"Heutige Ausgaben","thisMonth":"Diesen Monat","setLimits":"Grenzen setzen","dailyLimitUsd":"Tageslimit (USD)","monthlyLimitUsd":"Monatslimit (USD)","warningThresholdPercent":"Warnschwelle (%)","dailyLimitPlaceholder":"z.B. 5.00","monthlyLimitPlaceholder":"z.B. 50,00","warningThresholdPlaceholder":"80","saveLimits":"Grenzen speichern","budgetOk":"Budget OK – {remaining} verbleibend","budgetExceeded":"Budget \xfcberschritten – Anfragen werden m\xf6glicherweise blockiert","totalRequests":"Gesamtzahl der Anfragen","noDataYet":"Noch keine Daten","latency":"Latenz","latencyP50":"S. 50","latencyP95":"S. 95","latencyP99":"S. 99","promptCache":"Prompt-Cache","systemHealth":"Systemgesundheit","entries":"Eintr\xe4ge","activeCount":"{count} aktiv","openCircuitBreakersDetected":"Offene Leistungsschalter erkannt","hitRate":"Trefferquote","hitsMisses":"Treffer/Fehlschl\xe4ge","circuitBreakers":"Leistungsschalter","lockedIPs":"Gesperrte IPs","lockoutsAutoRefreshHint":"Ratenbegrenzungssperren pro Modell • Automatische Aktualisierung 10 Sekunden","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} \xfcbrig","howItWorks":"Wie es funktioniert","howItWorksSubtitle":"Erfahren Sie, wie Bewertungen Ihre LLM-Antworten validieren","define":"Definieren","defineStepDescription":"Erstellen Sie Testf\xe4lle mit Eingabeaufforderungen und erwarteten Ausgabekriterien mithilfe von Strategien wie „Enth\xe4lt“, „Regex“ oder „Genaue \xdcbereinstimmung“.","run":"Lauf","runStepDescription":"F\xfchren Sie Testf\xe4lle f\xfcr Ihre LLM-Endpunkte \xfcber OmniRoute aus. Jeder Fall wird als echte API-Anfrage gesendet.","evaluate":"Bewerten","evaluateStepDescription":"Die Antworten werden mit den erwarteten Kriterien verglichen. Sehen Sie sich f\xfcr jeden Fall das Bestehen/Nichtbestehen mit Latenzmetriken und detailliertem Feedback an.","evalSuites":"Evaluierungssuiten","evalSuitesHint":"Klicken Sie auf eine Suite, um Testf\xe4lle anzuzeigen, und f\xfchren Sie sie dann aus, um Ihre LLM-Endpunkte zu bewerten","evalsLoading":"Evaluierungssuiten werden geladen...","noEvalSuitesFound":"Keine Evaluierungssuiten gefunden","noEvalSuitesDescription":"Evaluierungssuiten k\xf6nnen \xfcber die API oder im Code definiert werden. Sie testen Modellausgaben anhand erwarteter Ergebnisse mithilfe von Strategien wie „Contains“, „Regex“, „Exact Match“ und benutzerdefinierten Funktionen.","columnCase":"Fall","columnStatus":"Status","columnLatency":"Latenz","columnDetails":"Einzelheiten","columnModel":"Modell","columnStrategy":"Strategie","columnExpected":"Erwartet","statsSuites":"Suiten","statsTestCases":"Testf\xe4lle","statsModels":"Modelle","statsCoverage":"Abdeckung","statsStrategiesCount":"{count} Strategien","evaluationStrategies":"Bewertungsstrategien","modelsUnderTest":"Im Test befindliche Modelle","searchSuitesPlaceholder":"Suiten suchen...","passSuffix":"passieren","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"F\xfchren Sie die Evaluierung aus","runningProgress":"Ausf\xfchren von {current}/{total}...","passRate":"Erfolgsquote","summaryBreakdown":"{passed} bestanden \xb7 {failed} fehlgeschlagen \xb7 {total} insgesamt","passedIconLabel":"✅Bestanden","failedIconLabel":"❌ Fehlgeschlagen","detailsContains":"Enth\xe4lt: „{term}“","detailsRegex":"Regex: {pattern}","detailsExpected":"Erwartet: „{expected}“","noResultsYet":"Noch keine Ergebnisse","testCasesCount":"Testf\xe4lle ({count})","noTestCasesDefined":"Keine Testf\xe4lle definiert","runEvalHint":"Klicken Sie auf „Auswertung ausf\xfchren“, um alle F\xe4lle f\xfcr Ihren LLM-Endpunkt auszuf\xfchren. Jeder Test sendet eine echte Anfrage \xfcber OmniRoute.","notifyNoTestCases":"F\xfcr diese Suite sind keine Testf\xe4lle definiert","notifyAllCasesPassed":"Alle {total} F\xe4lle bestanden ✅","notifySomeCasesFailed":"{passed}/{total} bestanden, {failed} fehlgeschlagen","notifyEvalRunFailed":"Evaluierungslauf fehlgeschlagen","notifyEvalTitle":"Auswertung: {name}","modelEvals":"Modellbewertungen","evalsHeroDescription":"Testen und validieren Sie Ihre LLM-Endpunkte, indem Sie vordefinierte Evaluierungssuiten ausf\xfchren. Jede Suite enth\xe4lt Testf\xe4lle, die echte Eingabeaufforderungen \xfcber OmniRoute senden und Antworten mit erwarteten Kriterien vergleichen. So k\xf6nnen Sie Regressionen erkennen, Modelle vergleichen und die Antwortqualit\xe4t anbieter\xfcbergreifend sicherstellen.","qualityValidation":"Qualit\xe4tsvalidierung","modelComparison":"Modellvergleich","regressionDetection":"Regressionserkennung","latencyBenchmarks":"Latenz-Benchmarks","modelLockouts":"Modellsperren","noLockouts":"Derzeit sind keine Modelle gesperrt","activeSessions":"Aktive Sitzungen","noSessions":"Keine aktiven Sitzungen","sessionsHint":"Sitzungen erscheinen als Anfragen, die \xfcber den Proxy flie\xdfen","sessionsTrackedHint":"Verfolgt \xfcber Anforderungs-Fingerprinting • Automatische Aktualisierung 5 Sekunden","session":"Sitzung","age":"Alter","requests":"Anfragen","connection":"Verbindung","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Anbieterbeschr\xe4nkungen","noProviders":"Keine Anbieter verbunden","connectProvidersForQuota":"Stellen Sie \xfcber OAuth eine Verbindung zu Anbietern her, um Ihre API-Kontingentgrenzen und -Nutzung zu verfolgen.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(gefiltert aus {count})","autoRefresh":"Automatische Aktualisierung","refreshAll":"Alle aktualisieren","loadingQuotas":"Laden...","account":"Konto","modelQuotas":"Modellkontingente","lastUsed":"Zuletzt verwendet","actions":"Aktionen","refreshQuota":"Kontingent aktualisieren","today":"Heute","tomorrow":"Morgen","dayTimeFormat":"{day}, {time}","inDuration":"in {duration}","notApplicable":"N/A","rawPlanWithValue":"Rohplan: {plan}","noPlanFromProvider":"Kein Plan vom Anbieter","noQuotaData":"Keine Quotendaten","noQuotaDataAvailable":"Keine Quotendaten verf\xfcgbar","noAccountsForTierFilter":"F\xfcr den Stufenfilter wurden keine Konten gefunden","tierAll":"Alle","tierEnterprise":"Unternehmen","tierTeam":"Team","tierBusiness":"Gesch\xe4ft","tierUltra":"Ultra","tierPro":"Profi","tierPlus":"Plus","tierFree":"Kostenlos","tierUnknown":"Unbekannt"},"modals":{"waitingAuth":"Warten auf Autorisierung","verificationUrl":"Verifizierungs-URL","yourCode":"Ihr Code","remoteAccess":"Fernzugriff:","connectedSuccess":"Erfolgreich verbunden!","connectionFailed":"Verbindung fehlgeschlagen","chooseAuthMethod":"W\xe4hlen Sie Ihre Authentifizierungsmethode:","awsBuilderId":"AWS Builder-ID","awsIamIdentity":"AWS IAM Identity Center","googleAccount":"Google-Konto","githubAccount":"GitHub-Konto","importToken":"Token importieren","pasteToken":"Aktualisierungstoken aus der Kiro-IDE einf\xfcgen.","awsRegion":"AWS-Region","autoDetecting":"Automatische Erkennung von Token...","readingFromCache":"Lesen aus dem AWS SSO-Cache","readingFromCursor":"Lesen aus der Cursor-IDE-Datenbank","initializing":"Initialisierung...","pricingConfig":"Preiskonfiguration","loadingPricing":"Preisdaten werden geladen...","pricingRatesFormat":"Preisformat","noPricingData":"Keine Preisdaten verf\xfcgbar","noModelsFound":"Keine Modelle gefunden"},"loggers":{"allProviders":"Alle Anbieter","allModels":"Alle Modelle","allAccounts":"Alle Konten","allApiKeys":"Alle API-Schl\xfcssel","allTypes":"Alle Typen","allLevels":"Alle Ebenen","modelAZ":"Modell A-Z","modelZA":"Modell Z-A","loadingLogs":"Protokolle werden geladen...","loadingProxyLogs":"Proxy-Protokolle werden geladen...","noLogEntries":"Keine Protokolleintr\xe4ge gefunden","noPayloadData":"F\xfcr diesen Protokolleintrag sind keine Nutzdaten verf\xfcgbar.","proxyEvent":"Proxy-Ereignis","proxy":"Stellvertreter","level":"Ebene","directNative":"Direkt (nativ)","combo":"Kombi","inputTokens":"Ich:","outputTokens":"O:"},"stats":{"usageOverview":"Nutzungs\xfcbersicht","outputTokens":"Ausgabetoken","totalCost":"Gesamtkosten","usageByModel":"Nutzung nach Modell","usageByAccount":"Nutzung nach Konto","failedToLoad":"Nutzungsstatistiken konnten nicht geladen werden.","tokenHealth":"Token-Gesundheit","totalOAuth":"Gesamt-OAuth","healthy":"Gesund","warning":"Warnung","errored":"Fehlerhaft","lastCheck":"Letzte Kontrolle","noData":"Keine Daten","share":"Teilen","unableToLoad":"Systemmetriken k\xf6nnen nicht geladen werden","product":"Produkt","resources":"Ressourcen","company":"Unternehmen"},"auth":{"welcome":"Willkommen","signIn":"Melden Sie sich an","enterPassword":"Geben Sie Ihr Passwort ein, um fortzufahren","password":"Passwort","unifiedProxy":"Einheitlicher KI-API-Proxy","unifiedAiApiProxy":"Einheitlicher KI-API-Proxy","unifiedAiApiProxyDesc":"Leiten Sie Anfragen \xfcber einen einzigen Endpunkt an mehrere KI-Anbieter weiter. Integrierter Lastausgleich, Failover und Nutzungsverfolgung.","passwordNotEnabled":"Der Passwortschutz ist nicht aktiviert","loading":"Laden...","invalidPassword":"Ung\xfcltiges Passwort","errorOccurredRetry":"Es ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.","configureInstance":"Lassen Sie uns Ihre OmniRoute-Instanz konfigurieren","runOnboardingWizard":"F\xfchren Sie den Onboarding-Assistenten aus, um Ihr Passwort einzurichten und Ihren ersten KI-Anbieter zu verbinden.","startOnboarding":"Beginnen Sie mit dem Onboarding","secureYourInstance":"Sichern Sie Ihre Instanz","setPasswordDescription":"Legen Sie ein Passwort fest, um Ihr Dashboard zu sch\xfctzen und Ihre API-Endpunkte vor unbefugtem Zugriff zu sch\xfctzen.","configurePassword":"Passwort konfigurieren","continue":"Weiter","windowWillClose":"Dieses Fenster wird automatisch geschlossen...","closeTabNow":"Sie k\xf6nnen diesen Tab jetzt schlie\xdfen.","copyUrlManual":"Kopieren Sie die URL aus der Adressleiste und f\xfcgen Sie sie in die Anwendung ein.","accessDeniedDescription":"Sie haben keine Berechtigung, auf diese Ressource zuzugreifen. \xdcberpr\xfcfen Sie Ihren API-Schl\xfcssel oder wenden Sie sich an den Administrator.","goToDashboard":"Gehen Sie zum Dashboard","featureMultiProviderTitle":"Multi-Provider","featureMultiProviderDesc":"OpenAI, Anthropic, Google und mehr","featureLoadBalancingTitle":"Lastausgleich","featureLoadBalancingDesc":"Verteilen Sie Anfragen intelligent","featureUsageTrackingTitle":"Nutzungsverfolgung","featureUsageTrackingDesc":"\xdcberwachen Sie Kosten und Token","resetPassword":"Passwort zur\xfccksetzen","resetDescription":"W\xe4hlen Sie eine Methode, um den Zugriff auf Ihr Dashboard wiederherzustellen","stopServer":"Stoppen Sie den OmniRoute-Server","processing":"Verarbeitung...","pleaseWait":"Bitte warten Sie, w\xe4hrend wir die Autorisierung abschlie\xdfen.","authSuccess":"Autorisierung erfolgreich!","copyUrl":"Kopieren Sie diese URL","accessDenied":"Zugriff verweigert","methodCliTitle":"Methode 1: CLI-Reset","methodCliDescription":"F\xfchren Sie den folgenden Befehl auf dem Server aus, auf dem OmniRoute ausgef\xfchrt wird:","methodCliHint":"Dadurch werden Sie aufgefordert, ein neues Passwort festzulegen. Der Server muss zuerst gestoppt werden.","methodManualTitle":"Methode 2: Manuelles Zur\xfccksetzen","methodManualDescription":"L\xf6schen Sie das Passwort aus der Datenbank und legen Sie beim Start ein neues fest:","setPasswordInYour":"Legen Sie ein neues Passwort in Ihrer","fileLabelSuffix":"Datei:","newPasswordPlaceholder":"ihr_neues_passwort","deleteSettingsFile":"L\xf6schen","orRemovePasswordHashField":"oder entfernen Sie das Feld „passwordHash“.","restartServerWithNewPassword":"Starten Sie den Server neu – er verwendet das neue Passwort","backToLogin":"Zur\xfcck zum Anmelden","forgotPassword":"Passwort vergessen?"},"landing":{"brandName":"OmniRoute","navigateHome":"Navigieren Sie zur Startseite","toggleMenu":"Men\xfc umschalten","featuresLink":"Funktionen","docsLink":"Dokumente","github":"GitHub","versionLive":"v1.0 ist jetzt live","oneEndpoint":"Ein Endpunkt f\xfcr","allProviders":"Alle KI-Anbieter","heroDescription":"KI-Endpunkt-Proxy mit Web-Dashboard – Eine JavaScript-Portierung von CLIProxyAPI. Funktioniert nahtlos mit Claude Code, OpenAI Codex, Cline, RooCode und anderen CLI-Tools.","getStarted":"Legen Sie los","viewOnGithub":"Auf GitHub ansehen","powerfulFeatures":"Leistungsstarke Funktionen","featuresSubtitle":"Alles, was Sie zum Verwalten Ihrer KI-Infrastruktur ben\xf6tigen, an einem Ort, skalierbar.","featureUnifiedEndpointTitle":"Einheitlicher Endpunkt","featureUnifiedEndpointDesc":"Greifen Sie \xfcber eine einzige Standard-API-URL auf alle Anbieter zu.","featureEasySetupTitle":"Einfache Einrichtung","featureEasySetupDesc":"Mit dem Befehl npx k\xf6nnen Sie in wenigen Minuten loslegen.","featureModelFallbackTitle":"Modell-Fallback","featureModelFallbackDesc":"Wechseln Sie automatisch den Anbieter bei Ausfall oder hoher Latenz.","featureUsageTrackingTitle":"Nutzungsverfolgung","featureUsageTrackingDesc":"Detaillierte Analysen und Kosten\xfcberwachung f\xfcr alle Modelle.","featureOAuthApiKeysTitle":"OAuth- und API-Schl\xfcssel","featureOAuthApiKeysDesc":"Verwalten Sie Anmeldeinformationen sicher in einem Tresor.","featureCloudSyncTitle":"Cloud-Synchronisierung","featureCloudSyncDesc":"Synchronisieren Sie Ihre Konfigurationen sofort ger\xe4te\xfcbergreifend.","featureCliSupportTitle":"CLI-Unterst\xfctzung","featureCliSupportDesc":"Funktioniert mit Claude Code, Codex, Cline, Cursor und mehr.","featureDashboardTitle":"Armaturenbrett","featureDashboardDesc":"Visuelles Dashboard f\xfcr Echtzeit-Verkehrsanalyse.","howItWorks":"So funktioniert OmniRoute","howItWorksDescription":"Die Daten flie\xdfen nahtlos von Ihrer Anwendung \xfcber unsere intelligente Routing-Ebene zum besten Anbieter f\xfcr die jeweilige Aufgabe.","howItWorksStep1Title":"1. CLI und SDKs","howItWorksStep1Description":"Ihre Anfragen beginnen mit Ihren bevorzugten Tools oder unserem einheitlichen SDK. \xc4ndern Sie einfach die Basis-URL.","howItWorksStep2Title":"2. OmniRoute-Hub","howItWorksStep2Description":"Unsere Engine analysiert die Eingabeaufforderung, \xfcberpr\xfcft den Zustand des Anbieters und leitet Routen auf niedrigste Latenz oder Kosten weiter.","howItWorksStep3Title":"3. KI-Anbieter","howItWorksStep3Description":"Die Anfrage wird von OpenAI, Anthropic, Gemini oder anderen sofort erf\xfcllt.","getStartedIn30Seconds":"Beginnen Sie in 30 Sekunden","getStartedDescription":"Installieren Sie OmniRoute, konfigurieren Sie Ihre Anbieter \xfcber das Web-Dashboard und beginnen Sie mit der Weiterleitung von KI-Anfragen.","installOmniRoute":"Installieren Sie OmniRoute","installStepDescription":"F\xfchren Sie den Befehl npx aus, um den Server sofort zu starten","openDashboard":"\xd6ffnen Sie das Dashboard","openDashboardStepDescription":"Konfigurieren Sie Anbieter und API-Schl\xfcssel \xfcber die Weboberfl\xe4che","routeRequests":"Routenanfragen","routeRequestsStepDescription":"Richten Sie Ihre CLI-Tools auf {endpoint}","terminal":"Terminal","copy":"Kopieren","copied":"✓ Kopiert","startingOmniRoute":"OmniRoute wird gestartet...","serverRunningOnLabel":"Server l\xe4uft weiter","dashboardLabel":"Armaturenbrett","readyToRoute":"Bereit zum Routen! ✓","configureProvidersNote":"\uD83D\uDCDD Konfigurieren Sie Anbieter im Dashboard oder verwenden Sie Umgebungsvariablen","dataLocation":"Datenspeicherort:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Windows:","product":"Produkt","dashboardLink":"Armaturenbrett","changelog":"\xc4nderungsprotokoll","resources":"Ressourcen","documentation":"Dokumentation","npm":"NPM","legal":"Legal","mitLicense":"MIT-Lizenz","footerTagline":"Der einheitliche Endpunkt f\xfcr die KI-Generierung. Verbinden, leiten und verwalten Sie Ihre KI-Anbieter ganz einfach.","copyright":"\xa9 {year} OmniRoute. Alle Rechte vorbehalten.","flowToolClaudeCode":"Claude Code","flowToolOpenAICodex":"OpenAI-Codex","flowToolCline":"Cline","flowToolCursor":"Cursor","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Anthropisch","flowProviderGemini":"Zwillinge","flowProviderGithubCopilot":"GitHub-Copilot","interactiveDiagram":"Interaktives Diagramm auf dem Desktop sichtbar","ctaTitle":"Sind Sie bereit, Ihre KI-Infrastruktur zu vereinfachen?","ctaDescription":"Schlie\xdfen Sie sich Entwicklern an, die ihre KI-Integrationen mit OmniRoute optimieren. Open Source und kostenlos zu starten.","startFree":"Kostenlos starten","readDocumentation":"Dokumentation lesen"},"docs":{"title":"Dokumentation","quickStart":"Schnellstart","features":"Funktionen","supportedProviders":"Unterst\xfctzte Anbieter","supportedProvidersToc":"Anbieter","commonUseCases":"H\xe4ufige Anwendungsf\xe4lle","clientCompatibility":"Client-Kompatibilit\xe4t","apiReference":"API-Referenz","method":"Methode","path":"Pfad","notes":"Notizen","modelPrefixes":"Modellpr\xe4fixe","prefix":"Pr\xe4fix","troubleshooting":"Fehlerbehebung","supportsChat":"Unterst\xfctzt sowohl Chat- als auch Antwortendpunkte.","oauthAutoRefresh":"OAuth-Verbindung mit automatischer Token-Aktualisierung.","fullStreaming":"Volle Streaming-Unterst\xfctzung f\xfcr alle Modelle.","docsLabel":"Dokumente","docsHeroDescription":"KI-Gateway f\xfcr LLMs mit mehreren Anbietern. Ein Endpunkt f\xfcr OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor und \xfcber 20 weitere Anbieter.","openDashboard":"\xd6ffnen Sie das Dashboard","endpointPage":"Endpunktseite","github":"GitHub","reportIssue":"Problem melden","onThisPage":"Auf dieser Seite","documentationVersion":"Dokumentation – v{version}","quickStartStep1Title":"1. Installieren und ausf\xfchren","quickStartStep1Prefix":"Lauf","quickStartStep1Middle":"oder von GitHub klonen und ausf\xfchren","quickStartStep2Title":"2. API-Schl\xfcssel erstellen","quickStartStep2Text":"Gehen Sie zu Endpunkt -> Registrierte Schl\xfcssel. Generieren Sie einen Schl\xfcssel pro Umgebung.","quickStartStep3Title":"3. Anbieter verbinden","quickStartStep3Text":"F\xfcgen Sie Anbieterkonten \xfcber OAuth-Login, API-Schl\xfcssel oder kostenlose automatische Verbindung hinzu.","quickStartStep4Title":"4. Legen Sie die Client-Basis-URL fest","quickStartStep4Prefix":"Verweisen Sie Ihren IDE- oder API-Client auf","quickStartStep4Suffix":"Verwenden Sie beispielsweise das Provider-Pr\xe4fix","featureRoutingTitle":"Multi-Provider-Routing","featureRoutingText":"Leiten Sie Anfragen \xfcber einen einzigen OpenAI-kompatiblen Endpunkt an \xfcber 30 KI-Anbieter weiter. Unterst\xfctzt Chat-, Antwort-, Audio- und Bild-APIs.","featureCombosTitle":"Combos und Balancing","featureCombosText":"Erstellen Sie Modellkombinationen mit Fallback-Ketten und Ausgleichsstrategien: Round-Robin, Priorit\xe4t, Zufall, am wenigsten genutzt und kostenoptimiert.","featureUsageTitle":"Nutzungs- und Kostenverfolgung","featureUsageText":"Echtzeit-Token-Z\xe4hlung, Kostenberechnung pro Anbieter/Modell und detaillierte Nutzungsaufschl\xfcsselung nach API-Schl\xfcssel und Konto.","featureAnalyticsTitle":"Analytics-Dashboard","featureAnalyticsText":"Visuelle Analysen mit Diagrammen f\xfcr Anfragen, Token, Fehler, Latenz, Kosten und Modellpopularit\xe4t im Zeitverlauf.","featureHealthTitle":"Gesundheits\xfcberwachung","featureHealthText":"Live-Zustandspr\xfcfungen, Anbieterstatus, Leistungsschalterzust\xe4nde und automatische Erkennung von Ratengrenzen mit exponentiellem Backoff.","featureCliTitle":"CLI-Tools","featureCliText":"Verwalten Sie IDE-Konfigurationen, exportieren/importieren Sie Backups, entdecken Sie Codex-Profile und konfigurieren Sie Einstellungen \xfcber das Dashboard.","featureSecurityTitle":"Sicherheit und Richtlinien","featureSecurityText":"API-Schl\xfcsselauthentifizierung, IP-Filterung, Prompt-Injection-Guard, Dom\xe4nenrichtlinien, Sitzungsverwaltung und Audit-Protokollierung.","featureCloudSyncTitle":"Cloud-Synchronisierung","featureCloudSyncText":"Synchronisieren Sie Ihre Konfiguration mit Cloudflare Workers f\xfcr den Fernzugriff mit verschl\xfcsselten Anmeldeinformationen und automatischem Failover.","providersAcrossConnectionTypes":"{count}-Anbieter \xfcber drei Verbindungstypen hinweg.","manageProviders":"Anbieter verwalten","providersCount":"{count} Anbieter","providerTypeFree":"Kostenloses Kontingent","providerTypeOAuth":"OAuth","providerTypeApiKey":"API-Schl\xfcssel","useCaseSingleEndpointTitle":"Ein einziger Endpunkt f\xfcr viele Anbieter","useCaseSingleEndpointText":"Verweisen Sie Clients auf eine Basis-URL und leiten Sie sie nach Modellpr\xe4fix weiter (z. B. gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Fallback und Modellwechsel mit Combos","useCaseFallbackText":"Erstellen Sie Kombinationsmodelle im Dashboard und halten Sie die Clientkonfiguration stabil, w\xe4hrend die Anbieter intern rotieren.","useCaseUsageVisibilityTitle":"Nutzung, Kosten und Debug-Sichtbarkeit","useCaseUsageVisibilityText":"Verfolgen Sie Token und Kosten nach Anbieter, Konto und API-Schl\xfcssel auf den Registerkarten „Nutzung“ und „Analyse“.","clientCherryStudioTitle":"Kirschstudio","baseUrlLabel":"Basis-URL","chatEndpointLabel":"Chat-Endpunkt","modelRecommendationLabel":"Modellempfehlung: explizites Pr\xe4fix","clientCodexTitle":"Codex/GitHub-Copilot-Modelle","clientCodexBullet1":"Verwenden Sie Modell-IDs mit","clientCodexBullet2":"Modelle der Codex-Familie leiten automatisch zu","clientCodexBullet3":"Nicht-Codex-Modelle bleiben bestehen","clientCursorTitle":"Cursor-IDE","clientCursorBullet1":"Benutzen","clientCursorBullet1Suffix":"Pr\xe4fix f\xfcr Cursor-Modelle.","clientCursorBullet2":"OAuth-Verbindung – Anmeldung \xfcber die Anbieterseite.","clientClaudeTitle":"Claude Code / Antigravitation","clientClaudeBullet1Prefix":"Benutzen","clientClaudeBullet1Middle":"(Claude) oder","clientClaudeBullet1Suffix":"Pr\xe4fix (Antigravitation).","endpointChatNote":"OpenAI-kompatibler Chat-Endpunkt (Standard).","endpointResponsesNote":"Antwort-API-Endpunkt (Codex, O-Serie).","endpointModelsNote":"Musterkatalog f\xfcr alle angeschlossenen Anbieter.","endpointAudioNote":"Audiotranskription (Deepgram, AssemblyAI).","endpointImagesNote":"Bilderzeugung (NanoBanana).","endpointRewriteChatNote":"Rewrite-Helper f\xfcr Clients ohne /v1.","endpointRewriteResponsesNote":"Hilfsprogramm f\xfcr Antworten ohne /v1 umschreiben.","endpointRewriteModelsNote":"Hilfsprogramm f\xfcr die Modellerkennung ohne /v1 umschreiben.","modelPrefixesDescriptionStart":"Verwenden Sie das Anbieterpr\xe4fix vor dem Modellnamen, um an einen bestimmten Anbieter weiterzuleiten. Beispiel:","modelPrefixesDescriptionEnd":"Routen zu GitHub Copilot.","provider":"Anbieter","type":"Typ","troubleshootingModelRouting":"Wenn der Client beim Modellrouting fehlschl\xe4gt, verwenden Sie einen expliziten Anbieter/ein explizites Modell (z. B. gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Wenn Sie mehrdeutige Modellfehler erhalten, w\xe4hlen Sie ein Anbieterpr\xe4fix anstelle einer blo\xdfen Modell-ID.","troubleshootingCodexFamily":"Behalten Sie f\xfcr Modelle der GitHub Codex-Familie das Modell bei gh/<codex-model>; Der Router w\xe4hlt /responses automatisch aus.","troubleshootingTestConnection":"Verwenden Sie Dashboard > Anbieter > Verbindung testen, bevor Sie Tests mit IDEs oder externen Clients durchf\xfchren.","troubleshootingCircuitBreaker":"Wenn ein Anbieter anzeigt, dass der Leistungsschalter ge\xf6ffnet ist, warten Sie auf die Abklingzeit oder schauen Sie auf der Seite „Zustand“ nach, um Einzelheiten zu erfahren.","troubleshootingOAuth":"F\xfchren Sie bei OAuth-Anbietern eine erneute Authentifizierung durch, wenn die Token ablaufen. \xdcberpr\xfcfen Sie die Statusanzeige der Anbieterkarte."},"legal":{"privacyPolicy":"Datenschutzrichtlinie","termsOfService":"Nutzungsbedingungen","providerConfigurations":"Anbieterkonfigurationen","apiKeys":"API-Schl\xfcssel","usageLogs":"Nutzungsprotokolle","applicationSettings":"Anwendungseinstellungen","viewExportAnalytics":"Nutzungsanalysen anzeigen und exportieren","clearHistory":"Nutzungsverlauf jederzeit l\xf6schen","configureRetention":"Konfigurieren Sie Protokollaufbewahrungsrichtlinien","backupRestore":"Sichern Sie Ihre Datenbank und stellen Sie sie wieder her","privacyMetadataTitle":"Datenschutzrichtlinie | OmniRoute","privacyMetadataDescription":"Datenschutzrichtlinie f\xfcr den OmniRoute AI API-Proxy-Router.","termsMetadataTitle":"Nutzungsbedingungen | OmniRoute","termsMetadataDescription":"Nutzungsbedingungen f\xfcr den OmniRoute AI API-Proxy-Router.","backToHome":"Zur\xfcck nach Hause","lastUpdated":"Letzte Aktualisierung: {date}","policyLastUpdatedDate":"13. Februar 2026","listSeparator":"-","questionsVisit":"Fragen? Besuchen Sie unsere","githubRepository":"GitHub-Repository","privacySection1Title":"1. Local-First-Architektur","privacySection1Text":"OmniRoute ist als Local-First-Anwendung konzipiert. Die gesamte Datenverarbeitung und -speicherung erfolgt vollst\xe4ndig auf Ihrem Rechner. Es gibt keinen zentralen Server, der Ihre Daten sammelt.","privacySection2Title":"2. Von uns gespeicherte Daten","privacyDataStoredIn":"Die folgenden Daten werden lokal in gespeichert","privacyDataProviderConfigurationsDesc":"Verbindungs-URLs, Anbietertypen und Priorit\xe4tseinstellungen","privacyDataApiKeysDesc":"verschl\xfcsselt und lokal gespeichert zur Authentifizierung bei KI-Anbietern","privacyDataUsageLogsDesc":"Anzahl der Anfragen, Token-Nutzung, Modellnamen, Zeitstempel und Antwortzeiten","privacyDataApplicationSettingsDesc":"Theme-Einstellungen, Routing-Strategie und Kombinationskonfigurationen","privacySection3Title":"3. Keine Telemetrie","privacySection3Text":"OmniRoute sammelt keine Telemetrie-, Analyse- oder Absturzberichte. Es werden keine Daten an uns oder Dritte \xfcbermittelt. Ihre Nutzungsmuster, API-Aufrufe und Konfigurationen bleiben vollst\xe4ndig privat.","privacySection4Title":"4. KI-Drittanbieter","privacySection4Text":"Wenn Sie API-Aufrufe \xfcber OmniRoute durchf\xfchren, werden Ihre Anfragen an die von Ihnen konfigurierten KI-Anbieter weitergeleitet (z. B. OpenAI, Anthropic, Google). Diese Anbieter haben eigene Datenschutzrichtlinien, die den Umgang mit Ihren Daten regeln. Bitte \xfcberpr\xfcfen Sie:","privacyOpenAiPolicy":"OpenAI-Datenschutzrichtlinie","privacyAnthropicPolicy":"Anthropic-Datenschutzrichtlinie","privacyGooglePolicy":"Google-Datenschutzerkl\xe4rung","privacySection5Title":"5. Cloud-Synchronisierung (optional)","privacySection5Text":"Wenn Sie die optionale Cloud-Synchronisierungsfunktion aktivieren, k\xf6nnen Anbieterkonfigurationen und API-Schl\xfcssel an einen konfigurierten Cloud-Endpunkt \xfcbertragen werden. Diese Funktion ist standardm\xe4\xdfig deaktiviert und erfordert eine ausdr\xfcckliche Zustimmung.","privacySection6Title":"6. Protokollierung","privacyLoggingIntro":"Anforderungsprotokolle k\xf6nnen \xfcber die Dashboard-Einstellungen konfiguriert werden. Sie k\xf6nnen:","privacySection7Title":"7. Ihre Rechte","privacySection7TextStart":"Da alle Daten lokal gespeichert werden, haben Sie die volle Kontrolle. Sie k\xf6nnen Ihre Daten jederzeit l\xf6schen, indem Sie das entfernen","privacySection7TextEnd":"Verzeichnis oder mithilfe der Datenbanksicherungs- und -wiederherstellungsfunktionen im Dashboard.","termsSection1Title":"1. \xdcbersicht","termsSection1Text":"OmniRoute ist ein Local-First-AI-API-Proxy-Router, der vollst\xe4ndig auf Ihrem Computer ausgef\xfchrt wird. Es leitet Anfragen mit Lastausgleich, Failover und Nutzungsverfolgung an mehrere KI-Anbieter weiter.","termsSection2Title":"2. Verantwortlichkeiten des Benutzers","termsResponsibilityApiKeys":"Sie sind allein f\xfcr die Verwaltung Ihrer eigenen API-Schl\xfcssel und Anmeldeinformationen f\xfcr KI-Drittanbieter (OpenAI, Anthropic, Google usw.) verantwortlich.","termsResponsibilityCompliance":"Sie m\xfcssen die Nutzungsbedingungen jedes KI-Anbieters einhalten, auf dessen API Sie \xfcber OmniRoute zugreifen.","termsResponsibilitySecurity":"Sie sind f\xfcr die Sicherheit Ihrer lokalen OmniRoute-Installation verantwortlich, einschlie\xdflich der Festlegung eines Kennworts und der Einschr\xe4nkung des Netzwerkzugriffs.","termsSection3Title":"3. Wie es funktioniert","termsSection3Text":"OmniRoute fungiert als zwischengeschalteter Proxy. An OmniRoute gesendete API-Aufrufe werden \xfcbersetzt und an Ihre konfigurierten KI-Anbieter weitergeleitet. OmniRoute \xe4ndert den Inhalt Ihrer Anfragen oder Antworten nicht \xfcber die erforderliche Protokoll\xfcbersetzung hinaus.","termsSection4Title":"4. Datenverarbeitung","termsDataStoredLocally":"Alle Daten werden lokal auf Ihrem Computer in einer SQLite-Datenbank gespeichert.","termsNoTransmission":"OmniRoute \xfcbertr\xe4gt keine Daten an externe Server, es sei denn, Sie aktivieren explizit Cloud-Synchronisierungsfunktionen.","termsDataLocationText":"Nutzungsprotokolle, API-Schl\xfcssel und Konfiguration werden in gespeichert","termsSection5Title":"5. Haftungsausschluss","termsSection5Text":"OmniRoute wird „wie besehen“ ohne Gew\xe4hrleistung jeglicher Art bereitgestellt. Wir sind nicht verantwortlich f\xfcr Kosten, die durch API-Nutzung, Dienstunterbrechungen oder Datenverlust entstehen. Bewahren Sie immer Backups Ihrer Konfiguration auf.","termsSection6Title":"6. Open Source","termsSection6Text":"OmniRoute ist Open-Source-Software. Es steht Ihnen frei, es im Rahmen der Lizenzbedingungen zu pr\xfcfen, zu \xe4ndern und zu verbreiten."}}')}};
|
|
1
|
+
"use strict";exports.id=2372,exports.ids=[2372],exports.modules={22372:a=>{a.exports=JSON.parse('{"common":{"save":"Speichern","cancel":"Abbrechen","delete":"L\xf6schen","loading":"Laden...","error":"Es ist ein Fehler aufgetreten","success":"Erfolg","confirm":"Bist du sicher?","refresh":"Aktualisieren","close":"Schlie\xdfen","add":"Hinzuf\xfcgen","edit":"Bearbeiten","search":"Suchen","back":"Zur\xfcck","next":"Als n\xe4chstes","submit":"Senden","reset":"Zur\xfccksetzen","copy":"Kopieren","copied":"Kopiert!","enabled":"Aktiviert","disabled":"Deaktiviert","active":"Aktiv","inactive":"Inaktiv","noData":"Keine Daten verf\xfcgbar","configure":"Konfigurieren","manage":"Verwalten","name":"Name","actions":"Aktionen","status":"Status","type":"Typ","model":"Modell","models":"Modelle","provider":"Anbieter","account":"Konto","time":"Zeit","details":"Einzelheiten","created":"Erstellt","lastUsed":"Zuletzt verwendet","loadMore":"Mehr laden","noResults":"Keine Ergebnisse gefunden","reloadPage":"Seite neu laden","connected":"Verbunden","disconnected":"Nicht verbunden","notConfigured":"Nicht konfiguriert","testConnection":"Testverbindung","enable":"Aktivieren","disable":"Deaktivieren","columns":"Spalten","newest":"Neueste","oldest":"\xc4lteste","all":"Alle","none":"Keine","yes":"Ja","no":"Nein","warning":"Warnung","note":"Hinweis","free":"Kostenlos","skipToContent":"Zum Inhalt springen"},"sidebar":{"home":"Zuhause","dashboard":"Dashboard","providers":"Anbieter","combos":"Kombinationen","usage":"Nutzung","analytics":"Analytik","costs":"Kosten","health":"Gesundheit","limits":"Limits und Quoten","cliTools":"CLI-Tools","settings":"Einstellungen","translator":"\xdcbersetzer","docs":"Dokumente","issues":"Probleme","endpoint":"Endpunkt","apiManager":"API-Manager","logs":"Protokolle","auditLog":"Audit-Protokoll","shutdown":"Herunterfahren","restart":"Neustart","shutdownConfirm":"OmniRoute herunterfahren?","restartConfirm":"OmniRoute neu starten?","version":"v{version}","debug":"Debuggen","system":"System","help":"Hilfe","serverDisconnected":"Serververbindung getrennt","serverDisconnectedMsg":"Der Proxyserver wurde gestoppt oder wird neu gestartet.","expandSidebar":"Seitenleiste erweitern","collapseSidebar":"Seitenleiste einklappen"},"header":{"logout":"Abmelden","language":"Sprache","providers":"Anbieter","providerDescription":"Verwalten Sie Ihre KI-Anbieterverbindungen","combos":"Kombinationen","comboDescription":"Modellkombinationen mit Fallback","usage":"Nutzung und Analyse","usageDescription":"\xdcberwachen Sie Ihre API-Nutzung, den Token-Verbrauch und Ihre Anforderungsprotokolle","analytics":"Analysen","analyticsDescription":"Diagramme, Trends und Auswertungserkenntnisse","cliTools":"CLI-Tools","cliToolsDescription":"Konfigurieren Sie CLI-Tools","home":"Zuhause","homeDescription":"Willkommen bei OmniRoute","endpoint":"Endpunkt","endpointDescription":"API-Endpunktkonfiguration","settings":"Einstellungen","settingsDescription":"Verwalten Sie Ihre Pr\xe4ferenzen","openaiCompatible":"OpenAI-kompatibel","anthropicCompatible":"Anthropic-kompatibel"},"home":{"quickStart":"Schnellstart","quickStartDesc":"In 4 Schritten einsatzbereit. Anbieter anbinden, Modelle routen, alles \xfcberwachen.","fullDocs":"Vollst\xe4ndige Dokumentation","step1Title":"1. API-Schl\xfcssel erstellen","step1Desc":"Gehen Sie zu <endpoint>Endpoint</endpoint> -> Registrierte Schl\xfcssel. Erstellen Sie einen Schl\xfcssel pro Umgebung.","step2Title":"2. Anbieter verbinden","step2Desc":"F\xfcgen Sie Konten unter <providers>Providers</providers> hinzu. Unterst\xfctzt OAuth, API Key und kostenlose Stufen.","step3Title":"3. Client konfigurieren","step3Desc":"Legen Sie die Basis-URL in Ihrem IDE- oder API-Client auf {url} fest.","step4Title":"4. \xdcberwachen und optimieren","step4Desc":"Verfolgen Sie Tokens, Kosten und Fehler in <logs>Anfrageprotokollen</logs> und <analytics>Analysen</analytics>.","providersOverview":"Anbieter\xfcbersicht","configuredOf":"{configured} konfiguriert von {total} verf\xfcgbaren Anbietern","noModelsAvailable":"F\xfcr diesen Anbieter sind keine Modelle verf\xfcgbar.","configureFirst":"Konfigurieren Sie zuerst eine Verbindung in {providers}","configureProvider":"Anbieter konfigurieren","modelAvailable":"{count} Modell verf\xfcgbar","modelsAvailable":"{count} Modelle verf\xfcgbar","connectionsActive":"{count} Verbindung aktiv","connectionsActivePlural":"{count} Verbindungen aktiv","copyModelName":"Modellnamen kopieren","documentation":"Dokumentation","healthMonitor":"Gesundheitsmonitor","reportIssue":"Problem melden","activeError":"{active} aktiv \xb7 {errors} Fehler","oauthLabel":"OAuth","apiKeyLabel":"API-Schl\xfcssel","requestsShort":"{count} Anfr.","providerModelsTitle":"{provider} – Modelle","copiedModel":"Kopiert: {model}","aliasLabel":"Alias"},"analytics":{"title":"Analytik","overviewDescription":"\xdcberwachen Sie Ihre API-Nutzungsmuster, Token-Verbrauch, Kosten und Aktivit\xe4tstrends bei allen Anbietern und Modellen.","evalsDescription":"F\xfchren Sie Evaluierungssuiten aus, um Ihre LLM-Endpunkte zu testen und zu validieren. Vergleichen Sie die Modellqualit\xe4t, erkennen Sie Regressionen und messen Sie die Latenz.","overview":"\xdcbersicht","evals":"Bewertungen"},"apiManager":{"title":"API-Schl\xfcssel","createKey":"API-Schl\xfcssel erstellen","key":"Schl\xfcssel","revokeKey":"Schl\xfcssel widerrufen","revokeConfirm":"Sind Sie sicher, dass Sie diesen API-Schl\xfcssel widerrufen m\xf6chten?","noKeys":"Noch keine API-Schl\xfcssel","noKeysDesc":"Erstellen Sie Ihren ersten API-Schl\xfcssel, um Anfragen an Ihren Endpunkt zu authentifizieren","keyLabel":"Schl\xfcsseletikett","permissions":"Berechtigungen","expiresAt":"L\xe4uft ab","never":"Niemals","revoke":"Widerrufen","showKey":"Schl\xfcssel anzeigen","hideKey":"Schl\xfcssel verstecken","copyKey":"API-Schl\xfcssel kopieren","allModels":"Alle Modelle","selectedModels":"Ausgew\xe4hlte Modelle","readOnly":"Nur lesen","fullAccess":"Voller Zugriff","keyManagement":"API-Schl\xfcsselverwaltung","keyManagementDesc":"Erstellen und verwalten Sie API-Schl\xfcssel zur Authentifizierung von Anfragen an Ihren Endpunkt","totalKeys":"Gesamtschl\xfcssel","restricted":"Eingeschr\xe4nkt","totalRequests":"Gesamtzahl der Anfragen","modelsAvailable":"Verf\xfcgbare Modelle","registeredKeys":"Registrierte Schl\xfcssel","keysRegistered":"{count} Schl\xfcssel registriert","keyRegistered":"{count} Schl\xfcssel registriert","keysSecurityNote":"Jeder Schl\xfcssel isoliert die Nutzungsverfolgung und kann unabh\xe4ngig widerrufen werden. Aus Sicherheitsgr\xfcnden werden Schl\xfcssel nach der Erstellung maskiert.","createFirstKey":"Erstellen Sie Ihren ersten Schl\xfcssel","name":"Name","usage":"Nutzung","created":"Erstellt","actions":"Aktionen","reqs":"Anforderungen","neverUsed":"Nie benutzt","deleteConfirm":"Diesen API-Schl\xfcssel l\xf6schen?","usageTips":"Nutzungstipps","tipAuth":"Verwenden Sie API-Schl\xfcssel im Authorization-Header als Bearer YOUR_KEY","tipSecure":"Schl\xfcssel werden bei der Erstellung nur einmal angezeigt – bewahren Sie sie sicher auf","tipSeparate":"Erstellen Sie separate Schl\xfcssel f\xfcr verschiedene Clients oder Umgebungen","tipRestrict":"Beschr\xe4nken Sie die Schl\xfcssel auf bestimmte Modelle, um die Sicherheit und Kostenkontrolle zu verbessern","keyName":"Schl\xfcsselname","keyNamePlaceholder":"z. B. Produktionsschl\xfcssel, Entwicklungsschl\xfcssel","keyNameDesc":"W\xe4hlen Sie einen aussagekr\xe4ftigen Namen, um den Zweck dieses Schl\xfcssels zu identifizieren","keyCreated":"API-Schl\xfcssel erstellt","keyCreatedSuccess":"Schl\xfcssel erfolgreich erstellt!","keyCreatedNote":"Kopieren und speichern Sie diesen Schl\xfcssel jetzt – er wird nicht mehr angezeigt.","done":"Fertig","savePermissions":"Berechtigungen speichern","allowAll":"Alle zulassen","restrict":"Einschr\xe4nken","allowAllInfo":"Mit diesem Schl\xfcssel kann auf alle verf\xfcgbaren Modelle zugegriffen werden.","restrictInfo":"Dieser Schl\xfcssel kann auf {selected} von {total} Modellen zugreifen.","selected":"{count} ausgew\xe4hlt","all":"Alle","clear":"Klar","searchModels":"Modelle nach Name oder Anbieter suchen...","noModelsFound":"Keine Modelle gefunden","keyNameRequired":"Schl\xfcsselname ist erforderlich","keyNameTooLong":"Der Schl\xfcsselname darf h\xf6chstens {max} Zeichen lang sein","keyNameInvalid":"Der Schl\xfcsselname darf nur Buchstaben, Zahlen, Leerzeichen, Bindestriche und Unterstriche enthalten","invalidKeyName":"Ung\xfcltiger Schl\xfcsselname","failedCreateKey":"Schl\xfcssel konnte nicht erstellt werden","failedCreateKeyRetry":"Schl\xfcssel konnte nicht erstellt werden. Bitte versuchen Sie es erneut.","invalidKeyId":"Ung\xfcltige Schl\xfcssel-ID","failedDeleteKey":"Schl\xfcssel konnte nicht gel\xf6scht werden","failedDeleteKeyRetry":"Schl\xfcssel konnte nicht gel\xf6scht werden. Bitte versuchen Sie es erneut.","invalidModelsSelection":"Ung\xfcltige Modellauswahl","cannotSelectMoreThanModels":"Es k\xf6nnen nicht mehr als {max} Modelle ausgew\xe4hlt werden","failedUpdatePermissions":"Die Berechtigungen konnten nicht aktualisiert werden","failedUpdatePermissionsRetry":"Die Berechtigungen konnten nicht aktualisiert werden. Bitte versuchen Sie es erneut.","unknownProvider":"unbekannt","copyMaskedKey":"Maskierten Schl\xfcssel kopieren","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Zuletzt: {date}","editPermissions":"Berechtigungen bearbeiten","deleteKey":"Schl\xfcssel l\xf6schen","model":"{count} Modell","models":"{count} Modelle","permissionsTitle":"Berechtigungen: {name}","allowAllDesc":"Mit diesem Schl\xfcssel kann auf alle verf\xfcgbaren Modelle zugegriffen werden.","restrictDesc":"Dieser Schl\xfcssel kann auf {selectedCount} von {totalModels} Modellen zugreifen.","selectedCount":"{count} ausgew\xe4hlt"},"auditLog":{"title":"Audit-Protokoll","searchPlaceholder":"Suchaktionen...","action":"Aktion","actor":"Schauspieler","target":"Ziel","ipAddress":"IP-Adresse","timestamp":"Zeitstempel","noEntries":"Keine Audit-Eintr\xe4ge gefunden","filterByAction":"Nach Aktion filtern...","filterByActor":"Nach Schauspieler filtern...","filterEntriesAria":"Audit-Log-Eintr\xe4ge filtern","filterByActionTypeAria":"Filtern Sie nach Aktionstyp","filterByActorAria":"Nach Schauspieler filtern","refreshAuditLogAria":"Audit-Protokoll aktualisieren","tableAria":"Audit-Log-Eintr\xe4ge","failedFetchAuditLog":"Das Audit-Protokoll konnte nicht abgerufen werden","notAvailable":"—","description":"Verwaltungsma\xdfnahmen und Sicherheitsereignisse","showing":"Zeigt {count} Eintr\xe4ge (Offset {offset})","previous":"Zur\xfcck"},"cliTools":{"title":"CLI-Tools","noActiveProviders":"Keine aktiven Anbieter","noActiveProvidersDesc":"Bitte f\xfcgen Sie zuerst Anbieter hinzu und verbinden Sie sie, um CLI-Tools zu konfigurieren.","mapModels":"Kartenmodelle","testConnection":"Testverbindung","connectionStatus":"Verbindungsstatus","configureEndpoint":"Endpunkt konfigurieren","instructions":"Anweisungen","modelMapping":"Modellzuordnung","baseUrl":"Basis-URL","apiKey":"API-Schl\xfcssel","configured":"Konfiguriert","notConfigured":"Nicht konfiguriert","notInstalled":"Nicht installiert","custom":"Benutzerdefiniert","unknown":"Unbekannt","lastSavedAt":"Zuletzt gespeichert: {date}","never":"Niemals","justNow":"gerade jetzt","minutesAgoShort":"Vor {count}m","hoursAgoShort":"Vor {count}h","daysAgoShort":"Vor {count}d","monthsAgoShort":"Vor {count}mo","yearsAgoShort":"Vor {count}y","runtimeCheckFailed":"Laufzeitpr\xfcfung fehlgeschlagen","yourApiKeyPlaceholder":"Ihr-API-Schl\xfcssel","modelPlaceholder":"Anbieter/Modell-ID","configurationSaved":"Konfiguration erfolgreich gespeichert.","failedToSave":"Die Konfiguration konnte nicht gespeichert werden.","noApiKeysCreateOne":"Keine API-Schl\xfcssel – Erstellen Sie einen auf der Seite „Schl\xfcssel“.","defaultOmnirouteKey":"sk_omniroute (Standard)","selectModel":"W\xe4hlen Sie Modell aus","selectModelForAlias":"Modell f\xfcr {alias} ausw\xe4hlen","selectModelForTool":"Modell f\xfcr {tool} ausw\xe4hlen","select":"Ausw\xe4hlen","clear":"Klar","comingSoon":"Kommt bald","checkingRuntime":"Laufzeitstatus wird gepr\xfcft...","guideOnlyIntegration":"Nur-Guide-Integration (keine lokale Laufzeit erforderlich)","cliRuntimeDetected":"CLI-Laufzeit erkannt und bereit","cliFoundNotRunnable":"CLI gefunden, aber nicht ausf\xfchrbar{reason}","cliRuntimeNotDetected":"CLI-Laufzeit nicht erkannt","binary":"Bin\xe4r","configPath":"Konfigurationspfad","configPathShort":"Konfig","failedCheckRuntimeStatus":"Der Laufzeitstatus konnte nicht \xfcberpr\xfcft werden.","copy":"Kopieren","copied":"Kopiert","copyConfig":"Konfiguration kopieren","saveConfig":"Konfiguration speichern","selectionSaved":"Auswahl gespeichert","guide":"Leitfaden","detected":"Erkannt","notReady":"Nicht bereit","active":"Aktiv","inactive":"Inaktiv","startMitm":"Starten Sie MITM","stopMitm":"Stoppen Sie MITM","mitmStarted":"MITM erfolgreich gestartet!","mitmStopped":"MITM wurde erfolgreich gestoppt!","failedStart":"MITM konnte nicht gestartet werden","failedStop":"MITM konnte nicht gestoppt werden","saveMappings":"Zuordnungen speichern","mappingsSaved":"Zuordnungen gespeichert!","failedSaveMappings":"Zuordnungen konnten nicht gespeichert werden","howItWorks":"So funktioniert es:","antigravityHowWorksDesc":"Antigravity sendet Anfragen an den Endpunkt von Google. MITM f\xe4ngt sie ab und leitet sie an OmniRoute weiter.","antigravityStep1":"1. Starten Sie MITM, um Anforderungen \xfcber OmniRoute weiterzuleiten.","antigravityStep2Prefix":"2. Hinzuf\xfcgen","antigravityStep2Suffix":"zu Ihrer Hosts-Datei als 127.0.0.1 hinzuf\xfcgen.","antigravityStep3":"3. \xd6ffnen Sie Antigravity und Anfragen werden weitergeleitet.","sudoPasswordRequiredTitle":"Sudo-Passwort erforderlich","sudoPasswordHint":"Zum \xc4ndern der Hosts-Datei und der System-Proxy-Einstellungen ist ein Administratorkennwort erforderlich.","enterSudoPassword":"Geben Sie das Sudo-Passwort ein","sudoPasswordRequiredError":"Sudo-Passwort ist erforderlich.","cancel":"Abbrechen","confirm":"Best\xe4tigen","settingsApplied":"Einstellungen erfolgreich \xfcbernommen!","failedApplySettings":"Die Einstellungen konnten nicht angewendet werden","settingsReset":"Einstellungen erfolgreich zur\xfcckgesetzt!","failedResetSettings":"Einstellungen konnten nicht zur\xfcckgesetzt werden","backupRestored":"Backup wiederhergestellt!","failedRestore":"Wiederherstellung fehlgeschlagen","checkingCli":"{tool} CLI wird \xfcberpr\xfcft...","cliNotRunnable":"{tool} CLI installiert, aber nicht ausf\xfchrbar","cliNotInstalled":"{tool} CLI nicht installiert","cliNotDetected":"{tool} CLI nicht erkannt","cliDetectedReady":"{tool} CLI erkannt und bereit","cliFoundFailedHealthcheck":"{tool} CLI wurde gefunden, aber die Laufzeitpr\xfcfung ist fehlgeschlagen{reason}.","installCliPrompt":"Bitte installieren Sie {tool} CLI, um diese Funktion zu nutzen.","installCodexPrompt":"Bitte installieren Sie Codex CLI, um die Funktion zur automatischen Anwendung zu nutzen.","hide":"Verstecken","howToInstall":"Anleitung zur Installation","installationGuide":"Installationsanleitung","platforms":"macOS / Linux / Windows:","afterInstallationRun":"Nach der Installation ausf\xfchren","toVerify":"zu verifizieren.","current":"Aktuell","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Auf Standard zur\xfccksetzen","providerModelPlaceholder":"Anbieter/Modell-ID","apply":"Bewerben","reset":"Zur\xfccksetzen","manualConfig":"Manuelle Konfiguration","backups":"Backups","configBackups":"Backups konfigurieren","noBackupsYet":"Noch keine Backups. Vor jedem Anwenden oder Zur\xfccksetzen werden automatisch Sicherungen erstellt.","restore":"Wiederherstellen","backupRestoredReloading":"Backup wiederhergestellt! Status wird neu geladen...","failedRestoreBackup":"Sicherung konnte nicht wiederhergestellt werden","applied":"Beworben!","failed":"Fehlgeschlagen","resetDone":"Zur\xfccksetzen!","omnirouteConfiguredOpenAiCompatible":"OmniRoute ist als OpenAI-kompatibler Anbieter konfiguriert","provider":"Anbieter","model":"Modell","providers":"Anbieter","auth":"Auth","noApiKeysAvailable":"Keine API-Schl\xfcssel verf\xfcgbar","usingDefaultOmniroute":"Standardm\xe4\xdfig wird verwendet: sk_omniroute","updateConfig":"Konfiguration aktualisieren","applyConfig":"Konfiguration anwenden","noBackupsAvailable":"Keine Backups verf\xfcgbar.","profileSaved":"Profil „{name}“ gespeichert!","failedSaveProfile":"Profil konnte nicht gespeichert werden","profileActivated":"Profil aktiviert!","failedActivateProfile":"Profil konnte nicht aktiviert werden","profiles":"Profile","savedProfiles":"Gespeicherte Profile","noProfilesYet":"Noch keine Profile gespeichert. Speichern Sie die aktuelle Konfiguration unten als Profil.","activate":"Aktivieren","deleteProfile":"Profil l\xf6schen","profileNamePlaceholder":"Profilname (z. B. Pers\xf6nliches Konto)","saveCurrent":"Aktuelles speichern","codexAuthNotePrefix":"Codex verwendet","codexAuthNoteMiddle":"mit","codexAuthNoteSuffix":"Klicken Sie auf „\xdcbernehmen“, um die automatische Konfiguration durchzuf\xfchren.","claudeManualConfiguration":"Claude CLI – Manuelle Konfiguration","codexManualConfiguration":"Codex CLI – Manuelle Konfiguration","droidManualConfiguration":"Factory Droid – Manuelle Konfiguration","openClawManualConfiguration":"Open Claw – Manuelle Konfiguration","clineManualConfiguration":"Manuelle Cline-Konfiguration","kiloManualConfiguration":"Manuelle Konfiguration des Kilo-Codes","toolDescriptions":{"antigravity":"Google Antigravity IDE mit MITM","claude":"Anthropic Claude Code CLI","codex":"OpenAI Codex-CLI","droid":"Fabrik-Droiden-KI-Assistent","openclaw":"\xd6ffnen Sie den Klauen-KI-Assistenten","cline":"Cline AI Coding Assistant CLI","kilo":"Kilo Code AI Assistant CLI","cursor":"Cursor-KI-Code-Editor","continue":"Weiter AI Assistant"},"guides":{"cursor":{"notes":{"0":"Zur Nutzung dieser Funktion ist ein Cursor Pro-Konto erforderlich.","1":"Cursor leitet Anfragen \xfcber seinen eigenen Server weiter, daher wird ein lokaler Endpunkt nicht unterst\xfctzt. Bitte aktivieren Sie Cloud Endpoint in den Einstellungen."},"steps":{"1":{"title":"\xd6ffnen Sie Einstellungen","desc":"Gehen Sie zu Einstellungen -> Modelle"},"2":{"title":"Aktivieren Sie die OpenAI-API","desc":"Aktivieren Sie die Option „OpenAI-API-Schl\xfcssel“."},"3":{"title":"Basis-URL"},"4":{"title":"API-Schl\xfcssel"},"5":{"title":"Benutzerdefiniertes Modell hinzuf\xfcgen","desc":"Klicken Sie auf „Alle Modelle anzeigen“ -> „Benutzerdefiniertes Modell hinzuf\xfcgen“"},"6":{"title":"W\xe4hlen Sie Modell aus"}}},"continue":{"steps":{"1":{"title":"\xd6ffnen Sie die Konfiguration","desc":"\xd6ffnen Sie die Konfigurationsdatei „Fortfahren“."},"2":{"title":"API-Schl\xfcssel"},"3":{"title":"W\xe4hlen Sie Modell aus"},"4":{"title":"Modellkonfiguration hinzuf\xfcgen","desc":"F\xfcgen Sie Ihrem Modellarray die folgende Konfiguration hinzu:"}}}}},"combos":{"title":"Kombinationen","description":"Erstellen Sie Modellkombinationen mit gewichtetem Routing und Fallback-Unterst\xfctzung","createCombo":"Combo erstellen","editCombo":"Combo bearbeiten","deleteCombo":"Combo l\xf6schen","noModels":"Keine Modelle","noModelsYet":"Noch keine Modelle hinzugef\xfcgt","addModel":"Modell hinzuf\xfcgen","addModelToCombo":"Modell zur Combo hinzuf\xfcgen","routingStrategy":"Routing-Strategie","maxRetries":"Max. Wiederholungsversuche","timeout":"Timeout (ms)","healthcheck":"Gesundheitscheck","priority":"Priorit\xe4t","fallback":"R\xfcckfall","roundRobin":"Round Robin","random":"Zuf\xe4llig","leastLatency":"Geringste Latenz","comboName":"Kombinationsname","comboNamePlaceholder":"meine-combo","deleteConfirm":"Diese Combo l\xf6schen?","noCombosYet":"Noch keine Combos","comboCreated":"Combo erfolgreich erstellt","comboUpdated":"Combo wurde erfolgreich aktualisiert","comboDeleted":"Combo gel\xf6scht","failedCreate":"Kombination konnte nicht erstellt werden","failedUpdate":"Die Kombination konnte nicht aktualisiert werden","errorCreating":"Fehler beim Erstellen der Combo","errorUpdating":"Fehler beim Aktualisieren der Combo","errorDeleting":"Fehler beim L\xf6schen der Combo","testFailed":"Testanforderung fehlgeschlagen","failedToggle":"Die Kombination konnte nicht umgeschaltet werden","testResults":"Testergebnisse – {name}","resolvedBy":"Gel\xf6st von:","more":"+{count} mehr","reqs":"Anforderungen","success":"Erfolg","proxyConfigured":"Proxy konfiguriert","copyComboName":"Kombinationsnamen kopieren","enableCombo":"Kombination aktivieren","disableCombo":"Combo deaktivieren","testCombo":"Testkombination","duplicate":"Duplizieren","proxyConfig":"Proxy-Konfiguration","nameRequired":"Name ist erforderlich","nameInvalid":"Nur Buchstaben, Zahlen, -, _, / und . erlaubt","nameHint":"Buchstaben, Zahlen, -, _, / und . erlaubt","priorityDesc":"Sequentielles Fallback: Versucht zuerst Modell 1, dann 2 usw.","weightedDesc":"Verteilt den Datenverkehr nach Gewichtsprozentsatz mit Fallback","roundRobinDesc":"Zirkul\xe4re Verteilung: Jede Anfrage wird abwechselnd an das n\xe4chste Modell weitergeleitet","randomDesc":"Einheitliche Zufallsauswahl, dann R\xfcckgriff auf verbleibende Modelle","leastUsedDesc":"W\xe4hlt das Modell mit den wenigsten Anfragen aus und gleicht die Last \xfcber die Zeit aus","costOptimizedDesc":"Leitet basierend auf dem Preis zuerst zum g\xfcnstigsten Modell weiter","models":"Modelle","autoBalance":"Automatischer Ausgleich","advancedSettings":"Erweiterte Einstellungen","retryDelay":"Wiederholungsverz\xf6gerung (ms)","concurrencyPerModel":"Parallelit\xe4t / Modell","queueTimeout":"Warteschlangen-Timeout (ms)","advancedHint":"Lassen Sie das Feld leer, um globale Standardeinstellungen zu verwenden. Diese \xfcberschreiben die Einstellungen pro Anbieter.","moveUp":"Bewegen Sie sich nach oben","moveDown":"Bewegen Sie sich nach unten","removeModel":"Entfernen","saving":"Sparen...","weighted":"Gewichtet","leastUsed":"Am wenigsten genutzt","costOpt":"Kosten-Opt"},"costs":{"title":"Kosten","budget":"Budget","totalCost":"Gesamtkosten","breakdown":"Kostenaufschl\xfcsselung","noData":"Keine Kostendaten","byModel":"Nach Modell","byProvider":"Nach Anbieter"},"endpoint":{"title":"API-Endpunkt","available":"Verf\xfcgbare Endpunkte","cloudProxy":"Cloud-Proxy","disableConfirm":"Sind Sie sicher, dass Sie den Cloud-Proxy deaktivieren m\xf6chten?","baseUrl":"Basis-URL","apiKeyLabel":"API-Schl\xfcssel","registeredKeys":"Registrierte Schl\xfcssel","chatCompletions":"Chat-Abschl\xfcsse","responses":"Antworten","listModels":"Modelle auflisten","usingCloudProxy":"Verwenden von Cloud Proxy","usingLocalServer":"Verwenden eines lokalen Servers","machineId":"Maschinen-ID: {id}...","disableCloud":"Cloud deaktivieren","enableCloud":"Cloud aktivieren","modelsAcrossEndpoints":"{models} Modelle \xfcber {endpoints} Endpunkte hinweg","chatDesc":"Streaming- und Nicht-Streaming-Chat mit allen Anbietern","embeddings":"Einbettungen","embeddingsDesc":"Texteinbettungen f\xfcr Such- und RAG-Pipelines","imageGeneration":"Bilderzeugung","imageDesc":"Generieren Sie Bilder aus Textaufforderungen","rerank":"Neu einordnen","rerankDesc":"Ordnen Sie Dokumente nach Relevanz f\xfcr eine Abfrage neu","audioTranscription":"Audio-Transkription","audioTranscriptionDesc":"Audiodateien in Text umwandeln (Fl\xfcstern)","textToSpeech":"Text-to-Speech","textToSpeechDesc":"Wandeln Sie Text in nat\xfcrlich klingende Sprache um","moderations":"Moderationen","moderationsDesc":"Inhaltsmoderation und Sicherheitsklassifizierung","enableCloudTitle":"Aktivieren Sie Cloud Proxy","whatYouGet":"Was Sie bekommen werden","cloudBenefitAccess":"Greifen Sie von \xfcberall auf der Welt auf Ihre API zu","cloudBenefitShare":"Teilen Sie den Endpunkt ganz einfach mit Ihrem Team","cloudBenefitPorts":"Es ist nicht erforderlich, Ports zu \xf6ffnen oder eine Firewall zu konfigurieren","cloudBenefitEdge":"Schnelles globales Edge-Netzwerk","cloudSessionNote":"Cloud speichert Ihre Authentifizierungssitzung einen Tag lang. Bei Nichtverwendung wird es automatisch gel\xf6scht.","cloudUnstableNote":"Cloud ist derzeit mit Claude Code OAuth in einigen F\xe4llen instabil.","cloudConnected":"Cloud-Proxy verbunden!","connectingToCloud":"Mit der Cloud verbinden...","verifyingConnection":"Verbindung wird \xfcberpr\xfcft...","connecting":"Verbinden...","verifying":"\xdcberpr\xfcfung...","connected":"Verbunden!","disableCloudTitle":"Deaktivieren Sie den Cloud-Proxy","disableWarning":"Alle Authentifizierungssitzungen werden aus der Cloud gel\xf6scht.","syncingData":"Aktuelle Daten werden synchronisiert...","disablingCloud":"Cloud wird deaktiviert...","syncing":"Synchronisierung...","disabling":"Deaktivieren...","cloudConnectedVerified":"Cloud-Proxy verbunden und verifiziert!","connectedVerificationPending":"Verbunden – Verifizierung steht aus","connectedVerificationPendingWithError":"Verbunden – \xdcberpr\xfcfung ausstehend: {error}","cloudDisabledSuccess":"Cloud erfolgreich deaktiviert","syncedSuccess":"Erfolgreich synchronisiert","failedDisable":"Die Cloud konnte nicht deaktiviert werden","failedEnable":"Cloud konnte nicht aktiviert werden","cloudRequestTimeout":"Zeit\xfcberschreitung bei der Cloud-Anfrage","cloudRequestFailed":"Die Cloud-Anfrage ist fehlgeschlagen","cloudWorkerUnreachable":"Der Cloud-Worker konnte nicht erreicht werden. Stellen Sie sicher, dass der Cloud-Dienst ausgef\xfchrt wird (npm run dev in /cloud).","connectionFailed":"Verbindung fehlgeschlagen","syncFailed":"Cloud-Daten konnten nicht synchronisiert werden","providerModelsTitle":"{provider} – Modelle","noModelsForProvider":"F\xfcr diesen Anbieter sind keine Modelle verf\xfcgbar.","chat":"Chatten","embedding":"Einbetten","image":"Bild","custom":"Brauch","modelsCount":"{count, plural, one {# model} other {# models}}","responsesDesc":"OpenAI Responses API f\xfcr Codex und fortgeschrittene agentische Workflows","listModelsDesc":"Alle verf\xfcgbaren Modelle aller verbundenen Anbieter auflisten","settingsApi":"Settings API","settingsApiDesc":"OmniRoute-Konfiguration per API lesen und \xe4ndern","categoryCore":"Kern-APIs","categoryMedia":"Medien & Multi-Modal","categoryUtility":"Hilfsmittel & Verwaltung"},"health":{"title":"Systemgesundheit","description":"Echtzeit\xfcberwachung Ihrer OmniRoute-Instanz","healthy":"Gesund","degraded":"Degradiert","down":"Runter","uptime":"Betriebszeit","memory":"Erinnerung","memoryRss":"Speicher (RSS)","heap":"Haufen","cpu":"CPU","database":"Datenbank","version":"Version","lastCheck":"Letzter Check","providerHealth":"Gesundheit des Anbieters","systemMetrics":"Systemmetriken","tokenHealth":"Token-Gesundheit","refreshAll":"Alle aktualisieren","checkNow":"Jetzt pr\xfcfen","loadingHealth":"Gesundheitsdaten werden geladen...","failedToLoad":"Gesundheitsdaten konnten nicht geladen werden: {error}","retry":"Versuchen Sie es noch einmal","allOperational":"Alle Systeme betriebsbereit","issuesDetected":"Systemprobleme erkannt","updatedAt":"Aktualisiert {time}","latency":"Latenz","latencyP50":"S. 50","latencyP95":"S. 95","latencyP99":"S. 99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Gesamtzahl der Anfragen","noDataYet":"Noch keine Daten","promptCache":"Prompt-Cache","entries":"Eintr\xe4ge","hitRate":"Trefferquote","hitsMisses":"Treffer/Fehlschl\xe4ge","signatureCache":"Signatur-Cache","signatureDefaults":"Standardeinstellungen","signatureTool":"Werkzeug","signatureFamily":"Familie","signatureSession":"Sitzung","recovering":"Genesung","noCBData":"Keine Leistungsschalterdaten verf\xfcgbar. Stellen Sie zun\xe4chst einige Anfragen.","providerHealthStatusAria":"Gesundheitsstatus des Anbieters","issuesLabel":"Erkannte Probleme","operational":"Betriebsbereit","providers":"Anbieter","healthyCount":"{count} gesund","nodeVersion":"Knoten {version}","failures":"{count} Fehler","failuresPlural":"{count} Fehler","lastFailure":"Zuletzt","rateLimitStatus":"Rate-Limit-Status","activeLimiters":"{count} aktiver Limiter","activeLimitersPlural":"{count} aktive Limiter","queued":"In der Warteschlange","queuedCount":"{count} in der Warteschlange","running":"laufen","runningCount":"{count} l\xe4uft","ok":"Okay","activeLockouts":"Aktive Sperren","resetConfirm":"Alle Leistungsschalter in den fehlerfreien Zustand zur\xfccksetzen? Dadurch werden alle Fehlerz\xe4hlungen gel\xf6scht und alle Anbieter werden wieder in den Betriebszustand versetzt.","resetAllTitle":"Setzen Sie alle Leistungsschalter in den fehlerfreien Zustand zur\xfcck","resetting":"Zur\xfccksetzen...","resetAll":"Alles zur\xfccksetzen","until":"Bis {time}"},"limits":{"title":"Limits und Quoten","rateLimit":"Ratenbegrenzung","remaining":"\xdcbrig","requestsPerMinute":"Anfragen/Min","tokensPerMinute":"Token/Min","dailyLimit":"Tageslimit"},"logs":{"title":"Protokolle","requestLogs":"Fordern Sie Protokolle an","proxyLogs":"Proxy-Protokolle","auditLog":"Audit-Protokoll","console":"Konsole","auditLogDesc":"Verwaltungsma\xdfnahmen und Sicherheitsereignisse","loading":"Laden...","refresh":"Aktualisieren","filterByAction":"Nach Aktion filtern...","filterByActor":"Nach Schauspieler filtern...","filterEntriesAria":"Audit-Log-Eintr\xe4ge filtern","filterByActionTypeAria":"Filtern Sie nach Aktionstyp","filterByActorAria":"Nach Schauspieler filtern","refreshAuditLogAria":"Audit-Protokoll aktualisieren","tableAria":"Audit-Log-Eintr\xe4ge","failedFetchAuditLog":"Das Audit-Protokoll konnte nicht abgerufen werden","showing":"Zeigt {count} Eintr\xe4ge (Offset {offset})","search":"Suchen","timestamp":"Zeitstempel","action":"Aktion","actor":"Schauspieler","target":"Ziel","details":"Einzelheiten","ipAddress":"IP-Adresse","notAvailable":"—","noEntries":"Es wurden keine Audit-Log-Eintr\xe4ge gefunden","previous":"Zur\xfcck","next":"Als n\xe4chstes"},"onboarding":{"welcome":"Willkommen","security":"Sicherheit","test":"Testen","ready":"Bereit!","setPassword":"Passwort festlegen","addProvider":"F\xfcgen Sie Ihren ersten Anbieter hinzu","getStarted":"Legen Sie los","skip":"\xdcberspringen","skipWizard":"Den Assistenten vollst\xe4ndig \xfcberspringen","skipPassword":"Passwort-Einrichtung \xfcberspringen","skipAndContinue":"\xdcberspringen und fortfahren","passwordLabel":"Passwort","confirmPassword":"Passwort best\xe4tigen","enterPassword":"Passwort eingeben","confirmPasswordPlaceholder":"Passwort best\xe4tigen","passwordsMismatch":"Passw\xf6rter stimmen nicht \xfcberein","setupComplete":"Einrichtung abgeschlossen!","goToDashboard":"Gehen Sie zu Dashboard →","welcomeDesc":"OmniRoute ist Ihr lokaler AI-API-Proxy. Es leitet Anfragen mit Lastausgleich, Failover und Nutzungsverfolgung an mehrere KI-Anbieter weiter.","multiProvider":"Multi-Provider","usageTracking":"Nutzungsverfolgung","apiKeyMgmt":"API-Schl\xfcsselverwaltung","securityDesc":"Legen Sie ein Passwort fest, um Ihr Dashboard zu sch\xfctzen, oder \xfcberspringen Sie es zun\xe4chst.","providerDesc":"Verbinden Sie Ihren ersten KI-Anbieter. Sie k\xf6nnen sp\xe4ter weitere hinzuf\xfcgen.","apiKeyRequired":"API-Schl\xfcssel (erforderlich)","customUrlOptional":"Benutzerdefinierte URL (optional)","testDesc":"Lassen Sie uns \xfcberpr\xfcfen, ob Ihre Provider-Verbindung funktioniert.","runTest":"F\xfchren Sie einen Verbindungstest durch","testingConnection":"Verbindung wird getestet...","connectionSuccessful":"Verbindung erfolgreich! Ihr Anbieter ist bereit.","noProviderFound":"Kein Anbieter gefunden. Sie k\xf6nnen sp\xe4ter eines \xfcber das Dashboard hinzuf\xfcgen.","testFailed":"Der Test ist fehlgeschlagen, aber Sie k\xf6nnen dies sp\xe4ter konfigurieren.","couldNotTest":"Konnte momentan nicht testen. Sie k\xf6nnen den Test \xfcber das Dashboard durchf\xfchren.","doneDesc":"Sie sind bereit! Ihre OmniRoute-Instanz ist konfiguriert und bereit, KI-Anfragen weiterzuleiten.","yourEndpoint":"Ihr Endpunkt:","continue":"Weiter","retry":"Versuchen Sie es noch einmal","failedSetPassword":"Das Passwort konnte nicht festgelegt werden. Versuchen Sie es erneut.","failedAddProvider":"Anbieter konnte nicht hinzugef\xfcgt werden. Versuchen Sie es erneut.","connectionError":"Verbindungsfehler. Bitte versuchen Sie es erneut.","provider":"Anbieter"},"providers":{"title":"Anbieter","addProvider":"Anbieter hinzuf\xfcgen","editProvider":"Anbieter bearbeiten","deleteProvider":"Anbieter l\xf6schen","noProviders":"Keine Anbieter konfiguriert","modelAvailability":"Modellverf\xfcgbarkeit","accounts":"Konten","newAccount":"Neues Konto","deleteConfirm":"Sind Sie sicher, dass Sie diesen Anbieter l\xf6schen m\xf6chten?","testing":"Testen...","testConnection":"Testverbindung","testSuccess":"Verbindung erfolgreich","testFailed":"Verbindung fehlgeschlagen","available":"Verf\xfcgbar","cooldown":"Abklingzeit","unavailable":"Nicht verf\xfcgbar","unknown":"Unbekannt","oauthLabel":"OAuth","compatibleLabel":"Kompatibel","chat":"Chatten","responses":"Antworten","messages":"Nachrichten","oauthProviders":"OAuth-Anbieter","freeProviders":"Kostenlose Anbieter","apiKeyProviders":"API-Schl\xfcsselanbieter","compatibleProviders":"Mit API-Schl\xfcsseln kompatible Anbieter","testAll":"Alle testen","testAllOAuth":"Testen Sie alle OAuth-Verbindungen","testAllFree":"Testen Sie alle kostenlosen Verbindungen","testAllApiKey":"Testen Sie alle API-Schl\xfcsselverbindungen","testAllCompatible":"Testen Sie alle kompatiblen Verbindungen","connected":"{count} Verbunden","errorCount":"{count} Fehler ({code})","errorCountNoCode":"{count} Fehler","noConnections":"Keine Verbindungen","disabled":"Deaktiviert","enableProvider":"Anbieter aktivieren","disableProvider":"Anbieter deaktivieren","testResults":"Testergebnisse","noCompatibleYet":"Es wurden noch keine kompatiblen Anbieter hinzugef\xfcgt","compatibleHint":"Verwenden Sie die Schaltfl\xe4chen oben, um OpenAI- oder Anthropic-kompatible Endpunkte hinzuzuf\xfcgen","addOpenAICompatible":"OpenAI-kompatibel hinzuf\xfcgen","addAnthropicCompatible":"Anthropic-kompatibel hinzuf\xfcgen","addNewProvider":"Neuen Anbieter hinzuf\xfcgen","backToProviders":"Zur\xfcck zu Anbietern","configureNewProvider":"Konfigurieren Sie einen neuen KI-Anbieter zur Verwendung mit Ihren Anwendungen.","providerLabel":"Anbieter","selectProvider":"W\xe4hlen Sie einen Anbieter aus","selectedProvider":"Ausgew\xe4hlter Anbieter","authMethod":"Authentifizierungsmethode","apiKeyLabel":"API-Schl\xfcssel","apiKeyRequired":"API-Schl\xfcssel ist erforderlich","selectProviderRequired":"Bitte w\xe4hlen Sie einen Anbieter aus","enterApiKey":"Geben Sie Ihren API-Schl\xfcssel ein","apiKeySecure":"Ihr API-Schl\xfcssel wird verschl\xfcsselt und sicher gespeichert.","oauth2Connect":"Verbinden Sie sich mit OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Verbinden Sie Ihr Konto mithilfe der OAuth2-Authentifizierung.","displayName":"Anzeigename","displayNamePlaceholder":"z. B. Produktions-API, Entwicklungsumgebung","displayNameHint":"Optional. Ein benutzerfreundlicher Name zur Identifizierung dieser Konfiguration.","active":"Aktiv","activeDescription":"Aktivieren Sie diesen Anbieter f\xfcr die Verwendung in Ihren Anwendungen","cancel":"Abbrechen","createProvider":"Anbieter erstellen","failedCreate":"Anbieter konnte nicht erstellt werden","errorOccurred":"Es ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.","modelStatus":"Modellstatus","allModelsOperational":"Alle Modelle betriebsbereit","modelsWithIssues":"{count} Modell(e) mit Problemen","allModelsNormal":"Alle Modelle reagieren normal.","cooldownCleared":"Abklingzeit f\xfcr {model} gel\xf6scht","failedClearCooldown":"Die Abklingzeit konnte nicht gel\xf6scht werden","loadingAvailability":"Modellverf\xfcgbarkeit wird geladen...","clearCooldown":"Klar","clearing":"L\xf6schen...","until":"Bis {time}","providerTestFailed":"Anbietertest fehlgeschlagen","modeTest":"{mode} Test","passedCount":"{count} bestanden","failedCount":"{count} fehlgeschlagen","testedCount":"{count} getestet","millisecondsAbbr":"{value}ms","okShort":"Okay","errorShort":"FEHLER","noActiveConnectionsInGroup":"F\xfcr diese Gruppe wurden keine aktiven Verbindungen gefunden.","allTestsPassed":"Alle {total}-Tests bestanden","testSummary":"{passed}/{total} bestanden, {failed} fehlgeschlagen","nameLabel":"Name","prefixLabel":"Pr\xe4fix","baseUrlLabel":"Basis-URL","apiTypeLabel":"API-Typ","prefixHint":"Erforderlich. Eindeutiges Pr\xe4fix f\xfcr Modellnamen.","nameHint":"Erforderlich. Eine benutzerfreundliche Bezeichnung f\xfcr diesen Knoten.","baseUrlHint":"Erforderlich. Basis-URL der Anbieter-API.","anthropicPrefixPlaceholder":"AC-Prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Verbindung validieren","validating":"Validierung...","connectionValid":"Verbindung ist g\xfcltig!","connectionFailed":"Verbindung fehlgeschlagen. \xdcberpr\xfcfen Sie URL und Schl\xfcssel.","testKeyLabel":"API-Schl\xfcssel testen","testKeyPlaceholder":"sk-... (nur zur Validierung)","providerNotFound":"Anbieter nicht gefunden","deleteConnectionConfirm":"Diese Verbindung l\xf6schen?","failedSetAlias":"Alias konnte nicht festgelegt werden","failedSaveConnection":"Die Verbindung konnte nicht gespeichert werden","failedSaveConnectionRetry":"Die Verbindung konnte nicht gespeichert werden. Bitte versuchen Sie es erneut.","failedRetestConnection":"Die Verbindung konnte nicht erneut getestet werden","deleteCompatibleNodeConfirm":"Diesen {type} kompatiblen Knoten l\xf6schen?","anthropicCompatibleDetails":"Anthropic-kompatible Details","openaiCompatibleDetails":"Details zur OpenAI-Kompatibilit\xe4t","messagesApi":"Nachrichten-API","responsesApi":"Antwort-API","chatCompletions":"Chat-Abschl\xfcsse","importingModels":"Importieren...","importFromModels":"Import aus /models","addConnectionToImport":"F\xfcgen Sie eine Verbindung hinzu, um den Import zu erm\xf6glichen.","noModelsConfigured":"Keine Modelle konfiguriert","connectionCount":"{count} Verbindung(en)","fetchingModels":"Verf\xfcgbare Modelle werden abgerufen...","failedFetchModels":"Modelle konnten nicht abgerufen werden","noModelsFound":"Keine Modelle gefunden","importFailed":"Der Import ist fehlgeschlagen","noNewModelsAdded":"Es wurden keine neuen Modelle hinzugef\xfcgt.","adding":"Hinzuf\xfcgen...","importingModelsTitle":"Modelle importieren","copyModel":"Modell kopieren","removeModel":"Modell entfernen","rateLimitProtected":"Gesch\xfctzt","rateLimitUnprotected":"Ungesch\xfctzt","enableRateLimitProtection":"Klicken Sie hier, um den Ratenbegrenzungsschutz zu aktivieren","disableRateLimitProtection":"Klicken Sie hier, um den Ratenbegrenzungsschutz zu deaktivieren","productionKey":"Produktionsschl\xfcssel","enterNewApiKey":"Geben Sie einen neuen API-Schl\xfcssel ein","optional":"Optional","anthropicCompatibleName":"Anthropisch kompatibel","openaiCompatibleName":"OpenAI-kompatibel","failedImportModels":"Modelle konnten nicht importiert werden","noModelsReturnedFromEndpoint":"Vom /models-Endpunkt wurden keine Modelle zur\xfcckgegeben.","importingModelsProgress":"{current} von {total} Modellen werden importiert...","foundModelsStartingImport":"{count} Modelle gefunden. Import wird gestartet...","importingModelById":"{modelId} wird importiert...","importSuccessCount":"{count, plural, one {# model} other {# models}} erfolgreich importiert!","noNewModelsAddedExisting":"Es wurden keine neuen Modelle hinzugef\xfcgt (alle bereits vorhanden).","importDoneCount":"✓ Fertig! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Es ist ein unerwarteter Fehler aufgetreten","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"Nachrichten","responsesPath":"Antworten","chatCompletionsPath":"Chat/Abschl\xfcsse","add":"Hinzuf\xfcgen","edit":"Bearbeiten","delete":"L\xf6schen","anthropic":"Anthropisch","openai":"OpenAI","singleConnectionPerCompatible":"Pro kompatiblem Knoten ist nur eine Verbindung zul\xe4ssig. F\xfcgen Sie einen weiteren Knoten hinzu, wenn Sie mehr Verbindungen ben\xf6tigen.","connections":"Verbindungen","providerProxyTitleConfigured":"Anbieter-Proxy: {host}","configured":"konfiguriert","providerProxyConfigureHint":"Proxy f\xfcr alle Verbindungen dieses Anbieters konfigurieren","providerProxy":"Anbieter-Proxy","noConnectionsYet":"Noch keine Verbindungen","addFirstConnectionHint":"F\xfcgen Sie Ihre erste Verbindung hinzu, um loszulegen","addConnection":"Verbindung hinzuf\xfcgen","availableModels":"Verf\xfcgbare Modelle","pageAutoRefresh":"Die Seite wird automatisch aktualisiert...","statusDisabled":"deaktiviert","statusConnected":"verbunden","statusRuntimeIssue":"Laufzeitproblem","statusAuthFailed":"Authentifizierung fehlgeschlagen","statusRateLimited":"Tarif begrenzt","statusNetworkIssue":"Netzwerkproblem","statusTestUnsupported":"Test nicht unterst\xfctzt","statusUnavailable":"nicht verf\xfcgbar","statusFailed":"gescheitert","statusError":"Fehler","oauthAccount":"OAuth-Konto","errorTypeRuntime":"Lokale Laufzeit","errorTypeUpstreamAuth":"Upstream-Authentifizierung","errorTypeMissingCredential":"Fehlender Ausweis","errorTypeRefreshFailed":"Aktualisierung fehlgeschlagen","errorTypeTokenExpired":"Token abgelaufen","errorTypeRateLimited":"Preis begrenzt","errorTypeUpstreamUnavailable":"Upstream nicht verf\xfcgbar","errorTypeNetworkError":"Netzwerkfehler","errorTypeTestUnsupported":"Test nicht unterst\xfctzt","errorTypeUpstreamError":"Upstream-Fehler","proxySourceGlobal":"Global","proxySourceProvider":"Anbieter","proxySourceKey":"Schl\xfcssel","proxyConfiguredBySource":"Proxy ({source}): {host}","autoPriority":"Automatisch: {priority}","proxy":"Stellvertreter","retestAuthentication":"Authentifizierung erneut testen","retest":"Erneut testen","disableConnection":"Verbindung deaktivieren","enableConnection":"Verbindung aktivieren","reauthenticateConnection":"Authentifizieren Sie diese Verbindung erneut","proxyConfig":"Proxy-Konfiguration","aliasExistsAlert":"Alias „{alias}“ existiert bereits. Bitte verwenden Sie ein anderes Modell oder bearbeiten Sie den vorhandenen Alias.","openRouterAnyModelHint":"OpenRouter unterst\xfctzt jedes Modell. F\xfcgen Sie Modelle hinzu und erstellen Sie Aliase f\xfcr den schnellen Zugriff.","modelIdFromOpenRouter":"Modell-ID (von OpenRouter)","openRouterModelPlaceholder":"anthropisch/claude-3-opus","customModels":"Benutzerdefinierte Modelle","customModelsHint":"F\xfcgen Sie Modell-IDs hinzu, die nicht in der Standardliste enthalten sind. Diese stehen f\xfcr das Routing zur Verf\xfcgung.","modelId":"Modell-ID","customModelPlaceholder":"z.B. gpt-4,5-turbo","loading":"Laden...","removeCustomModel":"Benutzerdefiniertes Modell entfernen","noCustomModels":"Es wurden noch keine benutzerdefinierten Modelle hinzugef\xfcgt.","allSuggestedAliasesExist":"Alle vorgeschlagenen Aliase sind bereits vorhanden. Bitte w\xe4hlen Sie ein anderes Modell oder entfernen Sie widerspr\xfcchliche Aliase.","failedSaveCustomModel":"Das benutzerdefinierte Modell konnte nicht gespeichert werden","modelAddedSuccess":"Modell {modelId} erfolgreich hinzugef\xfcgt","failedAddModelTryAgain":"Modell konnte nicht hinzugef\xfcgt werden. Bitte versuchen Sie es erneut.","failedSaveImportedModel":"Das importierte Modell konnte nicht in der benutzerdefinierten Datenbank gespeichert werden","failedImportModelsTryAgain":"Modelle konnten nicht importiert werden. Bitte versuchen Sie es erneut.","failedRemoveModelFromDatabase":"Das Modell konnte nicht aus der Datenbank entfernt werden","modelRemovedSuccess":"Modell erfolgreich entfernt","failedDeleteModelTryAgain":"Modell konnte nicht gel\xf6scht werden. Bitte versuchen Sie es erneut.","compatibleModelsDescription":"F\xfcgen Sie {type}-kompatible Modelle manuell hinzu oder importieren Sie sie vom Endpunkt /models.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"Die Validierung des API-Schl\xfcssels ist fehlgeschlagen. Bitte \xfcberpr\xfcfen Sie Ihren Schl\xfcssel und versuchen Sie es erneut.","addProviderApiKeyTitle":"F\xfcgen Sie den API-Schl\xfcssel {provider} hinzu","checking":"\xdcberpr\xfcfen...","check":"\xdcberpr\xfcfen","valid":"G\xfcltig","invalid":"Ung\xfcltig","creating":"Erstellen...","validationChecksAnthropicCompatible":"Die Validierung pr\xfcft {provider} durch \xdcberpr\xfcfung des API-Schl\xfcssels.","validationChecksOpenAiCompatible":"Die Validierung pr\xfcft {provider} \xfcber /models auf Ihrer Basis-URL.","priorityLabel":"Priorit\xe4t","saving":"Sparen...","save":"Speichern","editConnection":"Verbindung bearbeiten","accountName":"Kontoname","email":"E-Mail","healthCheckMinutes":"Gesundheitscheck (Min.)","healthCheckHint":"Proaktives Token-Aktualisierungsintervall. 0 = deaktiviert.","failedTestConnection":"Die Verbindung konnte nicht getestet werden","failed":"Fehlgeschlagen","leaveBlankKeepCurrentApiKey":"Lassen Sie das Feld leer, um den aktuellen API-Schl\xfcssel beizubehalten.","editCompatibleTitle":"Bearbeiten Sie {type} kompatibel","compatibleBaseUrlHint":"Verwenden Sie die Basis-URL (die auf /v1 endet) f\xfcr Ihre {type}-kompatible API.","apiKeyForCheck":"API-Schl\xfcssel (zur \xdcberpr\xfcfung)","compatibleProdPlaceholder":"{type} Kompatibel (Prod)"},"settings":{"title":"Einstellungen","general":"Allgemein","security":"Sicherheit","appearance":"Aussehen","routing":"Routenf\xfchrung","cache":"Cache","resilience":"Belastbarkeit","systemPrompt":"Systemaufforderung","thinkingBudget":"Denkendes Budget","proxy":"Stellvertreter","pricing":"Preise","storage":"Lagerung","policies":"Richtlinien","ipFilter":"IP-Filter","comboDefaults":"Combo-Standardeinstellungen","fallbackChains":"Fallback-Ketten","changePassword":"Passwort \xe4ndern","enablePassword":"Passwort aktivieren","darkMode":"Dunkler Modus","lightMode":"Lichtmodus","systemTheme":"Systemthema","enableCache":"Cache aktivieren","cacheTTL":"Cache-TTL","maxCacheSize":"Maximale Cache-Gr\xf6\xdfe","clearCache":"Cache leeren","cacheHits":"Cache-Treffer","cacheMisses":"Cache-Fehler","hitRate":"Trefferquote","cacheEntries":"Cache-Eintr\xe4ge","circuitBreaker":"Leistungsschalter","retryPolicy":"Wiederholungsrichtlinie","maxRetries":"Max. Wiederholungsversuche","retryDelay":"Wiederholungsverz\xf6gerung","timeoutMs":"Timeout (ms)","enableSystemPrompt":"Aktivieren Sie die Systemaufforderung","systemPromptText":"Systemaufforderungstext","enableThinking":"Denken aktivieren","maxThinkingTokens":"Max Thinking Tokens","enableProxy":"Proxy aktivieren","proxyUrl":"Proxy-URL","pricingRates":"Preisformat","currentPricing":"Aktuelle Preis\xfcbersicht","loadingPricing":"Preisdaten werden geladen...","noPricing":"Keine Preisdaten verf\xfcgbar","input":"Eingabe","output":"Ausgabe","cached":"Zwischengespeichert","reasoning":"Begr\xfcndung","cacheCreation":"Cache-Erstellung","customPricing":"Individuelle Preise","databaseSize":"Datenbankgr\xf6\xdfe","backupDb":"Backup-Datenbank","restoreDb":"Datenbank wiederherstellen","exportData":"Daten exportieren","importData":"Daten importieren","clearData":"Alle Daten l\xf6schen","clearDataConfirm":"Dadurch werden alle Daten dauerhaft gel\xf6scht. Bist du sicher?","enableRequestLogs":"Aktivieren Sie Anforderungsprotokolle","logRetention":"Protokollaufbewahrung","ipWhitelist":"IP-Whitelist","ipBlacklist":"IP-Blacklist","addIP":"IP hinzuf\xfcgen","savedSuccessfully":"Einstellungen erfolgreich gespeichert","ai":"KI","advanced":"Fortgeschritten","localMode":"Lokaler Modus – Alle auf Ihrem Computer gespeicherten Daten","settingsSectionsAria":"Abschnitte „Einstellungen“.","switchThemes":"Wechseln Sie zwischen hellen und dunklen Themen","themeSelectionAria":"Themenauswahl","themeLight":"Licht","themeDark":"Dunkel","themeSystem":"System","hideHealthLogs":"Gesundheitspr\xfcfungsprotokolle ausblenden","hideHealthLogsDesc":"Wenn diese Option aktiviert ist, werden [HealthCheck]-Meldungen in der Serverkonsole unterdr\xfcckt","promptCache":"Prompt-Cache","flushCache":"Cache leeren","flushing":"Sp\xfclen…","size":"Gr\xf6\xdfe","hits":"Treffer","evictions":"R\xe4umungen","loadingCacheStats":"Cache-Statistiken werden geladen…","globalProxy":"Globaler Proxy","globalProxyDesc":"Konfigurieren Sie einen globalen ausgehenden Proxy f\xfcr alle API-Aufrufe. Einzelne Anbieter, Kombinationen und Schl\xfcssel k\xf6nnen dies au\xdfer Kraft setzen.","noGlobalProxy":"Kein globaler Proxy konfiguriert","globalLabel":"Global","configure":"Konfigurieren","globalSystemPrompt":"Globale Systemaufforderung","systemPromptDesc":"Wird in alle Anfragen auf Proxy-Ebene eingef\xfcgt","saved":"Gespeichert","systemPromptPlaceholder":"Geben Sie die Systemaufforderung ein, um alle Anfragen zu injizieren ...","systemPromptHint":"Diese Eingabeaufforderung wird der Systemnachricht jeder Anfrage vorangestellt. Wird f\xfcr globale Anweisungen, Sicherheitsrichtlinien oder Antwortformatierungsregeln verwendet.","chars":"{count} Zeichen","thinkingBudgetTitle":"Denkendes Budget","thinkingBudgetDesc":"Kontrollieren Sie die Verwendung von KI-Begr\xfcndungstoken f\xfcr alle Anfragen","passthrough":"Passthrough","passthroughDesc":"Keine \xc4nderungen – der Kunde kontrolliert das Denkbudget","auto":"Automatisch","autoDesc":"Entfernen Sie alle Denkkonfigurationen – lassen Sie den Anbieter entscheiden","custom":"Benutzerdefiniert","customDesc":"Legen Sie ein festes Token-Budget f\xfcr alle Anfragen fest","adaptive":"Adaptiv","adaptiveDesc":"Skalieren Sie das Budget basierend auf der Komplexit\xe4t der Anfrage","effortNone":"Keine (0 Token)","effortLow":"Niedrig (1.000 Token)","effortMedium":"Mittel (10.000 Token)","effortHigh":"Hoch (128.000 Token)","tokenBudget":"Token-Budget","tokens":"Token","baseEffortLevel":"Grundaufwandsstufe","adaptiveHint":"Der adaptive Modus skaliert ausgehend von dieser Basisebene basierend auf der Nachrichtenanzahl, der Tool-Nutzung und der Eingabeaufforderungsl\xe4nge.","requireLogin":"Anmeldung erforderlich","requireLoginDesc":"Wenn aktiviert, erfordert das Dashboard ein Passwort. Wenn AUS, Zugriff ohne Anmeldung.","currentPassword":"Aktuelles Passwort","enterCurrentPassword":"Geben Sie das aktuelle Passwort ein","newPassword":"Neues Passwort","enterNewPassword":"Geben Sie ein neues Passwort ein","confirmPassword":"Best\xe4tigen Sie das neue Passwort","confirmPasswordPlaceholder":"Best\xe4tigen Sie das neue Passwort","passwordsNoMatch":"Passw\xf6rter stimmen nicht \xfcberein","passwordUpdated":"Passwort erfolgreich aktualisiert","failedUpdatePassword":"Das Passwort konnte nicht aktualisiert werden","errorOccurred":"Es ist ein Fehler aufgetreten","updatePassword":"Passwort aktualisieren","setPassword":"Passwort festlegen","apiEndpointProtection":"API-Endpunktschutz","requireAuthModels":"API-Schl\xfcssel f\xfcr /models erforderlich","requireAuthModelsDesc":"Wenn diese Option aktiviert ist, gibt der Endpunkt /v1/models f\xfcr nicht authentifizierte Anforderungen 404 zur\xfcck. Verhindert die Modellerkennung durch nicht autorisierte Benutzer.","blockedProviders":"Gesperrte Anbieter","blockedProvidersDesc":"Verstecken Sie bestimmte Anbieter in der /v1/models-Antwort. Gesperrte Anbieter erscheinen nicht in den Modelllisten.","providersBlocked":"{count} Anbieter von /models blockiert","blockProviderTitle":"Blockieren Sie {provider}","unblockProviderTitle":"Entsperren Sie {provider}","routingStrategy":"Routing-Strategie","fillFirst":"Zuerst f\xfcllen","fillFirstDesc":"Verwenden Sie Konten in der Reihenfolge ihrer Priorit\xe4t","roundRobin":"Round Robin","roundRobinDesc":"Gehen Sie alle Konten durch","p2c":"P2C","p2cDesc":"W\xe4hlen Sie zuf\xe4llig zwei aus und verwenden Sie die ges\xfcndere","random":"Zuf\xe4llig","randomDesc":"Zuf\xe4lliges Konto bei jeder Anfrage","leastUsed":"Am wenigsten genutzt","leastUsedDesc":"W\xe4hlen Sie das zuletzt verwendete Konto aus","costOpt":"Kosten Opt","costOptDesc":"Bevorzugen Sie das g\xfcnstigste verf\xfcgbare Konto","stickyLimit":"Sticky-Limit","stickyLimitDesc":"Anrufe pro Konto vor dem Wechsel","modelAliases":"Modell-Aliase","modelAliasesDesc":"Platzhaltermuster zum Neuzuordnen von Modellnamen • Verwenden Sie * und ?","aliasPatternPlaceholder":"Claude-Sonett-*","aliasTargetPlaceholder":"claude-sonett-4-20250514","pattern":"Muster","targetModel":"Zielmodell","add":"+ Hinzuf\xfcgen","session":"Sitzung","sessionDetailsAria":"Sitzungsdetails","status":"Status","authenticated":"Authentifiziert","guest":"Gast","loginTime":"Anmeldezeit","sessionAge":"Sitzungsalter","browser":"Browser","clearLocalData":"Lokale Daten l\xf6schen","logout":"Abmelden","clearLocalDataConfirm":"Alle lokalen Daten l\xf6schen? Dadurch werden Ihre Einstellungen zur\xfcckgesetzt.","unknown":"Unbekannt","systemActor":"System","ipAccessControl":"IP-Zugriffskontrolle","ipAccessControlDesc":"Blockieren oder erlauben Sie bestimmte IP-Adressen","ipModeDisabled":"Deaktiviert","ipModeBlacklist":"Schwarze Liste","ipModeWhitelist":"Whitelist","ipModeWhitelistPriority":"WL-Priorit\xe4t","addIpAddress":"IP-Adresse hinzuf\xfcgen","ipAddressPlaceholder":"192.168.1.0/24 oder 10.0.*.*","block":"+ Blockieren","allow":"+ Erlauben","blocked":"Blockiert ({count})","allowed":"Erlaubt ({count})","temporaryBans":"Vor\xfcbergehende Sperren ({count})","minLeft":"{min}m \xfcbrig","auditLog":"Audit-Protokoll","searchAuditLogs":"Audit-Logs durchsuchen...","failedLoadAuditLog":"Das Audit-Protokoll konnte nicht geladen werden","noAuditEvents":"Keine Pr\xfcfereignisse gefunden","action":"Aktion","actor":"Schauspieler","details":"Einzelheiten","time":"Zeit","fallbackChainsTitle":"Fallback-Ketten","fallbackChainsDesc":"Definieren Sie die Anbieter-Fallback-Reihenfolge pro Modell","addChain":"+ Kette hinzuf\xfcgen","modelName":"Modellname","modelNamePlaceholder":"claude-sonett-4-20250514","providersCommaSeparated":"Anbieter (durch Kommas getrennt, nach Priorit\xe4t geordnet)","providersCommaSeparatedPlaceholder":"anthropisch, openai, Zwillinge","createChain":"Kette erstellen","noFallbackChains":"Keine Fallback-Ketten","noFallbackChainsDesc":"Erstellen Sie eine Kette, um die Anbieter-Fallback-Reihenfolge f\xfcr ein Modell zu definieren.","loadingFallbackChains":"Fallback-Ketten werden geladen...","deleteChainConfirm":"Fallback-Kette f\xfcr „{model}“ l\xf6schen?","chainCreated":"Kette f\xfcr {model} erstellt","chainDeleted":"Kette f\xfcr {model} gel\xf6scht","failedCreateChain":"Kette konnte nicht erstellt werden","failedDeleteChain":"Kette konnte nicht gel\xf6scht werden","deleteChain":"Kette l\xf6schen","fillModelAndProviders":"Bitte geben Sie Modellnamen und Anbieter ein","addAtLeastOneProvider":"F\xfcgen Sie mindestens einen Anbieter hinzu","comboDefaultsTitle":"Combo-Standardeinstellungen","globalComboConfig":"Globale Combo-Konfiguration","defaultStrategy":"Standardstrategie","defaultStrategyDesc":"Wird auf neue Combos ohne explizite Strategie angewendet","comboStrategyAria":"Combo-Strategie","priority":"Priorit\xe4t","weighted":"Gewichtet","maxRetriesLabel":"Max. Wiederholungsversuche","retryDelayLabel":"Wiederholungsverz\xf6gerung (ms)","timeoutLabel":"Timeout (ms)","healthCheck":"Gesundheitscheck","healthCheckDesc":"\xdcberpr\xfcfen Sie vorab die Verf\xfcgbarkeit des Anbieters","trackMetrics":"Verfolgen Sie Metriken","trackMetricsDesc":"Zeichnen Sie Metriken pro Kombinationsanforderung auf","providerOverrides":"Anbieter\xfcberschreibungen","providerOverridesDesc":"Zeit\xfcberschreitung und Wiederholungsversuche pro Anbieter au\xdfer Kraft setzen. Anbietereinstellungen \xfcberschreiben globale Standardeinstellungen.","providerMaxRetriesAria":"{provider} maximale Wiederholungsversuche","providerTimeoutAria":"{provider} Timeout ms","removeProviderOverrideAria":"Entfernen Sie die {provider}-\xdcberschreibung","newProviderNamePlaceholder":"z.B. Google, openai...","newProviderNameAria":"Neuer Anbietername","retries":"wiederholt","ms":"Frau","saveComboDefaults":"Combo-Standardeinstellungen speichern","maxNestingDepth":"Maximale Verschachtelungstiefe","concurrencyPerModel":"Parallelit\xe4t / Modell","queueTimeout":"Warteschlangen-Timeout (ms)","providerProfiles":"Anbieterprofile","providerProfilesDesc":"Separate Resilienzeinstellungen f\xfcr OAuth-Anbieter (sitzungsbasiert) und API-Schl\xfcsselanbieter (gemessen). OAuth-Anbieter haben aufgrund niedrigerer Ratenlimits strengere Schwellenwerte.","oauthProviders":"OAuth-Anbieter","apiKeyProviders":"API-Schl\xfcsselanbieter","transientCooldown":"Vor\xfcbergehende Abklingzeit","rateLimitCooldown":"Abklingzeit der Ratenbegrenzung","maxBackoffLevel":"Max. Backoff-Level","cbThreshold":"CB-Schwelle","cbResetTime":"CB-Resetzeit","rateLimiting":"Ratenbegrenzung","rateLimitingDesc":"API-Schl\xfcsselanbieter unterliegen automatisch einer Ratenbegrenzung mit sicheren Standardwerten. Grenzwerte werden aus Antwortheadern gelernt und passen sich im Laufe der Zeit an.","defaultSafetyNet":"Standard-Sicherheitsnetz","rpm":"U/min","minGap":"Min. L\xfccke","maxConcurrent":"Maximal gleichzeitig","activeLimiters":"Aktive Limiter","noActiveLimiters":"Noch keine aktiven Ratenbegrenzer.","reservoir":"Stausee","running":"Laufen","queued":"In der Warteschlange","circuitBreakers":"Leistungsschalter","breakerStateClosed":"Geschlossen","breakerStateOpen":"Offen","breakerStateHalfOpen":"Halboffen","tripped":"{count} ausgel\xf6st","healthy":"{count} gesund","resetAll":"Alles zur\xfccksetzen","noCircuitBreakers":"Noch keine Schutzschalter aktiv. Sie werden automatisch erstellt, wenn Anforderungen die Combo-Pipeline durchlaufen.","failures":"{count} Fehler(e)","policiesLocked":"Richtlinien und gesperrte Kennungen","allOperational":"Alle Systeme betriebsbereit – keine Aussperrungen oder ausgel\xf6sten Leistungsschalter","loadingPolicies":"Richtlinien werden geladen...","lockedIdentifiers":"Gesperrte Kennungen","unlockedIdentifier":"Entsperrt: {identifier}","sinceDate":"seit {date}","forceUnlock":"Entsperren erzwingen","unlocking":"Entsperren...","failedUnlock":"Entsperren fehlgeschlagen","failedLoadWithStatus":"Fehler beim Laden: {status}","failedLoadResilience":"Ausfallsicherheitsstatus konnte nicht geladen werden","saveFailed":"Speichern fehlgeschlagen","resetFailed":"Zur\xfccksetzen fehlgeschlagen","loadingResilience":"Resilienzstatus wird geladen...","retry":"Versuchen Sie es noch einmal","systemStorage":"System & Speicher","allDataLocal":"Alle Daten werden lokal auf Ihrem Computer gespeichert","databasePath":"Datenbankpfad","exportDatabase":"Datenbank exportieren","exportAll":"Alle exportieren (.tar.gz)","importDatabase":"Datenbank importieren","confirmDbImport":"Best\xe4tigen Sie den Datenbankimport","confirmDbImportDesc":"Dadurch werden alle aktuellen Daten durch den Inhalt von {file} ersetzt. Vor dem Import wird automatisch ein Backup erstellt.","yesImport":"Ja, Import","lastBackup":"Letzte Sicherung","noBackupYet":"Noch kein Backup","backupNow":"Jetzt sichern","backupRestore":"Sichern und Wiederherstellen","viewBackups":"Backups anzeigen","hide":"Verstecken","backupRetentionDesc":"Datenbank-Snapshots werden automatisch vor der Wiederherstellung und alle 15 Minuten erstellt, wenn sich Daten \xe4ndern. Aufbewahrung: 24 Stunden + 30 t\xe4gliche Backups mit intelligenter Rotation.","loadingBackups":"Backups werden geladen...","noBackupsYet":"Noch keine Backups verf\xfcgbar. Bei Daten\xe4nderungen werden automatisch Backups erstellt.","backupsAvailable":"{count} Backup(s) verf\xfcgbar","refresh":"Aktualisieren","confirm":"Best\xe4tigen?","yes":"Ja","no":"Nein","restore":"Wiederherstellen","invalidFileType":"Ung\xfcltiger Dateityp. Es werden nur .sqlite-Dateien akzeptiert.","exportFailed":"Der Export ist fehlgeschlagen","exportFailedWithError":"Export fehlgeschlagen: {error}","fullExportFailedWithError":"Vollst\xe4ndiger Export fehlgeschlagen: {error}","backupCreated":"Backup erstellt: {file}","restoreSuccess":"Restauriert! {connections} Verbindungen, {nodes} Knoten, {combos} Combos, {apiKeys} API-Schl\xfcssel.","importSuccess":"Datenbank importiert! {connections} Verbindungen, {nodes} Knoten, {combos} Combos, {apiKeys} API-Schl\xfcssel.","justNow":"gerade jetzt","minutesAgo":"Vor {count}m","hoursAgo":"Vor {count}h","daysAgo":"Vor {count}d","backupReasonManual":"Handbuch","backupReasonPreRestore":"vor der Wiederherstellung","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Keine \xc4nderungen seit der letzten Sicherung","backupFailed":"Die Sicherung ist fehlgeschlagen","restoreFailed":"Wiederherstellung fehlgeschlagen","importFailed":"Der Import ist fehlgeschlagen","errorDuringRestore":"Bei der Wiederherstellung ist ein Fehler aufgetreten","errorDuringImport":"Beim Import ist ein Fehler aufgetreten","modelPricing":"Modellpreise","modelPricingDesc":"Konfigurieren Sie die Kostens\xe4tze pro Modell. • Alle Preise in 1-Millionen-Dollar-Tokens","providers":"Anbieter","registry":"Registrierung","priced":"Preislich","searchProvidersModels":"Anbieter oder Modelle suchen...","showAll":"Alle anzeigen","noProvidersMatch":"Zu Ihrer Suche passen keine Anbieter.","howPricingWorks":"So funktioniert die Preisgestaltung","cacheWrite":"Cache-Schreiben","unsaved":"nicht gespeichert","resetDefaults":"Standardeinstellungen zur\xfccksetzen","saveProvider":"Anbieter speichern","saving":"Sparen...","model":"Modell","models":"Modelle","moreProviders":"{count} weitere Anbieter","withPricing":"mit konfigurierter Preisgestaltung","policiesCircuitBreakers":"Richtlinien und Leistungsschalter","activeIssuesDetected":"Aktive Probleme erkannt","off":"Aus","resetPricingConfirm":"Alle Preise f\xfcr {provider} auf die Standardwerte zur\xfccksetzen?","pricingDescInput":"Eingabe: An das Modell gesendete Token","pricingDescOutput":"Ausgabe: Token generiert","pricingDescCached":"Zwischengespeichert: Wiederverwendete Eingabe (~50 % der Eingaberate)","pricingDescReasoning":"Begr\xfcndung: Denktokens (greift auf Ausgabe zur\xfcck)","pricingDescCacheWrite":"Cache Write: Erstellen von Cache-Eintr\xe4gen (f\xe4llt auf Input zur\xfcck)","pricingDescFormula":"Kosten = (Eingabe \xd7 Eingaberate) + (Ausgabe \xd7 Ausgaberate) + (zwischengespeichert \xd7 zwischengespeicherte_Rate) pro Million Token.","pricingSettingsTitle":"Preiseinstellungen","totalModels":"Gesamtmodelle","active":"Aktiv","costCalculation":"Kostenberechnung","costCalculationDesc":"Die Kosten werden basierend auf der Token-Nutzung und den f\xfcr jedes Modell konfigurierten Preiss\xe4tzen berechnet.","pricingFormat":"Preisformat","pricingFormatDesc":"Alle Preise sind in $/1 Mio. Token angegeben (Dollar pro Million Token).","tokenTypes":"Token-Typen","inputTokenDesc":"Standard-Prompt-Token","outputTokenDesc":"Abschluss-/Antworttoken","cachedTokenDesc":"Zwischengespeicherte Eingabetokens (typischerweise 50\xa0% der Eingaberate)","reasoningTokenDesc":"Spezielle Argumentations-/Denk-Tokens (Fallback auf die Ausgaberate)","cacheCreationTokenDesc":"Token, die zum Erstellen von Cache-Eintr\xe4gen verwendet werden (Fallback auf Eingaberate)","customPricingNote":"Sie k\xf6nnen die Standardpreise f\xfcr bestimmte Modelle \xfcberschreiben. Benutzerdefinierte \xdcberschreibungen haben Vorrang vor automatisch erkannten Preisen.","editPricing":"Preise bearbeiten","viewFullDetails":"Vollst\xe4ndige Details anzeigen","modelAliasesTitle":"Modell-Aliase","addCustomAlias":"Benutzerdefinierten Alias hinzuf\xfcgen","deprecatedModelId":"Veraltete Modell-ID","newModelId":"Neue Modell-ID","customAliases":"Benutzerdefinierte Aliase","builtInAliases":"Integrierte Aliase","backgroundDegradationTitle":"Hintergrundaufgaben-Degradierung","backgroundDegradationDesc":"Erkennt automatisch Hintergrundaufgaben (Titel, Zusammenfassungen) und leitet an g\xfcnstigere Modelle weiter","enableDegradation":"Hintergrund-Degradierung aktivieren","enableDegradationHint":"Wenn aktiviert, werden Hintergrundaufgaben wie Titelgenerierung und Zusammenfassungen automatisch an g\xfcnstigere Modelle weitergeleitet","tasksDetected":"Aufgaben erkannt","degradationMap":"Modell-Degradierungskarte","premiumModel":"Premium-Modell","cheapModel":"G\xfcnstiges Modell","detectionPatterns":"Erkennungsmuster","newPattern":"z.B. \\"einen Titel generieren\\""},"translator":{"title":"\xdcbersetzer","metaTitle":"\xdcbersetzer-Spielplatz | OmniRoute","metaDescription":"Debuggen, testen und visualisieren Sie API-Format\xfcbersetzungen zwischen Anbietern","playgroundTitle":"\xdcbersetzerspielplatz","playground":"Spielplatz","realtime":"Echtzeit-\xdcbersetzungsaktivit\xe4t","chatTester":"Chat-Tester","testBench":"Pr\xfcfstand","liveMonitor":"Live-Monitor","modeDescriptionPlayground":"F\xfcgen Sie einen beliebigen API-Anfragetext ein und sehen Sie, wie OmniRoute ihn zwischen Anbieterformaten \xfcbersetzt (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","modeDescriptionChatTester":"Senden Sie echte Chat-Anfragen \xfcber OmniRoute und \xfcberpr\xfcfen Sie den gesamten Roundtrip: Eingabe, \xfcbersetzte Anfrage, Anbieterantwort und \xfcbersetzte Ausgabe.","modeDescriptionTestBench":"F\xfchren Sie vordefinierte Szenarien aus und vergleichen Sie die Kompatibilit\xe4t zwischen Anbietern und Modellen.","modeDescriptionLiveMonitor":"Beobachten Sie \xdcbersetzungsereignisse in Echtzeit, w\xe4hrend Anfragen \xfcber OmniRoute eingehen.","modeDescriptionFallback":"Debuggen, testen und visualisieren Sie, wie OmniRoute API-Anfragen zwischen Anbietern \xfcbersetzt.","recentTranslations":"Aktuelle \xdcbersetzungen","noTranslations":"Noch keine \xdcbersetzungen","source":"Quelle","target":"Ziel","time":"Zeit","model":"Modell","status":"Status","latency":"Latenz","totalTranslations":"Gesamt\xfcbersetzungen","successful":"Erfolgreich","errors":"Fehler","avgLatency":"Durchschnittliche Latenz","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Live – Automatische Aktualisierung","paused":"Angehalten","eventsAppearHint":"\xdcbersetzungsereignisse werden hier angezeigt, wenn Anforderungen \xfcber OmniRoute flie\xdfen. Verwenden Sie eine dieser Methoden, um Ereignisse zu generieren:","chatTesterTab":"Registerkarte „Chat-Tester“.","testBenchTab":"Registerkarte „Pr\xfcfstand“.","externalApiCalls":"Externe API-Aufrufe","ideCliIntegrations":"IDE/CLI-Integrationen","inMemoryNote":"Hinweis: Ereignisse werden im Speicher gespeichert und beim Neustart des Servers zur\xfcckgesetzt.","ok":"Okay","errorShort":"ERR","formatConverter":"Formatkonverter","formatConverterDescription":"F\xfcgen Sie einen JSON-Anfragetext ein oder geben Sie ihn ein. Der \xdcbersetzer erkennt das Quellformat automatisch und konvertiert es in das Zielformat. Verwenden Sie dies, um zu debuggen, wie OmniRoute Anfragen zwischen Formaten \xfcbersetzt (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Eingabe","output":"Ausgabe","auto":"Automatisch","swapFormats":"Formate austauschen","translateAction":"\xdcbersetzen","clear":"Klar","inputPlaceholder":"F\xfcgen Sie hier einen Anfragetext ein oder w\xe4hlen Sie unten eine Vorlage aus ...","exampleTemplates":"Beispielvorlagen","exampleTemplatesHint":"— Zum Laden klicken","templateLoadHint":"Die Vorlage l\xe4dt die Anfrage im Format {format}. \xc4ndern Sie das Quellformat, um es in einem anderen Format zu laden.","compatibilityTester":"Kompatibilit\xe4tstester","compatibilityReport":"Kompatibilit\xe4tsbericht","testBenchDescription":"F\xfchren Sie vordefinierte Szenarien aus (einfacher Chat, Tool-Aufruf usw.), um die \xdcbersetzung und die Anbieterkompatibilit\xe4t zu \xfcberpr\xfcfen. W\xe4hlen Sie ein Quellformat und einen Zielanbieter aus und f\xfchren Sie dann alle Tests durch, um einen Kompatibilit\xe4tsprozentsatz zu ermitteln. Verwenden Sie diese Funktion, um herauszufinden, welche Funktionen anbieter\xfcbergreifend funktionieren.","targetProvider":"Zielanbieter","runAllTests":"F\xfchren Sie alle Tests aus","runTest":"Test ausf\xfchren","reRun":"Wiederholen","running":"Laufen...","passed":"bestanden","failed":"gescheitert","passedIconLabel":"✅Bestanden","chunks":"Brocken","scenarioSimpleChat":"Einfacher Chat","scenarioToolCalling":"Werkzeugaufruf","scenarioMultiTurn":"Multiturn","scenarioThinking":"Denken","scenarioSystemPrompt":"Systemaufforderung","scenarioStreaming":"Streaming","templateNames":{"simple-chat":"Einfacher Chat","tool-calling":"Werkzeugaufruf","multi-turn":"Multiturn","thinking":"Denken","system-prompt":"Systemaufforderung","streaming":"Streaming"},"templateDescriptions":{"simple-chat":"Einfache Textnachricht","tool-calling":"Funktions-/Tool-Aufruf","multi-turn":"Gespr\xe4ch mit der Geschichte","thinking":"Erweitertes Denken / Argumentieren","system-prompt":"Komplexe Systemanweisungen","streaming":"SSE-Streaming-Anfrage"},"templatePayloads":{"simpleChat":{"system":"Sie sind ein hilfreicher Assistent.","userGreeting":"Hallo! Wie geht es dir heute?"},"toolCalling":{"userWeather":"Wie ist das Wetter in S\xe3o Paulo?","toolDescription":"Erhalten Sie das aktuelle Wetter f\xfcr einen Standort","cityNameDescription":"Stadtname"},"multiTurn":{"system":"Sie sind Codierungsassistent.","userInitial":"Schreiben Sie eine Funktion zum Sortieren eines Arrays in Python.","assistantExample":"Hier ist eine einfache Sortierfunktion:\\n\\n„Python\\ndef sort_array(arr):\\n R\xfcckgabe sortiert(arr)\\n„","userFollowUp":"Sortieren Sie nun in absteigender Reihenfolge."},"thinking":{"question":"Wie gro\xdf ist die Summe der ersten 100 Primzahlen?"},"systemPrompt":{"systemInstruction":"Sie sind ein leitender Softwareentwickler mit Spezialisierung auf verteilte Systeme. Beantworten Sie Fragen pr\xe4zise und nutzen Sie die Best Practices der Branche. Geben Sie bei Bedarf immer Codebeispiele an. Formatieren Sie Ihre Antworten mit Markdown.","question":"Wie setze ich ein Schutzschaltermuster um?"},"streaming":{"prompt":"Erz\xe4hlen Sie mir eine kurze Geschichte \xfcber einen Roboter, der malen lernt."}},"openaiCompatibleLabel":"OpenAI-kompatibel","anthropicCompatibleLabel":"Anthropisch kompatibel","noTemplateForFormat":"Keine Vorlage f\xfcr dieses Format","translationFailed":"\xdcbersetzung fehlgeschlagen: {error}","pipelineDebugger":"Pipeline-Debugger","translationPipeline":"\xdcbersetzungspipeline","pipelineVisualization":"Pipeline-Visualisierung","pipelineVisualizationHint":"Senden Sie eine Nachricht, um zu sehen, wie Ihre Anfrage durch Erkennung → \xdcbersetzung → Anbieteranruf verl\xe4uft.","chatTesterDescription":"Senden Sie Nachrichten in einem bestimmten Clientformat und \xfcberpr\xfcfen Sie jeden Schritt der \xdcbersetzungspipeline.","chatTesterFlow":"Client-Anfrage → Formaterkennung → OpenAI Intermediate → Anbieterformat → Antwort","clickStepToInspect":"Klicken Sie auf einen beliebigen Schritt, um die Daten in dieser Phase zu \xfcberpr\xfcfen.","clientFormat":"Client-Format","provider":"Anbieter","modelPlaceholder":"W\xe4hlen Sie einen Modellnamen aus oder geben Sie ihn ein...","sendMessageToSeePipeline":"Senden Sie eine Nachricht, um die \xdcbersetzungspipeline anzuzeigen","chatMessageHintPrefix":"Ihre Nachricht wird als formatiert","chatMessageHintSuffix":"Anfrage, \xfcbersetzt durch die Pipeline und gesendet an den ausgew\xe4hlten Anbieter.","youWithFormat":"Sie ({format})","assistant":"Assistent","typeMessage":"Geben Sie eine Nachricht ein...","send":"Senden","clientRequest":"Kundenanfrage","clientRequestDescription":"Der Anfragetext, wie ihn Ihr Kunde senden w\xfcrde","formatDetected":"Format erkannt","formatDetectedDescription":"OmniRoute erkennt das API-Format automatisch anhand der Anforderungsstruktur","openaiIntermediate":"OpenAI-Mittelstufe","openaiIntermediateDescription":"Alle Formate werden zun\xe4chst auf das OpenAI-Format (die universelle Br\xfccke) normalisiert.","providerFormat":"Anbieterformat","providerFormatDescription":"Das OpenAI-Format wird in das native Format des Anbieters \xfcbersetzt","providerResponse":"Antwort des Anbieters","providerResponseRawDescription":"Die Rohantwort der Anbieter-API","providerResponseSseDescription":"Der rohe SSE-Stream von der Anbieter-API","unexpectedError":"Es ist ein unerwarteter Fehler aufgetreten","error":"Fehler","errorMessage":"Fehler: {message}","requestFailed":"Die Anfrage ist fehlgeschlagen","noTextExtracted":"(Kein Text extrahiert)","liveMonitorDescriptionPrefix":"Zeigt \xdcbersetzungsereignisse an, w\xe4hrend API-Aufrufe \xfcber OmniRoute flie\xdfen. Ereignisse kommen aus dem In-Memory-Puffer (wird beim Neustart zur\xfcckgesetzt). Benutzen","liveMonitorDescriptionSuffix":"oder externe API-Aufrufe zum Generieren von Ereignissen."},"usage":{"title":"Nutzung","loggerTab":"Logger","proxyTab":"Stellvertreter","budgetManagement":"Budgetverwaltung","budgetSaved":"Budgetgrenzen eingespart","budgetSaveFailed":"Das Budget konnte nicht gespeichert werden","loadingBudgetData":"Budgetdaten werden geladen...","noApiKeysTitle":"Keine API-Schl\xfcssel","noApiKeysDescription":"F\xfcgen Sie zun\xe4chst API-Schl\xfcssel hinzu, um Budgetgrenzen festzulegen.","apiKey":"API-Schl\xfcssel","todaysSpend":"Heutige Ausgaben","thisMonth":"Diesen Monat","setLimits":"Grenzen setzen","dailyLimitUsd":"Tageslimit (USD)","monthlyLimitUsd":"Monatslimit (USD)","warningThresholdPercent":"Warnschwelle (%)","dailyLimitPlaceholder":"z.B. 5.00","monthlyLimitPlaceholder":"z.B. 50,00","warningThresholdPlaceholder":"80","saveLimits":"Grenzen speichern","budgetOk":"Budget OK – {remaining} verbleibend","budgetExceeded":"Budget \xfcberschritten – Anfragen werden m\xf6glicherweise blockiert","totalRequests":"Gesamtzahl der Anfragen","noDataYet":"Noch keine Daten","latency":"Latenz","latencyP50":"S. 50","latencyP95":"S. 95","latencyP99":"S. 99","promptCache":"Prompt-Cache","systemHealth":"Systemgesundheit","entries":"Eintr\xe4ge","activeCount":"{count} aktiv","openCircuitBreakersDetected":"Offene Leistungsschalter erkannt","hitRate":"Trefferquote","hitsMisses":"Treffer/Fehlschl\xe4ge","circuitBreakers":"Leistungsschalter","lockedIPs":"Gesperrte IPs","lockoutsAutoRefreshHint":"Ratenbegrenzungssperren pro Modell • Automatische Aktualisierung 10 Sekunden","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} \xfcbrig","howItWorks":"Wie es funktioniert","howItWorksSubtitle":"Erfahren Sie, wie Bewertungen Ihre LLM-Antworten validieren","define":"Definieren","defineStepDescription":"Erstellen Sie Testf\xe4lle mit Eingabeaufforderungen und erwarteten Ausgabekriterien mithilfe von Strategien wie „Enth\xe4lt“, „Regex“ oder „Genaue \xdcbereinstimmung“.","run":"Lauf","runStepDescription":"F\xfchren Sie Testf\xe4lle f\xfcr Ihre LLM-Endpunkte \xfcber OmniRoute aus. Jeder Fall wird als echte API-Anfrage gesendet.","evaluate":"Bewerten","evaluateStepDescription":"Die Antworten werden mit den erwarteten Kriterien verglichen. Sehen Sie sich f\xfcr jeden Fall das Bestehen/Nichtbestehen mit Latenzmetriken und detailliertem Feedback an.","evalSuites":"Evaluierungssuiten","evalSuitesHint":"Klicken Sie auf eine Suite, um Testf\xe4lle anzuzeigen, und f\xfchren Sie sie dann aus, um Ihre LLM-Endpunkte zu bewerten","evalsLoading":"Evaluierungssuiten werden geladen...","noEvalSuitesFound":"Keine Evaluierungssuiten gefunden","noEvalSuitesDescription":"Evaluierungssuiten k\xf6nnen \xfcber die API oder im Code definiert werden. Sie testen Modellausgaben anhand erwarteter Ergebnisse mithilfe von Strategien wie „Contains“, „Regex“, „Exact Match“ und benutzerdefinierten Funktionen.","columnCase":"Fall","columnStatus":"Status","columnLatency":"Latenz","columnDetails":"Einzelheiten","columnModel":"Modell","columnStrategy":"Strategie","columnExpected":"Erwartet","statsSuites":"Suiten","statsTestCases":"Testf\xe4lle","statsModels":"Modelle","statsCoverage":"Abdeckung","statsStrategiesCount":"{count} Strategien","evaluationStrategies":"Bewertungsstrategien","modelsUnderTest":"Im Test befindliche Modelle","searchSuitesPlaceholder":"Suiten suchen...","passSuffix":"passieren","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"F\xfchren Sie die Evaluierung aus","runningProgress":"Ausf\xfchren von {current}/{total}...","passRate":"Erfolgsquote","summaryBreakdown":"{passed} bestanden \xb7 {failed} fehlgeschlagen \xb7 {total} insgesamt","passedIconLabel":"✅Bestanden","failedIconLabel":"❌ Fehlgeschlagen","detailsContains":"Enth\xe4lt: „{term}“","detailsRegex":"Regex: {pattern}","detailsExpected":"Erwartet: „{expected}“","noResultsYet":"Noch keine Ergebnisse","testCasesCount":"Testf\xe4lle ({count})","noTestCasesDefined":"Keine Testf\xe4lle definiert","runEvalHint":"Klicken Sie auf „Auswertung ausf\xfchren“, um alle F\xe4lle f\xfcr Ihren LLM-Endpunkt auszuf\xfchren. Jeder Test sendet eine echte Anfrage \xfcber OmniRoute.","notifyNoTestCases":"F\xfcr diese Suite sind keine Testf\xe4lle definiert","notifyAllCasesPassed":"Alle {total} F\xe4lle bestanden ✅","notifySomeCasesFailed":"{passed}/{total} bestanden, {failed} fehlgeschlagen","notifyEvalRunFailed":"Evaluierungslauf fehlgeschlagen","notifyEvalTitle":"Auswertung: {name}","modelEvals":"Modellbewertungen","evalsHeroDescription":"Testen und validieren Sie Ihre LLM-Endpunkte, indem Sie vordefinierte Evaluierungssuiten ausf\xfchren. Jede Suite enth\xe4lt Testf\xe4lle, die echte Eingabeaufforderungen \xfcber OmniRoute senden und Antworten mit erwarteten Kriterien vergleichen. So k\xf6nnen Sie Regressionen erkennen, Modelle vergleichen und die Antwortqualit\xe4t anbieter\xfcbergreifend sicherstellen.","qualityValidation":"Qualit\xe4tsvalidierung","modelComparison":"Modellvergleich","regressionDetection":"Regressionserkennung","latencyBenchmarks":"Latenz-Benchmarks","modelLockouts":"Modellsperren","noLockouts":"Derzeit sind keine Modelle gesperrt","activeSessions":"Aktive Sitzungen","noSessions":"Keine aktiven Sitzungen","sessionsHint":"Sitzungen erscheinen als Anfragen, die \xfcber den Proxy flie\xdfen","sessionsTrackedHint":"Verfolgt \xfcber Anforderungs-Fingerprinting • Automatische Aktualisierung 5 Sekunden","session":"Sitzung","age":"Alter","requests":"Anfragen","connection":"Verbindung","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Anbieterbeschr\xe4nkungen","noProviders":"Keine Anbieter verbunden","connectProvidersForQuota":"Stellen Sie \xfcber OAuth eine Verbindung zu Anbietern her, um Ihre API-Kontingentgrenzen und -Nutzung zu verfolgen.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(gefiltert aus {count})","autoRefresh":"Automatische Aktualisierung","refreshAll":"Alle aktualisieren","loadingQuotas":"Laden...","account":"Konto","modelQuotas":"Modellkontingente","lastUsed":"Zuletzt verwendet","actions":"Aktionen","refreshQuota":"Kontingent aktualisieren","today":"Heute","tomorrow":"Morgen","dayTimeFormat":"{day}, {time}","inDuration":"in {duration}","notApplicable":"N/A","rawPlanWithValue":"Rohplan: {plan}","noPlanFromProvider":"Kein Plan vom Anbieter","noQuotaData":"Keine Quotendaten","noQuotaDataAvailable":"Keine Quotendaten verf\xfcgbar","noAccountsForTierFilter":"F\xfcr den Stufenfilter wurden keine Konten gefunden","tierAll":"Alle","tierEnterprise":"Unternehmen","tierTeam":"Team","tierBusiness":"Gesch\xe4ft","tierUltra":"Ultra","tierPro":"Profi","tierPlus":"Plus","tierFree":"Kostenlos","tierUnknown":"Unbekannt"},"modals":{"waitingAuth":"Warten auf Autorisierung","verificationUrl":"Verifizierungs-URL","yourCode":"Ihr Code","remoteAccess":"Fernzugriff:","connectedSuccess":"Erfolgreich verbunden!","connectionFailed":"Verbindung fehlgeschlagen","chooseAuthMethod":"W\xe4hlen Sie Ihre Authentifizierungsmethode:","awsBuilderId":"AWS Builder-ID","awsIamIdentity":"AWS IAM Identity Center","googleAccount":"Google-Konto","githubAccount":"GitHub-Konto","importToken":"Token importieren","pasteToken":"Aktualisierungstoken aus der Kiro-IDE einf\xfcgen.","awsRegion":"AWS-Region","autoDetecting":"Automatische Erkennung von Token...","readingFromCache":"Lesen aus dem AWS SSO-Cache","readingFromCursor":"Lesen aus der Cursor-IDE-Datenbank","initializing":"Initialisierung...","pricingConfig":"Preiskonfiguration","loadingPricing":"Preisdaten werden geladen...","pricingRatesFormat":"Preisformat","noPricingData":"Keine Preisdaten verf\xfcgbar","noModelsFound":"Keine Modelle gefunden"},"loggers":{"allProviders":"Alle Anbieter","allModels":"Alle Modelle","allAccounts":"Alle Konten","allApiKeys":"Alle API-Schl\xfcssel","allTypes":"Alle Typen","allLevels":"Alle Ebenen","modelAZ":"Modell A-Z","modelZA":"Modell Z-A","loadingLogs":"Protokolle werden geladen...","loadingProxyLogs":"Proxy-Protokolle werden geladen...","noLogEntries":"Keine Protokolleintr\xe4ge gefunden","noPayloadData":"F\xfcr diesen Protokolleintrag sind keine Nutzdaten verf\xfcgbar.","proxyEvent":"Proxy-Ereignis","proxy":"Stellvertreter","level":"Ebene","directNative":"Direkt (nativ)","combo":"Kombi","inputTokens":"Ich:","outputTokens":"O:"},"stats":{"usageOverview":"Nutzungs\xfcbersicht","outputTokens":"Ausgabetoken","totalCost":"Gesamtkosten","usageByModel":"Nutzung nach Modell","usageByAccount":"Nutzung nach Konto","failedToLoad":"Nutzungsstatistiken konnten nicht geladen werden.","tokenHealth":"Token-Gesundheit","totalOAuth":"Gesamt-OAuth","healthy":"Gesund","warning":"Warnung","errored":"Fehlerhaft","lastCheck":"Letzte Kontrolle","noData":"Keine Daten","share":"Teilen","unableToLoad":"Systemmetriken k\xf6nnen nicht geladen werden","product":"Produkt","resources":"Ressourcen","company":"Unternehmen"},"auth":{"welcome":"Willkommen","signIn":"Melden Sie sich an","enterPassword":"Geben Sie Ihr Passwort ein, um fortzufahren","password":"Passwort","unifiedProxy":"Einheitlicher KI-API-Proxy","unifiedAiApiProxy":"Einheitlicher KI-API-Proxy","unifiedAiApiProxyDesc":"Leiten Sie Anfragen \xfcber einen einzigen Endpunkt an mehrere KI-Anbieter weiter. Integrierter Lastausgleich, Failover und Nutzungsverfolgung.","passwordNotEnabled":"Der Passwortschutz ist nicht aktiviert","loading":"Laden...","invalidPassword":"Ung\xfcltiges Passwort","errorOccurredRetry":"Es ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.","configureInstance":"Lassen Sie uns Ihre OmniRoute-Instanz konfigurieren","runOnboardingWizard":"F\xfchren Sie den Onboarding-Assistenten aus, um Ihr Passwort einzurichten und Ihren ersten KI-Anbieter zu verbinden.","startOnboarding":"Beginnen Sie mit dem Onboarding","secureYourInstance":"Sichern Sie Ihre Instanz","setPasswordDescription":"Legen Sie ein Passwort fest, um Ihr Dashboard zu sch\xfctzen und Ihre API-Endpunkte vor unbefugtem Zugriff zu sch\xfctzen.","configurePassword":"Passwort konfigurieren","continue":"Weiter","windowWillClose":"Dieses Fenster wird automatisch geschlossen...","closeTabNow":"Sie k\xf6nnen diesen Tab jetzt schlie\xdfen.","copyUrlManual":"Kopieren Sie die URL aus der Adressleiste und f\xfcgen Sie sie in die Anwendung ein.","accessDeniedDescription":"Sie haben keine Berechtigung, auf diese Ressource zuzugreifen. \xdcberpr\xfcfen Sie Ihren API-Schl\xfcssel oder wenden Sie sich an den Administrator.","goToDashboard":"Gehen Sie zum Dashboard","featureMultiProviderTitle":"Multi-Provider","featureMultiProviderDesc":"OpenAI, Anthropic, Google und mehr","featureLoadBalancingTitle":"Lastausgleich","featureLoadBalancingDesc":"Verteilen Sie Anfragen intelligent","featureUsageTrackingTitle":"Nutzungsverfolgung","featureUsageTrackingDesc":"\xdcberwachen Sie Kosten und Token","resetPassword":"Passwort zur\xfccksetzen","resetDescription":"W\xe4hlen Sie eine Methode, um den Zugriff auf Ihr Dashboard wiederherzustellen","stopServer":"Stoppen Sie den OmniRoute-Server","processing":"Verarbeitung...","pleaseWait":"Bitte warten Sie, w\xe4hrend wir die Autorisierung abschlie\xdfen.","authSuccess":"Autorisierung erfolgreich!","copyUrl":"Kopieren Sie diese URL","accessDenied":"Zugriff verweigert","methodCliTitle":"Methode 1: CLI-Reset","methodCliDescription":"F\xfchren Sie den folgenden Befehl auf dem Server aus, auf dem OmniRoute ausgef\xfchrt wird:","methodCliHint":"Dadurch werden Sie aufgefordert, ein neues Passwort festzulegen. Der Server muss zuerst gestoppt werden.","methodManualTitle":"Methode 2: Manuelles Zur\xfccksetzen","methodManualDescription":"L\xf6schen Sie das Passwort aus der Datenbank und legen Sie beim Start ein neues fest:","setPasswordInYour":"Legen Sie ein neues Passwort in Ihrer","fileLabelSuffix":"Datei:","newPasswordPlaceholder":"ihr_neues_passwort","deleteSettingsFile":"L\xf6schen","orRemovePasswordHashField":"oder entfernen Sie das Feld „passwordHash“.","restartServerWithNewPassword":"Starten Sie den Server neu – er verwendet das neue Passwort","backToLogin":"Zur\xfcck zum Anmelden","forgotPassword":"Passwort vergessen?"},"landing":{"brandName":"OmniRoute","navigateHome":"Navigieren Sie zur Startseite","toggleMenu":"Men\xfc umschalten","featuresLink":"Funktionen","docsLink":"Dokumente","github":"GitHub","versionLive":"v1.0 ist jetzt live","oneEndpoint":"Ein Endpunkt f\xfcr","allProviders":"Alle KI-Anbieter","heroDescription":"KI-Endpunkt-Proxy mit Web-Dashboard – Eine JavaScript-Portierung von CLIProxyAPI. Funktioniert nahtlos mit Claude Code, OpenAI Codex, Cline, RooCode und anderen CLI-Tools.","getStarted":"Legen Sie los","viewOnGithub":"Auf GitHub ansehen","powerfulFeatures":"Leistungsstarke Funktionen","featuresSubtitle":"Alles, was Sie zum Verwalten Ihrer KI-Infrastruktur ben\xf6tigen, an einem Ort, skalierbar.","featureUnifiedEndpointTitle":"Einheitlicher Endpunkt","featureUnifiedEndpointDesc":"Greifen Sie \xfcber eine einzige Standard-API-URL auf alle Anbieter zu.","featureEasySetupTitle":"Einfache Einrichtung","featureEasySetupDesc":"Mit dem Befehl npx k\xf6nnen Sie in wenigen Minuten loslegen.","featureModelFallbackTitle":"Modell-Fallback","featureModelFallbackDesc":"Wechseln Sie automatisch den Anbieter bei Ausfall oder hoher Latenz.","featureUsageTrackingTitle":"Nutzungsverfolgung","featureUsageTrackingDesc":"Detaillierte Analysen und Kosten\xfcberwachung f\xfcr alle Modelle.","featureOAuthApiKeysTitle":"OAuth- und API-Schl\xfcssel","featureOAuthApiKeysDesc":"Verwalten Sie Anmeldeinformationen sicher in einem Tresor.","featureCloudSyncTitle":"Cloud-Synchronisierung","featureCloudSyncDesc":"Synchronisieren Sie Ihre Konfigurationen sofort ger\xe4te\xfcbergreifend.","featureCliSupportTitle":"CLI-Unterst\xfctzung","featureCliSupportDesc":"Funktioniert mit Claude Code, Codex, Cline, Cursor und mehr.","featureDashboardTitle":"Armaturenbrett","featureDashboardDesc":"Visuelles Dashboard f\xfcr Echtzeit-Verkehrsanalyse.","howItWorks":"So funktioniert OmniRoute","howItWorksDescription":"Die Daten flie\xdfen nahtlos von Ihrer Anwendung \xfcber unsere intelligente Routing-Ebene zum besten Anbieter f\xfcr die jeweilige Aufgabe.","howItWorksStep1Title":"1. CLI und SDKs","howItWorksStep1Description":"Ihre Anfragen beginnen mit Ihren bevorzugten Tools oder unserem einheitlichen SDK. \xc4ndern Sie einfach die Basis-URL.","howItWorksStep2Title":"2. OmniRoute-Hub","howItWorksStep2Description":"Unsere Engine analysiert die Eingabeaufforderung, \xfcberpr\xfcft den Zustand des Anbieters und leitet Routen auf niedrigste Latenz oder Kosten weiter.","howItWorksStep3Title":"3. KI-Anbieter","howItWorksStep3Description":"Die Anfrage wird von OpenAI, Anthropic, Gemini oder anderen sofort erf\xfcllt.","getStartedIn30Seconds":"Beginnen Sie in 30 Sekunden","getStartedDescription":"Installieren Sie OmniRoute, konfigurieren Sie Ihre Anbieter \xfcber das Web-Dashboard und beginnen Sie mit der Weiterleitung von KI-Anfragen.","installOmniRoute":"Installieren Sie OmniRoute","installStepDescription":"F\xfchren Sie den Befehl npx aus, um den Server sofort zu starten","openDashboard":"\xd6ffnen Sie das Dashboard","openDashboardStepDescription":"Konfigurieren Sie Anbieter und API-Schl\xfcssel \xfcber die Weboberfl\xe4che","routeRequests":"Routenanfragen","routeRequestsStepDescription":"Richten Sie Ihre CLI-Tools auf {endpoint}","terminal":"Terminal","copy":"Kopieren","copied":"✓ Kopiert","startingOmniRoute":"OmniRoute wird gestartet...","serverRunningOnLabel":"Server l\xe4uft weiter","dashboardLabel":"Armaturenbrett","readyToRoute":"Bereit zum Routen! ✓","configureProvidersNote":"\uD83D\uDCDD Konfigurieren Sie Anbieter im Dashboard oder verwenden Sie Umgebungsvariablen","dataLocation":"Datenspeicherort:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Windows:","product":"Produkt","dashboardLink":"Armaturenbrett","changelog":"\xc4nderungsprotokoll","resources":"Ressourcen","documentation":"Dokumentation","npm":"NPM","legal":"Legal","mitLicense":"MIT-Lizenz","footerTagline":"Der einheitliche Endpunkt f\xfcr die KI-Generierung. Verbinden, leiten und verwalten Sie Ihre KI-Anbieter ganz einfach.","copyright":"\xa9 {year} OmniRoute. Alle Rechte vorbehalten.","flowToolClaudeCode":"Claude Code","flowToolOpenAICodex":"OpenAI-Codex","flowToolCline":"Cline","flowToolCursor":"Cursor","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Anthropisch","flowProviderGemini":"Zwillinge","flowProviderGithubCopilot":"GitHub-Copilot","interactiveDiagram":"Interaktives Diagramm auf dem Desktop sichtbar","ctaTitle":"Sind Sie bereit, Ihre KI-Infrastruktur zu vereinfachen?","ctaDescription":"Schlie\xdfen Sie sich Entwicklern an, die ihre KI-Integrationen mit OmniRoute optimieren. Open Source und kostenlos zu starten.","startFree":"Kostenlos starten","readDocumentation":"Dokumentation lesen"},"docs":{"title":"Dokumentation","quickStart":"Schnellstart","features":"Funktionen","supportedProviders":"Unterst\xfctzte Anbieter","supportedProvidersToc":"Anbieter","commonUseCases":"H\xe4ufige Anwendungsf\xe4lle","clientCompatibility":"Client-Kompatibilit\xe4t","apiReference":"API-Referenz","method":"Methode","path":"Pfad","notes":"Notizen","modelPrefixes":"Modellpr\xe4fixe","prefix":"Pr\xe4fix","troubleshooting":"Fehlerbehebung","supportsChat":"Unterst\xfctzt sowohl Chat- als auch Antwortendpunkte.","oauthAutoRefresh":"OAuth-Verbindung mit automatischer Token-Aktualisierung.","fullStreaming":"Volle Streaming-Unterst\xfctzung f\xfcr alle Modelle.","docsLabel":"Dokumente","docsHeroDescription":"KI-Gateway f\xfcr LLMs mit mehreren Anbietern. Ein Endpunkt f\xfcr OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor und \xfcber 20 weitere Anbieter.","openDashboard":"\xd6ffnen Sie das Dashboard","endpointPage":"Endpunktseite","github":"GitHub","reportIssue":"Problem melden","onThisPage":"Auf dieser Seite","documentationVersion":"Dokumentation – v{version}","quickStartStep1Title":"1. Installieren und ausf\xfchren","quickStartStep1Prefix":"Lauf","quickStartStep1Middle":"oder von GitHub klonen und ausf\xfchren","quickStartStep2Title":"2. API-Schl\xfcssel erstellen","quickStartStep2Text":"Gehen Sie zu Endpunkt -> Registrierte Schl\xfcssel. Generieren Sie einen Schl\xfcssel pro Umgebung.","quickStartStep3Title":"3. Anbieter verbinden","quickStartStep3Text":"F\xfcgen Sie Anbieterkonten \xfcber OAuth-Login, API-Schl\xfcssel oder kostenlose automatische Verbindung hinzu.","quickStartStep4Title":"4. Legen Sie die Client-Basis-URL fest","quickStartStep4Prefix":"Verweisen Sie Ihren IDE- oder API-Client auf","quickStartStep4Suffix":"Verwenden Sie beispielsweise das Provider-Pr\xe4fix","featureRoutingTitle":"Multi-Provider-Routing","featureRoutingText":"Leiten Sie Anfragen \xfcber einen einzigen OpenAI-kompatiblen Endpunkt an \xfcber 30 KI-Anbieter weiter. Unterst\xfctzt Chat-, Antwort-, Audio- und Bild-APIs.","featureCombosTitle":"Combos und Balancing","featureCombosText":"Erstellen Sie Modellkombinationen mit Fallback-Ketten und Ausgleichsstrategien: Round-Robin, Priorit\xe4t, Zufall, am wenigsten genutzt und kostenoptimiert.","featureUsageTitle":"Nutzungs- und Kostenverfolgung","featureUsageText":"Echtzeit-Token-Z\xe4hlung, Kostenberechnung pro Anbieter/Modell und detaillierte Nutzungsaufschl\xfcsselung nach API-Schl\xfcssel und Konto.","featureAnalyticsTitle":"Analytics-Dashboard","featureAnalyticsText":"Visuelle Analysen mit Diagrammen f\xfcr Anfragen, Token, Fehler, Latenz, Kosten und Modellpopularit\xe4t im Zeitverlauf.","featureHealthTitle":"Gesundheits\xfcberwachung","featureHealthText":"Live-Zustandspr\xfcfungen, Anbieterstatus, Leistungsschalterzust\xe4nde und automatische Erkennung von Ratengrenzen mit exponentiellem Backoff.","featureCliTitle":"CLI-Tools","featureCliText":"Verwalten Sie IDE-Konfigurationen, exportieren/importieren Sie Backups, entdecken Sie Codex-Profile und konfigurieren Sie Einstellungen \xfcber das Dashboard.","featureSecurityTitle":"Sicherheit und Richtlinien","featureSecurityText":"API-Schl\xfcsselauthentifizierung, IP-Filterung, Prompt-Injection-Guard, Dom\xe4nenrichtlinien, Sitzungsverwaltung und Audit-Protokollierung.","featureCloudSyncTitle":"Cloud-Synchronisierung","featureCloudSyncText":"Synchronisieren Sie Ihre Konfiguration mit Cloudflare Workers f\xfcr den Fernzugriff mit verschl\xfcsselten Anmeldeinformationen und automatischem Failover.","providersAcrossConnectionTypes":"{count}-Anbieter \xfcber drei Verbindungstypen hinweg.","manageProviders":"Anbieter verwalten","providersCount":"{count} Anbieter","providerTypeFree":"Kostenloses Kontingent","providerTypeOAuth":"OAuth","providerTypeApiKey":"API-Schl\xfcssel","useCaseSingleEndpointTitle":"Ein einziger Endpunkt f\xfcr viele Anbieter","useCaseSingleEndpointText":"Verweisen Sie Clients auf eine Basis-URL und leiten Sie sie nach Modellpr\xe4fix weiter (z. B. gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Fallback und Modellwechsel mit Combos","useCaseFallbackText":"Erstellen Sie Kombinationsmodelle im Dashboard und halten Sie die Clientkonfiguration stabil, w\xe4hrend die Anbieter intern rotieren.","useCaseUsageVisibilityTitle":"Nutzung, Kosten und Debug-Sichtbarkeit","useCaseUsageVisibilityText":"Verfolgen Sie Token und Kosten nach Anbieter, Konto und API-Schl\xfcssel auf den Registerkarten „Nutzung“ und „Analyse“.","clientCherryStudioTitle":"Kirschstudio","baseUrlLabel":"Basis-URL","chatEndpointLabel":"Chat-Endpunkt","modelRecommendationLabel":"Modellempfehlung: explizites Pr\xe4fix","clientCodexTitle":"Codex/GitHub-Copilot-Modelle","clientCodexBullet1":"Verwenden Sie Modell-IDs mit","clientCodexBullet2":"Modelle der Codex-Familie leiten automatisch zu","clientCodexBullet3":"Nicht-Codex-Modelle bleiben bestehen","clientCursorTitle":"Cursor-IDE","clientCursorBullet1":"Benutzen","clientCursorBullet1Suffix":"Pr\xe4fix f\xfcr Cursor-Modelle.","clientCursorBullet2":"OAuth-Verbindung – Anmeldung \xfcber die Anbieterseite.","clientClaudeTitle":"Claude Code / Antigravitation","clientClaudeBullet1Prefix":"Benutzen","clientClaudeBullet1Middle":"(Claude) oder","clientClaudeBullet1Suffix":"Pr\xe4fix (Antigravitation).","endpointChatNote":"OpenAI-kompatibler Chat-Endpunkt (Standard).","endpointResponsesNote":"Antwort-API-Endpunkt (Codex, O-Serie).","endpointModelsNote":"Musterkatalog f\xfcr alle angeschlossenen Anbieter.","endpointAudioNote":"Audiotranskription (Deepgram, AssemblyAI).","endpointImagesNote":"Bilderzeugung (NanoBanana).","endpointRewriteChatNote":"Rewrite-Helper f\xfcr Clients ohne /v1.","endpointRewriteResponsesNote":"Hilfsprogramm f\xfcr Antworten ohne /v1 umschreiben.","endpointRewriteModelsNote":"Hilfsprogramm f\xfcr die Modellerkennung ohne /v1 umschreiben.","modelPrefixesDescriptionStart":"Verwenden Sie das Anbieterpr\xe4fix vor dem Modellnamen, um an einen bestimmten Anbieter weiterzuleiten. Beispiel:","modelPrefixesDescriptionEnd":"Routen zu GitHub Copilot.","provider":"Anbieter","type":"Typ","troubleshootingModelRouting":"Wenn der Client beim Modellrouting fehlschl\xe4gt, verwenden Sie einen expliziten Anbieter/ein explizites Modell (z. B. gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Wenn Sie mehrdeutige Modellfehler erhalten, w\xe4hlen Sie ein Anbieterpr\xe4fix anstelle einer blo\xdfen Modell-ID.","troubleshootingCodexFamily":"Behalten Sie f\xfcr Modelle der GitHub Codex-Familie das Modell bei gh/<codex-model>; Der Router w\xe4hlt /responses automatisch aus.","troubleshootingTestConnection":"Verwenden Sie Dashboard > Anbieter > Verbindung testen, bevor Sie Tests mit IDEs oder externen Clients durchf\xfchren.","troubleshootingCircuitBreaker":"Wenn ein Anbieter anzeigt, dass der Leistungsschalter ge\xf6ffnet ist, warten Sie auf die Abklingzeit oder schauen Sie auf der Seite „Zustand“ nach, um Einzelheiten zu erfahren.","troubleshootingOAuth":"F\xfchren Sie bei OAuth-Anbietern eine erneute Authentifizierung durch, wenn die Token ablaufen. \xdcberpr\xfcfen Sie die Statusanzeige der Anbieterkarte."},"legal":{"privacyPolicy":"Datenschutzrichtlinie","termsOfService":"Nutzungsbedingungen","providerConfigurations":"Anbieterkonfigurationen","apiKeys":"API-Schl\xfcssel","usageLogs":"Nutzungsprotokolle","applicationSettings":"Anwendungseinstellungen","viewExportAnalytics":"Nutzungsanalysen anzeigen und exportieren","clearHistory":"Nutzungsverlauf jederzeit l\xf6schen","configureRetention":"Konfigurieren Sie Protokollaufbewahrungsrichtlinien","backupRestore":"Sichern Sie Ihre Datenbank und stellen Sie sie wieder her","privacyMetadataTitle":"Datenschutzrichtlinie | OmniRoute","privacyMetadataDescription":"Datenschutzrichtlinie f\xfcr den OmniRoute AI API-Proxy-Router.","termsMetadataTitle":"Nutzungsbedingungen | OmniRoute","termsMetadataDescription":"Nutzungsbedingungen f\xfcr den OmniRoute AI API-Proxy-Router.","backToHome":"Zur\xfcck nach Hause","lastUpdated":"Letzte Aktualisierung: {date}","policyLastUpdatedDate":"13. Februar 2026","listSeparator":"-","questionsVisit":"Fragen? Besuchen Sie unsere","githubRepository":"GitHub-Repository","privacySection1Title":"1. Local-First-Architektur","privacySection1Text":"OmniRoute ist als Local-First-Anwendung konzipiert. Die gesamte Datenverarbeitung und -speicherung erfolgt vollst\xe4ndig auf Ihrem Rechner. Es gibt keinen zentralen Server, der Ihre Daten sammelt.","privacySection2Title":"2. Von uns gespeicherte Daten","privacyDataStoredIn":"Die folgenden Daten werden lokal in gespeichert","privacyDataProviderConfigurationsDesc":"Verbindungs-URLs, Anbietertypen und Priorit\xe4tseinstellungen","privacyDataApiKeysDesc":"verschl\xfcsselt und lokal gespeichert zur Authentifizierung bei KI-Anbietern","privacyDataUsageLogsDesc":"Anzahl der Anfragen, Token-Nutzung, Modellnamen, Zeitstempel und Antwortzeiten","privacyDataApplicationSettingsDesc":"Theme-Einstellungen, Routing-Strategie und Kombinationskonfigurationen","privacySection3Title":"3. Keine Telemetrie","privacySection3Text":"OmniRoute sammelt keine Telemetrie-, Analyse- oder Absturzberichte. Es werden keine Daten an uns oder Dritte \xfcbermittelt. Ihre Nutzungsmuster, API-Aufrufe und Konfigurationen bleiben vollst\xe4ndig privat.","privacySection4Title":"4. KI-Drittanbieter","privacySection4Text":"Wenn Sie API-Aufrufe \xfcber OmniRoute durchf\xfchren, werden Ihre Anfragen an die von Ihnen konfigurierten KI-Anbieter weitergeleitet (z. B. OpenAI, Anthropic, Google). Diese Anbieter haben eigene Datenschutzrichtlinien, die den Umgang mit Ihren Daten regeln. Bitte \xfcberpr\xfcfen Sie:","privacyOpenAiPolicy":"OpenAI-Datenschutzrichtlinie","privacyAnthropicPolicy":"Anthropic-Datenschutzrichtlinie","privacyGooglePolicy":"Google-Datenschutzerkl\xe4rung","privacySection5Title":"5. Cloud-Synchronisierung (optional)","privacySection5Text":"Wenn Sie die optionale Cloud-Synchronisierungsfunktion aktivieren, k\xf6nnen Anbieterkonfigurationen und API-Schl\xfcssel an einen konfigurierten Cloud-Endpunkt \xfcbertragen werden. Diese Funktion ist standardm\xe4\xdfig deaktiviert und erfordert eine ausdr\xfcckliche Zustimmung.","privacySection6Title":"6. Protokollierung","privacyLoggingIntro":"Anforderungsprotokolle k\xf6nnen \xfcber die Dashboard-Einstellungen konfiguriert werden. Sie k\xf6nnen:","privacySection7Title":"7. Ihre Rechte","privacySection7TextStart":"Da alle Daten lokal gespeichert werden, haben Sie die volle Kontrolle. Sie k\xf6nnen Ihre Daten jederzeit l\xf6schen, indem Sie das entfernen","privacySection7TextEnd":"Verzeichnis oder mithilfe der Datenbanksicherungs- und -wiederherstellungsfunktionen im Dashboard.","termsSection1Title":"1. \xdcbersicht","termsSection1Text":"OmniRoute ist ein Local-First-AI-API-Proxy-Router, der vollst\xe4ndig auf Ihrem Computer ausgef\xfchrt wird. Es leitet Anfragen mit Lastausgleich, Failover und Nutzungsverfolgung an mehrere KI-Anbieter weiter.","termsSection2Title":"2. Verantwortlichkeiten des Benutzers","termsResponsibilityApiKeys":"Sie sind allein f\xfcr die Verwaltung Ihrer eigenen API-Schl\xfcssel und Anmeldeinformationen f\xfcr KI-Drittanbieter (OpenAI, Anthropic, Google usw.) verantwortlich.","termsResponsibilityCompliance":"Sie m\xfcssen die Nutzungsbedingungen jedes KI-Anbieters einhalten, auf dessen API Sie \xfcber OmniRoute zugreifen.","termsResponsibilitySecurity":"Sie sind f\xfcr die Sicherheit Ihrer lokalen OmniRoute-Installation verantwortlich, einschlie\xdflich der Festlegung eines Kennworts und der Einschr\xe4nkung des Netzwerkzugriffs.","termsSection3Title":"3. Wie es funktioniert","termsSection3Text":"OmniRoute fungiert als zwischengeschalteter Proxy. An OmniRoute gesendete API-Aufrufe werden \xfcbersetzt und an Ihre konfigurierten KI-Anbieter weitergeleitet. OmniRoute \xe4ndert den Inhalt Ihrer Anfragen oder Antworten nicht \xfcber die erforderliche Protokoll\xfcbersetzung hinaus.","termsSection4Title":"4. Datenverarbeitung","termsDataStoredLocally":"Alle Daten werden lokal auf Ihrem Computer in einer SQLite-Datenbank gespeichert.","termsNoTransmission":"OmniRoute \xfcbertr\xe4gt keine Daten an externe Server, es sei denn, Sie aktivieren explizit Cloud-Synchronisierungsfunktionen.","termsDataLocationText":"Nutzungsprotokolle, API-Schl\xfcssel und Konfiguration werden in gespeichert","termsSection5Title":"5. Haftungsausschluss","termsSection5Text":"OmniRoute wird „wie besehen“ ohne Gew\xe4hrleistung jeglicher Art bereitgestellt. Wir sind nicht verantwortlich f\xfcr Kosten, die durch API-Nutzung, Dienstunterbrechungen oder Datenverlust entstehen. Bewahren Sie immer Backups Ihrer Konfiguration auf.","termsSection6Title":"6. Open Source","termsSection6Text":"OmniRoute ist Open-Source-Software. Es steht Ihnen frei, es im Rahmen der Lizenzbedingungen zu pr\xfcfen, zu \xe4ndern und zu verbreiten."}}')}};
|