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=2594,exports.ids=[2594],exports.modules={32594:a=>{a.exports=JSON.parse('{"common":{"save":"Salva","cancel":"Cancellare","delete":"Eliminare","loading":"Caricamento...","error":"Si \xe8 verificato un errore","success":"Successo","confirm":"Sei sicuro?","refresh":"Aggiorna","close":"Vicino","add":"Aggiungere","edit":"Modificare","search":"Ricerca","back":"Indietro","next":"Prossimo","submit":"Invia","reset":"Reset","copy":"Copia","copied":"Copiato!","enabled":"Abilitato","disabled":"Disabilitato","active":"Attivo","inactive":"Inattivo","noData":"Nessun dato disponibile","configure":"Configura","manage":"Maneggio","name":"Nome","actions":"Azioni","status":"Stato","type":"Tipo","model":"Modello","models":"modelli","provider":"Fornitore","account":"Account","time":"Tempo","details":"Dettagli","created":"Creato","lastUsed":"Ultimo utilizzo","loadMore":"Carica altro","noResults":"Nessun risultato trovato","reloadPage":"Ricarica la pagina","connected":"Collegato","disconnected":"Disconnesso","notConfigured":"Non configurato","testConnection":"Prova connessione","enable":"Abilitare","disable":"Disabilita","columns":"Colonne","newest":"Pi\xf9 recente","oldest":"Il pi\xf9 antico","all":"Tutto","none":"Nessuno","yes":"S\xcc","no":"NO","warning":"Avvertimento","note":"Nota","free":"Gratuito","skipToContent":"Vai al contenuto"},"sidebar":{"home":"Casa","dashboard":"Pannello di controllo","providers":"Fornitori","combos":"Combinazioni","usage":"Utilizzo","analytics":"Analitica","costs":"Costi","health":"Salute","limits":"Limiti e quote","cliTools":"Strumenti CLI","settings":"Impostazioni","translator":"Traduttore","docs":"Documenti","issues":"Problemi","endpoint":"Punto finale","apiManager":"Gestore API","logs":"Registri","auditLog":"Registro di controllo","shutdown":"Fermare","restart":"Ricomincia","shutdownConfirm":"Arrestare OmniRoute?","restartConfirm":"Riavviare OmniRoute?","version":"v{version}","debug":"Debug","system":"Sistema","help":"Aiuto","serverDisconnected":"Server disconnesso","serverDisconnectedMsg":"Il server proxy \xe8 stato arrestato o si sta riavviando.","expandSidebar":"Espandi la barra laterale","collapseSidebar":"Comprimi la barra laterale"},"header":{"logout":"Esci","language":"Lingua","providers":"Fornitori","providerDescription":"Gestisci le connessioni del tuo fornitore di intelligenza artificiale","combos":"Combinazioni","comboDescription":"Combo di modelli con fallback","usage":"Utilizzo e analisi","usageDescription":"Monitora l\'utilizzo dell\'API, il consumo dei token e i log delle richieste","analytics":"Analitica","analyticsDescription":"Grafici, tendenze e approfondimenti sulla valutazione","cliTools":"Strumenti CLI","cliToolsDescription":"Configura gli strumenti CLI","home":"Casa","homeDescription":"Benvenuti in OmniRoute","endpoint":"Punto finale","endpointDescription":"Configurazione dell\'endpoint API","settings":"Impostazioni","settingsDescription":"Gestisci le tue preferenze","openaiCompatible":"Compatibile con OpenAI","anthropicCompatible":"Compatibile antropico"},"home":{"quickStart":"Avvio rapido","quickStartDesc":"Diventa subito operativo in 4 passaggi. Connetti fornitori, modelli di percorso, monitora tutto.","fullDocs":"Documenti completi","step1Title":"1. Crea la chiave API","step1Desc":"Vai a <endpoint>Endpoint</endpoint> -> Chiavi registrate. Genera una chiave per ambiente.","step2Title":"2. Connetti i fornitori","step2Desc":"Aggiungi account in <providers>Providers</providers>. Supporta OAuth, chiave API e livelli gratuiti.","step3Title":"3. Punta il tuo cliente","step3Desc":"Imposta l\'URL di base su {url} nel tuo client IDE o API.","step4Title":"4. Monitora e ottimizza","step4Desc":"Tieni traccia di token, costi ed errori in <logs>Request Logs</logs> e <analytics>Analytics</analytics>.","providersOverview":"Panoramica dei fornitori","configuredOf":"{configured} configurato tra {total} provider disponibili","noModelsAvailable":"Nessun modello disponibile per questo fornitore.","configureFirst":"Configura prima una connessione in {providers}","configureProvider":"Configura fornitore","modelAvailable":"{count} modello disponibile","modelsAvailable":"{count} modelli disponibili","connectionsActive":"Connessione {count} attiva","connectionsActivePlural":"{count} connessioni attive","copyModelName":"Copia il nome del modello","documentation":"Documentazione","healthMonitor":"Monitoraggio della salute","reportIssue":"Segnala il problema","activeError":"{active} attivo \xb7 {errors} errore","oauthLabel":"OAuth","apiKeyLabel":"Chiave API","requestsShort":"{count} richieste","providerModelsTitle":"{provider} - Modelli","copiedModel":"Copiato: {model}","aliasLabel":"alias"},"analytics":{"title":"Analitica","overviewDescription":"Monitora i modelli di utilizzo delle API, il consumo di token, i costi e le tendenze delle attivit\xe0 su tutti i provider e modelli.","evalsDescription":"Esegui suite di valutazione per testare e convalidare i tuoi endpoint LLM. Confronta la qualit\xe0 del modello, rileva le regressioni e confronta la latenza.","overview":"Panoramica","evals":"Valutazioni"},"apiManager":{"title":"Chiavi API","createKey":"Crea chiave API","key":"Chiave","revokeKey":"Revoca chiave","revokeConfirm":"Sei sicuro di voler revocare questa chiave API?","noKeys":"Nessuna chiave API ancora","noKeysDesc":"Crea la tua prima chiave API per autenticare le richieste al tuo endpoint","keyLabel":"Etichetta chiave","permissions":"Autorizzazioni","expiresAt":"Scade","never":"Mai","revoke":"Revocare","showKey":"Mostra chiave","hideKey":"Nascondi chiave","copyKey":"Copia la chiave API","allModels":"Tutti i modelli","selectedModels":"Modelli selezionati","readOnly":"Sola lettura","fullAccess":"Accesso completo","keyManagement":"Gestione delle chiavi API","keyManagementDesc":"Crea e gestisci le chiavi API per autenticare le richieste al tuo endpoint","totalKeys":"Chiavi totali","restricted":"Limitato","totalRequests":"Richieste totali","modelsAvailable":"Modelli disponibili","registeredKeys":"Chiavi registrate","keysRegistered":"Chiavi {count} registrate","keyRegistered":"Chiave {count} registrata","keysSecurityNote":"Ciascuna chiave isola il monitoraggio dell\'utilizzo e pu\xf2 essere revocata in modo indipendente. Le chiavi vengono mascherate dopo la creazione per motivi di sicurezza.","createFirstKey":"Crea la tua prima chiave","name":"Nome","usage":"Utilizzo","created":"Creato","actions":"Azioni","reqs":"req","neverUsed":"Mai usato","deleteConfirm":"Eliminare questa chiave API?","usageTips":"Suggerimenti per l\'uso","tipAuth":"Utilizza le chiavi API nell\'intestazione Autorizzazione come portatore YOUR_KEY","tipSecure":"Le chiavi vengono visualizzate solo una volta durante la creazione: conservale in modo sicuro","tipSeparate":"Crea chiavi separate per client o ambienti diversi","tipRestrict":"Limita le chiavi a modelli specifici per una migliore sicurezza e controllo dei costi","keyName":"Nome chiave","keyNamePlaceholder":"ad esempio, Chiave di produzione, Chiave di sviluppo","keyNameDesc":"Scegli un nome descrittivo per identificare lo scopo di questa chiave","keyCreated":"Chiave API creata","keyCreatedSuccess":"Chiave creata con successo!","keyCreatedNote":"Copia e memorizza questa chiave adesso: non verr\xe0 pi\xf9 mostrata.","done":"Fatto","savePermissions":"Salva autorizzazioni","allowAll":"Consenti tutto","restrict":"Limitare","allowAllInfo":"Questa chiave pu\xf2 accedere a tutti i modelli disponibili.","restrictInfo":"Questa chiave pu\xf2 accedere a {selected} di {total} modelli.","selected":"{count} selezionato","all":"Tutto","clear":"Chiaro","searchModels":"Cerca modelli per nome o fornitore...","noModelsFound":"Nessun modello trovato","keyNameRequired":"Il nome della chiave \xe8 obbligatorio","keyNameTooLong":"Il nome della chiave deve contenere {max} caratteri o meno","keyNameInvalid":"Il nome della chiave pu\xf2 contenere solo lettere, numeri, spazi, trattini e trattini bassi","invalidKeyName":"Nome della chiave non valido","failedCreateKey":"Impossibile creare la chiave","failedCreateKeyRetry":"Impossibile creare la chiave. Per favore riprova.","invalidKeyId":"ID chiave non valido","failedDeleteKey":"Impossibile eliminare la chiave","failedDeleteKeyRetry":"Impossibile eliminare la chiave. Per favore riprova.","invalidModelsSelection":"Selezione dei modelli non valida","cannotSelectMoreThanModels":"Impossibile selezionare pi\xf9 di {max} modelli","failedUpdatePermissions":"Impossibile aggiornare le autorizzazioni","failedUpdatePermissionsRetry":"Impossibile aggiornare le autorizzazioni. Per favore riprova.","unknownProvider":"sconosciuto","copyMaskedKey":"Copia chiave mascherata","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Ultimo: {date}","editPermissions":"Modifica autorizzazioni","deleteKey":"Cancella chiave","model":"{count} modello","models":"{count} modelli","permissionsTitle":"Autorizzazioni: {name}","allowAllDesc":"Questa chiave pu\xf2 accedere a tutti i modelli disponibili.","restrictDesc":"Questa chiave pu\xf2 accedere a {selectedCount} di {totalModels} modelli.","selectedCount":"{count} selezionato"},"auditLog":{"title":"Registro di controllo","searchPlaceholder":"Cerca azioni...","action":"Azione","actor":"Attore","target":"Bersaglio","ipAddress":"Indirizzo IP","timestamp":"Timestamp","noEntries":"Nessuna voce di controllo trovata","filterByAction":"Filtra per azione...","filterByActor":"Filtra per attore...","filterEntriesAria":"Filtra le voci del registro di controllo","filterByActionTypeAria":"Filtra per tipo di azione","filterByActorAria":"Filtra per attore","refreshAuditLogAria":"Aggiorna il registro di controllo","tableAria":"Voci del registro di controllo","failedFetchAuditLog":"Impossibile recuperare il registro di controllo","notAvailable":"—","description":"Azioni amministrative ed eventi di sicurezza","showing":"Visualizzazione delle voci {count} (offset {offset})","previous":"Precedente"},"cliTools":{"title":"Strumenti CLI","noActiveProviders":"Nessun fornitore attivo","noActiveProvidersDesc":"Aggiungi e connetti prima i provider per configurare gli strumenti CLI.","mapModels":"Modelli di mappe","testConnection":"Prova connessione","connectionStatus":"Stato della connessione","configureEndpoint":"Configura punto finale","instructions":"Istruzioni","modelMapping":"Mappatura del modello","baseUrl":"URL di base","apiKey":"Chiave API","configured":"Configurato","notConfigured":"Non configurato","notInstalled":"Non installato","custom":"Costume","unknown":"Sconosciuto","lastSavedAt":"Ultimo salvataggio: {date}","never":"Mai","justNow":"proprio adesso","minutesAgoShort":"{count}m fa","hoursAgoShort":"{count}h fa","daysAgoShort":"{count}d fa","monthsAgoShort":"{count}mo fa","yearsAgoShort":"{count}y fa","runtimeCheckFailed":"Il controllo di runtime non \xe8 riuscito","yourApiKeyPlaceholder":"la tua chiave API","modelPlaceholder":"provider/ID modello","configurationSaved":"Configurazione salvata con successo.","failedToSave":"Impossibile salvare la configurazione.","noApiKeysCreateOne":"Nessuna chiave API: creane una nella pagina Chiavi","defaultOmnirouteKey":"sk_omniroute (predefinito)","selectModel":"Seleziona modello","selectModelForAlias":"Seleziona il modello per {alias}","selectModelForTool":"Seleziona il modello per {tool}","select":"Selezionare","clear":"Chiaro","comingSoon":"Prossimamente","checkingRuntime":"Controllo dello stato di runtime in corso...","guideOnlyIntegration":"Integrazione solo con guida (non \xe8 richiesto runtime locale)","cliRuntimeDetected":"Runtime CLI rilevato e pronto","cliFoundNotRunnable":"CLI trovata ma non eseguibile{reason}","cliRuntimeNotDetected":"Runtime CLI non rilevato","binary":"Binario","configPath":"Percorso di configurazione","configPathShort":"Configurazione","failedCheckRuntimeStatus":"Impossibile controllare lo stato del runtime.","copy":"Copia","copied":"Copiato","copyConfig":"Copia config","saveConfig":"Salva configurazione","selectionSaved":"Selezione salvata","guide":"Guida","detected":"Rilevato","notReady":"Non pronto","active":"Attivo","inactive":"Inattivo","startMitm":"Avvia il MITM","stopMitm":"Interrompi il MITM","mitmStarted":"MITM \xe8 iniziato con successo!","mitmStopped":"MITM si \xe8 interrotto con successo!","failedStart":"Impossibile avviare MITM","failedStop":"Impossibile arrestare MITM","saveMappings":"Salva mappature","mappingsSaved":"Mappature salvate!","failedSaveMappings":"Impossibile salvare le mappature","howItWorks":"Come funziona:","antigravityHowWorksDesc":"Antigravity invia richieste all\'endpoint di Google. MITM li intercetta e li reindirizza a OmniRoute.","antigravityStep1":"1. Avviare MITM per instradare le richieste tramite OmniRoute.","antigravityStep2Prefix":"2. Aggiungi","antigravityStep2Suffix":"al file host come 127.0.0.1.","antigravityStep3":"3. Open Antigravity e le richieste verranno inoltrate.","sudoPasswordRequiredTitle":"Password Sudo obbligatoria","sudoPasswordHint":"Per modificare le impostazioni del file host e del proxy di sistema \xe8 necessaria la password dell\'amministratore.","enterSudoPassword":"Inserisci la password sudo","sudoPasswordRequiredError":"\xc8 richiesta la password Sudo.","cancel":"Cancellare","confirm":"Confermare","settingsApplied":"Impostazioni applicate con successo!","failedApplySettings":"Impossibile applicare le impostazioni","settingsReset":"Le impostazioni sono state ripristinate con successo!","failedResetSettings":"Impossibile ripristinare le impostazioni","backupRestored":"Backup ripristinato!","failedRestore":"Impossibile ripristinare","checkingCli":"Controllo {tool} CLI...","cliNotRunnable":"{tool} CLI installata ma non eseguibile","cliNotInstalled":"{tool} CLI non installata","cliNotDetected":"{tool} CLI non rilevata","cliDetectedReady":"{tool} CLI rilevata e pronta","cliFoundFailedHealthcheck":"{tool} La CLI \xe8 stata trovata ma il controllo dello stato di runtime non \xe8 riuscito{reason}.","installCliPrompt":"Installa {tool} CLI per utilizzare questa funzionalit\xe0.","installCodexPrompt":"Installa la CLI del Codex per utilizzare la funzionalit\xe0 di applicazione automatica.","hide":"Nascondere","howToInstall":"Come installare","installationGuide":"Guida all\'installazione","platforms":"macOS/Linux/Windows:","afterInstallationRun":"Dopo l\'installazione, esegui","toVerify":"per verificare.","current":"Attuale","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Ripristina le impostazioni predefinite","providerModelPlaceholder":"provider/ID modello","apply":"Fare domanda a","reset":"Reset","manualConfig":"Configurazione manuale","backups":"Backup","configBackups":"Backup di configurazione","noBackupsYet":"Nessun backup ancora. I backup vengono creati automaticamente prima di ogni applicazione o ripristino.","restore":"Ripristinare","backupRestoredReloading":"Backup ripristinato! Stato di ricarica...","failedRestoreBackup":"Impossibile ripristinare il backup","applied":"Applicato!","failed":"Fallito","resetDone":"Reset!","omnirouteConfiguredOpenAiCompatible":"OmniRoute \xe8 configurato come provider compatibile con OpenAI","provider":"Fornitore","model":"Modello","providers":"Fornitori","auth":"Aut","noApiKeysAvailable":"Nessuna chiave API disponibile","usingDefaultOmniroute":"Utilizzo predefinito: sk_omniroute","updateConfig":"Aggiorna config","applyConfig":"Applica config","noBackupsAvailable":"Nessun backup disponibile.","profileSaved":"Profilo \\"{name}\\" salvato!","failedSaveProfile":"Impossibile salvare il profilo","profileActivated":"Profilo attivato!","failedActivateProfile":"Impossibile attivare il profilo","profiles":"Profili","savedProfiles":"Profili salvati","noProfilesYet":"Nessun profilo ancora salvato. Salva la configurazione corrente come profilo di seguito.","activate":"Attivare","deleteProfile":"Elimina profilo","profileNamePlaceholder":"Nome del profilo (ad es. Account personale)","saveCurrent":"Salva corrente","codexAuthNotePrefix":"Usi del Codice","codexAuthNoteMiddle":"con","codexAuthNoteSuffix":"Fare clic su \\"Applica\\" per la configurazione automatica.","claudeManualConfiguration":"Claude CLI - Configurazione manuale","codexManualConfiguration":"Codex CLI - Configurazione manuale","droidManualConfiguration":"Droid di fabbrica - Configurazione manuale","openClawManualConfiguration":"Open Claw - Configurazione manuale","clineManualConfiguration":"Configurazione manuale della linea","kiloManualConfiguration":"Configurazione manuale del codice Kilo","toolDescriptions":{"antigravity":"IDE Antigravit\xe0 di Google con MITM","claude":"CLI del codice Claude antropico","codex":"CLI del codice OpenAI","droid":"Assistente AI Droid di fabbrica","openclaw":"Apri l\'Assistente AI Claw","cline":"Cline AI Coding Assistant CLI","kilo":"CLI dell\'Assistente AI Kilo Code","cursor":"Editor del codice AI del cursore","continue":"Continua Assistente AI"},"guides":{"cursor":{"notes":{"0":"Richiede l\'account Cursor Pro per utilizzare questa funzionalit\xe0.","1":"Il cursore instrada le richieste tramite il proprio server, quindi l\'endpoint locale non \xe8 supportato. Abilita Cloud Endpoint nelle Impostazioni."},"steps":{"1":{"title":"Apri Impostazioni","desc":"Vai su Impostazioni -> Modelli"},"2":{"title":"Abilita l\'API OpenAI","desc":"Abilita l\'opzione \\"Chiave API OpenAI\\"."},"3":{"title":"URL di base"},"4":{"title":"Chiave API"},"5":{"title":"Aggiungi modello personalizzato","desc":"Fai clic su \\"Visualizza tutto il modello\\" -> \\"Aggiungi modello personalizzato\\""},"6":{"title":"Seleziona modello"}}},"continue":{"steps":{"1":{"title":"Apri Configurazione","desc":"Apri il file di configurazione Continua"},"2":{"title":"Chiave API"},"3":{"title":"Seleziona modello"},"4":{"title":"Aggiungi configurazione modello","desc":"Aggiungi la seguente configurazione all\'array dei modelli:"}}}}},"combos":{"title":"Combinazioni","description":"Crea combinazioni di modelli con routing ponderato e supporto fallback","createCombo":"Crea combinazione","editCombo":"Modifica combinazione","deleteCombo":"Elimina combinazione","noModels":"Nessun modello","noModelsYet":"Nessun modello ancora aggiunto","addModel":"Aggiungi modello","addModelToCombo":"Aggiungi modello alla combinazione","routingStrategy":"Strategia di instradamento","maxRetries":"Numero massimo di tentativi","timeout":"Timeout (ms)","healthcheck":"Controllo dello stato di salute","priority":"Priorit\xe0","fallback":"Ricaderci","roundRobin":"Girotondo","random":"Casuale","leastLatency":"Latenza minima","comboName":"Nome combinato","comboNamePlaceholder":"la mia combinazione","deleteConfirm":"Eliminare questa combinazione?","noCombosYet":"Nessuna combo ancora","comboCreated":"Combo creato con successo","comboUpdated":"Combo aggiornato con successo","comboDeleted":"Combinazione eliminata","failedCreate":"Impossibile creare la combinazione","failedUpdate":"Impossibile aggiornare la combinazione","errorCreating":"Errore durante la creazione della combinazione","errorUpdating":"Errore durante l\'aggiornamento della combinazione","errorDeleting":"Errore durante l\'eliminazione della combinazione","testFailed":"Richiesta di prova non riuscita","failedToggle":"Impossibile attivare/disattivare la combo","testResults":"Risultati del test — {name}","resolvedBy":"Risolto da:","more":"+{count} altro","reqs":"req","success":"successo","proxyConfigured":"Proxy configurato","copyComboName":"Copia il nome della combinazione","enableCombo":"Abilita combinazione","disableCombo":"Disabilita combinazione","testCombo":"Combinazione di prova","duplicate":"Duplicato","proxyConfig":"Configurazione proxy","nameRequired":"Il nome \xe8 obbligatorio","nameInvalid":"Solo lettere, numeri, -, _, / e . consentito","nameHint":"Lettere, numeri, -, _, / e . consentito","priorityDesc":"Fallback sequenziale: prova prima il modello 1, poi il 2 e cos\xec via.","weightedDesc":"Distribuisce il traffico in base alla percentuale di peso con fallback","roundRobinDesc":"Distribuzione circolare: ogni richiesta va al modello successivo a rotazione","randomDesc":"Selezione casuale uniforme, quindi fallback sui modelli rimanenti","leastUsedDesc":"Sceglie il modello con meno richieste, bilanciando il carico nel tempo","costOptimizedDesc":"Percorsi prima verso il modello pi\xf9 economico in base al prezzo","models":"Modelli","autoBalance":"Bilanciamento automatico","advancedSettings":"Impostazioni avanzate","retryDelay":"Ritardo tentativi (ms)","concurrencyPerModel":"Concorrenza/modello","queueTimeout":"Timeout coda (ms)","advancedHint":"Lascia vuoto per utilizzare le impostazioni predefinite globali. Questi sovrascrivono le impostazioni per provider.","moveUp":"Vai su","moveDown":"Spostati gi\xf9","removeModel":"Rimuovere","saving":"Risparmio...","weighted":"Ponderato","leastUsed":"Meno usato","costOpt":"Opzione costo"},"costs":{"title":"Costi","budget":"Bilancio","totalCost":"Costo totale","breakdown":"Ripartizione dei costi","noData":"Nessun dato sui costi","byModel":"Per modello","byProvider":"Per fornitore"},"endpoint":{"title":"Endpoint API","available":"Endpoint disponibili","cloudProxy":"Proxy cloud","disableConfirm":"Sei sicuro di voler disabilitare il proxy cloud?","baseUrl":"URL di base","apiKeyLabel":"Chiave API","registeredKeys":"Chiavi registrate","chatCompletions":"Completamenti della chat","responses":"Risposte","listModels":"Elenco modelli","usingCloudProxy":"Utilizzo del proxy cloud","usingLocalServer":"Utilizzo del server locale","machineId":"ID macchina: {id}...","disableCloud":"Disabilita Nuvola","enableCloud":"Abilita nuvola","modelsAcrossEndpoints":"Modelli {models} sugli endpoint {endpoints}","chatDesc":"Chat in streaming e non in streaming con tutti i provider","embeddings":"Incorporamenti","embeddingsDesc":"Incorporamenti di testo per pipeline di ricerca e RAG","imageGeneration":"Generazione di immagini","imageDesc":"Genera immagini da istruzioni di testo","rerank":"Riclassificare","rerankDesc":"Riclassificare i documenti in base alla pertinenza rispetto a una query","audioTranscription":"Trascrizione audio","audioTranscriptionDesc":"Trascrivere file audio in testo (Whisper)","textToSpeech":"Sintesi vocale da testo","textToSpeechDesc":"Converti il testo in parlato dal suono naturale","moderations":"Moderazioni","moderationsDesc":"Moderazione dei contenuti e classificazione della sicurezza","enableCloudTitle":"Abilita proxy cloud","whatYouGet":"Cosa otterrai","cloudBenefitAccess":"Accedi alla tua API da qualsiasi parte del mondo","cloudBenefitShare":"Condividi facilmente l\'endpoint con il tuo team","cloudBenefitPorts":"Non \xe8 necessario aprire porte o configurare il firewall","cloudBenefitEdge":"Rete edge globale veloce","cloudSessionNote":"Cloud manterr\xe0 la tua sessione di autenticazione per 1 giorno. Se non utilizzato verr\xe0 automaticamente cancellato.","cloudUnstableNote":"In alcuni casi, il cloud \xe8 attualmente instabile con Claude Code OAuth.","cloudConnected":"Proxy cloud connesso!","connectingToCloud":"Connessione al cloud...","verifyingConnection":"Verifica della connessione...","connecting":"Connessione...","verifying":"Verifica...","connected":"Collegato!","disableCloudTitle":"Disabilita proxy cloud","disableWarning":"Tutte le sessioni di autenticazione verranno eliminate dal cloud.","syncingData":"Sincronizzazione dei dati pi\xf9 recenti...","disablingCloud":"Disabilitazione del cloud...","syncing":"Sincronizzazione...","disabling":"Disabilitazione...","cloudConnectedVerified":"Cloud Proxy connesso e verificato!","connectedVerificationPending":"Connesso: verifica in sospeso","connectedVerificationPendingWithError":"Connesso: verifica in sospeso: {error}","cloudDisabledSuccess":"Cloud disabilitato correttamente","syncedSuccess":"Sincronizzazione riuscita","failedDisable":"Impossibile disattivare il cloud","failedEnable":"Impossibile abilitare il cloud","cloudRequestTimeout":"Timeout della richiesta cloud","cloudRequestFailed":"Richiesta cloud non riuscita","cloudWorkerUnreachable":"Impossibile raggiungere il lavoratore cloud. Assicurati che il servizio cloud sia in esecuzione (npm run dev in /cloud).","connectionFailed":"Connessione non riuscita","syncFailed":"Impossibile sincronizzare i dati cloud","providerModelsTitle":"{provider} — Modelli","noModelsForProvider":"Nessun modello disponibile per questo fornitore.","chat":"Chiacchierata","embedding":"Incorporamento","image":"Immagine","custom":"costume","modelsCount":"{count, plural, one {# model} other {# models}}"},"health":{"title":"Salute del sistema","description":"Monitoraggio in tempo reale della tua istanza OmniRoute","healthy":"Salutare","degraded":"Degradato","down":"Gi\xf9","uptime":"Tempo di attivit\xe0","memory":"Memoria","memoryRss":"Memoria (RSS)","heap":"Mucchio","cpu":"processore","database":"Banca dati","version":"Versione","lastCheck":"Ultimo controllo","providerHealth":"Salute del fornitore","systemMetrics":"Metriche di sistema","tokenHealth":"Gettone di salute","refreshAll":"Aggiorna tutto","checkNow":"Controlla ora","loadingHealth":"Caricamento dati sanitari...","failedToLoad":"Impossibile caricare i dati sanitari: {error}","retry":"Riprova","allOperational":"Tutti i sistemi operativi","issuesDetected":"Rilevati problemi di sistema","updatedAt":"Aggiornato {time}","latency":"Latenza","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Richieste totali","noDataYet":"Nessun dato ancora","promptCache":"Cache dei suggerimenti","entries":"Voci","hitRate":"Tasso di successo","hitsMisses":"Colpi / Mancati","signatureCache":"Cache delle firme","signatureDefaults":"Predefiniti","signatureTool":"Attrezzo","signatureFamily":"Famiglia","signatureSession":"Sessione","recovering":"Recupero","noCBData":"Nessun dato disponibile sull\'interruttore automatico. Fai prima alcune richieste.","providerHealthStatusAria":"Stato di salute del fornitore","issuesLabel":"Problemi rilevati","operational":"Operativo","providers":"Fornitori","healthyCount":"{count} sano","nodeVersion":"Nodo {version}","failures":"{count} errore","failuresPlural":"{count} errori","lastFailure":"Scorso","rateLimitStatus":"Stato del limite di velocit\xe0","activeLimiters":"{count} limitatore attivo","activeLimitersPlural":"{count} limitatori attivi","queued":"In coda","queuedCount":"{count} in coda","running":"corsa","runningCount":"{count} in esecuzione","ok":"OK","activeLockouts":"Blocchi attivi","resetConfirm":"Ripristinare tutti gli interruttori automatici allo stato integro? Ci\xf2 eliminer\xe0 tutti i conteggi degli errori e ripristiner\xe0 tutti i provider allo stato operativo.","resetAllTitle":"Ripristinare tutti gli interruttori automatici allo stato integro","resetting":"Reimpostazione...","resetAll":"Reimposta tutto","until":"Fino al {time}"},"limits":{"title":"Limiti e quote","rateLimit":"Limite di velocit\xe0","remaining":"Rimanente","requestsPerMinute":"Richieste/min","tokensPerMinute":"Gettoni/min","dailyLimit":"Limite giornaliero"},"logs":{"title":"Registri","requestLogs":"Richiedi registri","proxyLogs":"Registri proxy","auditLog":"Registro di controllo","console":"Consolle","auditLogDesc":"Azioni amministrative ed eventi di sicurezza","loading":"Caricamento...","refresh":"Aggiorna","filterByAction":"Filtra per azione...","filterByActor":"Filtra per attore...","filterEntriesAria":"Filtra le voci del registro di controllo","filterByActionTypeAria":"Filtra per tipo di azione","filterByActorAria":"Filtra per attore","refreshAuditLogAria":"Aggiorna il registro di controllo","tableAria":"Voci del registro di controllo","failedFetchAuditLog":"Impossibile recuperare il registro di controllo","showing":"Visualizzazione delle voci {count} (offset {offset})","search":"Ricerca","timestamp":"Timestamp","action":"Azione","actor":"Attore","target":"Bersaglio","details":"Dettagli","ipAddress":"Indirizzo IP","notAvailable":"—","noEntries":"Nessuna voce del registro di controllo trovata","previous":"Precedente","next":"Prossimo"},"onboarding":{"welcome":"Benvenuto","security":"Sicurezza","test":"Test","ready":"Pronto!","setPassword":"Imposta password","addProvider":"Aggiungi il tuo primo fornitore","getStarted":"Inizia","skip":"Saltare","skipWizard":"Salta completamente la procedura guidata","skipPassword":"Salta l\'impostazione della password","skipAndContinue":"Salta e continua","passwordLabel":"Password","confirmPassword":"Conferma password","enterPassword":"Inserisci la password","confirmPasswordPlaceholder":"Conferma password","passwordsMismatch":"Le password non corrispondono","setupComplete":"Configurazione completata!","goToDashboard":"Vai alla dashboard →","welcomeDesc":"OmniRoute \xe8 il tuo proxy API AI locale. Indirizza le richieste a pi\xf9 fornitori di intelligenza artificiale con bilanciamento del carico, failover e monitoraggio dell\'utilizzo.","multiProvider":"Multi-provider","usageTracking":"Monitoraggio dell\'utilizzo","apiKeyMgmt":"Gestione chiave API","securityDesc":"Imposta una password per proteggere la tua dashboard o salta per ora.","providerDesc":"Connetti il tuo primo fornitore di intelligenza artificiale. Puoi aggiungerne altri in seguito.","apiKeyRequired":"Chiave API (richiesto)","customUrlOptional":"URL personalizzato (facoltativo)","testDesc":"Verifichiamo che la connessione del tuo provider funzioni.","runTest":"Esegui il test di connessione","testingConnection":"Test della connessione...","connectionSuccessful":"Connessione riuscita! Il tuo fornitore \xe8 pronto.","noProviderFound":"Nessun fornitore trovato. Puoi aggiungerne uno dalla dashboard in un secondo momento.","testFailed":"Il test \xe8 fallito, ma puoi configurarlo in seguito.","couldNotTest":"Impossibile eseguire il test in questo momento. Puoi testare dalla dashboard.","doneDesc":"\xc8 tutto pronto! La tua istanza OmniRoute \xe8 configurata e pronta per eseguire il proxy delle richieste AI.","yourEndpoint":"Il tuo punto finale:","continue":"Continuare","retry":"Riprova","failedSetPassword":"Impossibile impostare la password. Riprova.","failedAddProvider":"Impossibile aggiungere il fornitore. Riprova.","connectionError":"Errore di connessione. Per favore riprova.","provider":"Fornitore"},"providers":{"title":"Fornitori","addProvider":"Aggiungi fornitore","editProvider":"Modifica fornitore","deleteProvider":"Elimina fornitore","noProviders":"Nessun provider configurato","modelAvailability":"Disponibilit\xe0 del modello","accounts":"Conti","newAccount":"Nuovo conto","deleteConfirm":"Sei sicuro di voler eliminare questo fornitore?","testing":"Prova...","testConnection":"Prova connessione","testSuccess":"Connessione riuscita","testFailed":"Connessione non riuscita","available":"Disponibile","cooldown":"Raffreddare","unavailable":"Non disponibile","unknown":"Sconosciuto","oauthLabel":"OAuth","compatibleLabel":"Compatibile","chat":"Chiacchierata","responses":"Risposte","messages":"Messaggi","oauthProviders":"Provider OAuth","freeProviders":"Fornitori gratuiti","apiKeyProviders":"Fornitori di chiavi API","compatibleProviders":"Fornitori compatibili con chiave API","testAll":"Prova tutto","testAllOAuth":"Testa tutte le connessioni OAuth","testAllFree":"Testa tutte le connessioni gratuite","testAllApiKey":"Testa tutte le connessioni della chiave API","testAllCompatible":"Testare tutte le connessioni compatibili","connected":"{count} Connesso","errorCount":"{count} Errore ({code})","errorCountNoCode":"{count} Errore","noConnections":"Nessuna connessione","disabled":"Disabilitato","enableProvider":"Abilita fornitore","disableProvider":"Disabilita fornitore","testResults":"Risultati dei test","noCompatibleYet":"Nessun fornitore compatibile ancora aggiunto","compatibleHint":"Utilizza i pulsanti qui sopra per aggiungere endpoint compatibili con OpenAI o Anthropic","addOpenAICompatible":"Aggiungi compatibile con OpenAI","addAnthropicCompatible":"Aggiungi compatibilit\xe0 antropica","addNewProvider":"Aggiungi nuovo fornitore","backToProviders":"Torniamo ai fornitori","configureNewProvider":"Configura un nuovo provider AI da utilizzare con le tue applicazioni.","providerLabel":"Fornitore","selectProvider":"Seleziona un fornitore","selectedProvider":"Fornitore selezionato","authMethod":"Metodo di autenticazione","apiKeyLabel":"Chiave API","apiKeyRequired":"\xc8 richiesta la chiave API","selectProviderRequired":"Seleziona un fornitore","enterApiKey":"Inserisci la tua chiave API","apiKeySecure":"La tua chiave API verr\xe0 crittografata e archiviata in modo sicuro.","oauth2Connect":"Connettiti con OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Connetti il tuo account utilizzando l\'autenticazione OAuth2.","displayName":"Nome da visualizzare","displayNamePlaceholder":"ad esempio, API di produzione, ambiente di sviluppo","displayNameHint":"Opzionale. Un nome descrittivo per identificare questa configurazione.","active":"Attivo","activeDescription":"Abilita questo provider per l\'utilizzo nelle tue applicazioni","cancel":"Cancellare","createProvider":"Crea fornitore","failedCreate":"Impossibile creare il fornitore","errorOccurred":"Si \xe8 verificato un errore. Per favore riprova.","modelStatus":"Stato del modello","allModelsOperational":"Tutti i modelli operativi","modelsWithIssues":"{count} modelli con problemi","allModelsNormal":"Tutti i modelli rispondono normalmente.","cooldownCleared":"Recupero cancellato per {model}","failedClearCooldown":"Impossibile cancellare il tempo di recupero","loadingAvailability":"Caricamento disponibilit\xe0 del modello...","clearCooldown":"Chiaro","clearing":"Cancellazione...","until":"Fino al {time}","providerTestFailed":"Il test del fornitore \xe8 fallito","modeTest":"{mode} Prova","passedCount":"{count} superato","failedCount":"{count} non riuscito","testedCount":"{count} testato","millisecondsAbbr":"{value}ms","okShort":"OK","errorShort":"ERRORE","noActiveConnectionsInGroup":"Nessuna connessione attiva trovata per questo gruppo.","allTestsPassed":"Tutti i test {total} sono stati superati","testSummary":"{passed}/{total} superato, {failed} fallito","nameLabel":"Nome","prefixLabel":"Prefisso","baseUrlLabel":"URL di base","apiTypeLabel":"Tipo API","prefixHint":"Necessario. Prefisso univoco per i nomi dei modelli.","nameHint":"Necessario. Un\'etichetta amichevole per questo nodo.","baseUrlHint":"Necessario. URL di base dell\'API del provider.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Convalida connessione","validating":"Convalida...","connectionValid":"La connessione \xe8 valida!","connectionFailed":"Connessione non riuscita. Controlla l\'URL e la chiave.","testKeyLabel":"Testare la chiave API","testKeyPlaceholder":"sk-... (solo per la convalida)","providerNotFound":"Fornitore non trovato","deleteConnectionConfirm":"Eliminare questa connessione?","failedSetAlias":"Impossibile impostare l\'alias","failedSaveConnection":"Impossibile salvare la connessione","failedSaveConnectionRetry":"Impossibile salvare la connessione. Per favore riprova.","failedRetestConnection":"Impossibile ripetere il test della connessione","deleteCompatibleNodeConfirm":"Eliminare questo {type} nodo compatibile?","anthropicCompatibleDetails":"Dettagli compatibilit\xe0 antropica","openaiCompatibleDetails":"Dettagli compatibili con OpenAI","messagesApi":"API dei messaggi","responsesApi":"API di risposta","chatCompletions":"Completamenti della chat","importingModels":"Importazione...","importFromModels":"Importa da /modelli","addConnectionToImport":"Aggiungi una connessione per abilitare l\'importazione.","noModelsConfigured":"Nessun modello configurato","connectionCount":"{count} connessione/i","fetchingModels":"Recupero dei modelli disponibili...","failedFetchModels":"Impossibile recuperare i modelli","noModelsFound":"Nessun modello trovato","importFailed":"Importazione non riuscita","noNewModelsAdded":"Non sono stati aggiunti nuovi modelli.","adding":"Aggiunta...","importingModelsTitle":"Importazione di modelli","copyModel":"Copia modello","removeModel":"Rimuovi il modello","rateLimitProtected":"Protetto","rateLimitUnprotected":"Non protetto","enableRateLimitProtection":"Fare clic per abilitare la protezione del limite di velocit\xe0","disableRateLimitProtection":"Fare clic per disattivare la protezione del limite di velocit\xe0","productionKey":"Chiave di produzione","enterNewApiKey":"Inserisci la nuova chiave API","optional":"Opzionale","anthropicCompatibleName":"Compatibile antropico","openaiCompatibleName":"Compatibile con OpenAI","failedImportModels":"Impossibile importare i modelli","noModelsReturnedFromEndpoint":"Nessun modello restituito dall\'endpoint /models.","importingModelsProgress":"Importazione di {current} di modelli {total}...","foundModelsStartingImport":"Trovati modelli {count}. Avvio dell\'importazione...","importingModelById":"Importazione di {modelId}...","importSuccessCount":"Importazione di {count, plural, one {# model} other {# models}} riuscita!","noNewModelsAddedExisting":"Non sono stati aggiunti nuovi modelli (esistono gi\xe0 tutti).","importDoneCount":"✓ Fatto! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Si \xe8 verificato un errore imprevisto","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"messaggi","responsesPath":"risposte","chatCompletionsPath":"chat/completamenti","add":"Aggiungere","edit":"Modificare","delete":"Eliminare","anthropic":"Antropico","openai":"OpenAI","singleConnectionPerCompatible":"\xc8 consentita una sola connessione per nodo compatibile. Aggiungi un altro nodo se hai bisogno di pi\xf9 connessioni.","connections":"Connessioni","providerProxyTitleConfigured":"Proxy del fornitore: {host}","configured":"configurato","providerProxyConfigureHint":"Configura il proxy per tutte le connessioni di questo provider","providerProxy":"Procura del fornitore","noConnectionsYet":"Nessuna connessione ancora","addFirstConnectionHint":"Aggiungi la tua prima connessione per iniziare","addConnection":"Aggiungi connessione","availableModels":"Modelli disponibili","pageAutoRefresh":"La pagina si aggiorner\xe0 automaticamente...","statusDisabled":"disabilitato","statusConnected":"collegato","statusRuntimeIssue":"problema di esecuzione","statusAuthFailed":"autenticazione non riuscita","statusRateLimited":"tariffa limitata","statusNetworkIssue":"problema di rete","statusTestUnsupported":"test non supportato","statusUnavailable":"non disponibile","statusFailed":"fallito","statusError":"errore","oauthAccount":"Account OAuth","errorTypeRuntime":"Runtime locale","errorTypeUpstreamAuth":"Aut. a monte","errorTypeMissingCredential":"Credenziale mancante","errorTypeRefreshFailed":"Aggiornamento non riuscito","errorTypeTokenExpired":"Il gettone \xe8 scaduto","errorTypeRateLimited":"Tariffa limitata","errorTypeUpstreamUnavailable":"A monte non disponibile","errorTypeNetworkError":"Errore di rete","errorTypeTestUnsupported":"Test non supportato","errorTypeUpstreamError":"Errore a monte","proxySourceGlobal":"Globale","proxySourceProvider":"Fornitore","proxySourceKey":"Chiave","proxyConfiguredBySource":"Proxy ({source}): {host}","autoPriority":"Automatico: {priority}","proxy":"Procura","retestAuthentication":"Ritestare l\'autenticazione","retest":"Ripetere il test","disableConnection":"Disabilita connessione","enableConnection":"Abilita connessione","reauthenticateConnection":"Autenticare nuovamente questa connessione","proxyConfig":"Configurazione proxy","aliasExistsAlert":"L\'alias \\"{alias}\\" esiste gi\xe0. Utilizza un modello diverso o modifica l\'alias esistente.","openRouterAnyModelHint":"OpenRouter supporta qualsiasi modello. Aggiungi modelli e crea alias per un accesso rapido.","modelIdFromOpenRouter":"ID modello (da OpenRouter)","openRouterModelPlaceholder":"antropico/claude-3-opus","customModels":"Modelli personalizzati","customModelsHint":"Aggiungi ID modello non presenti nell\'elenco predefinito. Questi saranno disponibili per il routing.","modelId":"ID modello","customModelPlaceholder":"per esempio. gpt-4.5-turbo","loading":"Caricamento...","removeCustomModel":"Rimuovi il modello personalizzato","noCustomModels":"Nessun modello personalizzato ancora aggiunto.","allSuggestedAliasesExist":"Tutti gli alias suggeriti esistono gi\xe0. Scegli un modello diverso o rimuovi gli alias in conflitto.","failedSaveCustomModel":"Impossibile salvare il modello personalizzato","modelAddedSuccess":"Il modello {modelId} \xe8 stato aggiunto correttamente","failedAddModelTryAgain":"Impossibile aggiungere il modello. Per favore riprova.","failedSaveImportedModel":"Impossibile salvare il modello importato nel database personalizzato","failedImportModelsTryAgain":"Impossibile importare i modelli. Per favore riprova.","failedRemoveModelFromDatabase":"Impossibile rimuovere il modello dal database","modelRemovedSuccess":"Modello rimosso con successo","failedDeleteModelTryAgain":"Impossibile eliminare il modello. Per favore riprova.","compatibleModelsDescription":"Aggiungi manualmente modelli compatibili con {type} o importali dall\'endpoint /models.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"Convalida della chiave API non riuscita. Controlla la chiave e riprova.","addProviderApiKeyTitle":"Aggiungi la chiave API {provider}","checking":"Controllo...","check":"Controllo","valid":"Valido","invalid":"Non valido","creating":"Creazione...","validationChecksAnthropicCompatible":"La convalida controlla {provider} verificando la chiave API.","validationChecksOpenAiCompatible":"La convalida controlla {provider} tramite /models sull\'URL di base.","priorityLabel":"Priorit\xe0","saving":"Risparmio...","save":"Salva","editConnection":"Modifica connessione","accountName":"Nome utente","email":"E-mail","healthCheckMinutes":"Controllo dello stato (min)","healthCheckHint":"Intervallo di aggiornamento del token proattivo. 0 = disabilitato.","failedTestConnection":"Impossibile testare la connessione","failed":"Fallito","leaveBlankKeepCurrentApiKey":"Lascia vuoto per mantenere la chiave API corrente.","editCompatibleTitle":"Modifica {type} Compatibile","compatibleBaseUrlHint":"Utilizza l\'URL di base (che termina con /v1) per la tua API compatibile con {type}.","apiKeyForCheck":"Chiave API (per controllo)","compatibleProdPlaceholder":"{type} Compatibile (prodotto)"},"settings":{"title":"Impostazioni","general":"Generale","security":"Sicurezza","appearance":"Aspetto","routing":"Instradamento","cache":"Cache","resilience":"Resilienza","systemPrompt":"Richiesta di sistema","thinkingBudget":"Pensare al bilancio","proxy":"Procura","pricing":"Prezzi","storage":"Magazzinaggio","policies":"Politiche","ipFilter":"Filtro IP","comboDefaults":"Impostazioni predefinite combinate","fallbackChains":"Catene di ripiego","changePassword":"Cambiare la password","enablePassword":"Abilita password","darkMode":"Modalit\xe0 oscura","lightMode":"Modalit\xe0 luce","systemTheme":"Tema del sistema","enableCache":"Abilita cache","cacheTTL":"TTL della cache","maxCacheSize":"Dimensione massima della cache","clearCache":"Cancella cache","cacheHits":"Riscontri nella cache","cacheMisses":"Mancati cache","hitRate":"Tasso di successo","cacheEntries":"Voci della cache","circuitBreaker":"Interruttore automatico","retryPolicy":"Riprova la policy","maxRetries":"Numero massimo di tentativi","retryDelay":"Ritardo riprova","timeoutMs":"Timeout (ms)","enableSystemPrompt":"Abilita richiesta di sistema","systemPromptText":"Testo della richiesta di sistema","enableThinking":"Abilita il pensiero","maxThinkingTokens":"Gettoni pensiero massimo","enableProxy":"Abilita proxy","proxyUrl":"URL proxy","pricingRates":"Formato delle tariffe dei prezzi","currentPricing":"Panoramica dei prezzi attuali","loadingPricing":"Caricamento dati sui prezzi...","noPricing":"Nessun dato sui prezzi disponibile","input":"Ingresso","output":"Produzione","cached":"Memorizzato nella cache","reasoning":"Ragionamento","cacheCreation":"Creazione della cache","customPricing":"Prezzi personalizzati","databaseSize":"Dimensioni del database","backupDb":"Backup della banca dati","restoreDb":"Ripristina database","exportData":"Esporta dati","importData":"Importa dati","clearData":"Cancella tutti i dati","clearDataConfirm":"Ci\xf2 eliminer\xe0 definitivamente tutti i dati. Sei sicuro?","enableRequestLogs":"Abilita i registri delle richieste","logRetention":"Conservazione del registro","ipWhitelist":"Lista bianca IP","ipBlacklist":"Lista nera IP","addIP":"Aggiungi IP","savedSuccessfully":"Impostazioni salvate con successo","ai":"AI","advanced":"Avanzato","localMode":"Modalit\xe0 locale: tutti i dati archiviati sul computer","settingsSectionsAria":"Sezioni Impostazioni","switchThemes":"Passa dal tema chiaro a quello scuro e viceversa","themeSelectionAria":"Selezione del tema","themeLight":"Leggero","themeDark":"Buio","themeSystem":"Sistema","hideHealthLogs":"Nascondi i registri di controllo dello stato","hideHealthLogsDesc":"Quando \xe8 attivo, elimina i messaggi [HealthCheck] nella console del server","promptCache":"Cache dei suggerimenti","flushCache":"Svuota cache","flushing":"Lavaggio…","size":"Misurare","hits":"Colpi","evictions":"Sfratti","loadingCacheStats":"Caricamento delle statistiche della cache…","globalProxy":"Procura globale","globalProxyDesc":"Configura un proxy in uscita globale per tutte le chiamate API. Singoli provider, combinazioni e chiavi possono sovrascrivere questo aspetto.","noGlobalProxy":"Nessun proxy globale configurato","globalLabel":"Globale","configure":"Configura","globalSystemPrompt":"Prompt del sistema globale","systemPromptDesc":"Inserito in tutte le richieste a livello proxy","saved":"Salvato","systemPromptPlaceholder":"Inserisci la richiesta di sistema per l\'inserimento in tutte le richieste...","systemPromptHint":"Questo prompt viene anteposto al messaggio di sistema di ogni richiesta. Utilizzare per istruzioni globali, linee guida sulla sicurezza o regole di formattazione della risposta.","chars":"{count} caratteri","thinkingBudgetTitle":"Pensare al bilancio","thinkingBudgetDesc":"Controlla l\'utilizzo dei token di ragionamento dell\'intelligenza artificiale in tutte le richieste","passthrough":"Passante","passthroughDesc":"Nessun cambiamento: il cliente controlla il budget","auto":"Auto","autoDesc":"Elimina ogni configurazione pensante: lascia decidere al provider","custom":"Costume","customDesc":"Imposta un budget token fisso per tutte le richieste","adaptive":"Adattivo","adaptiveDesc":"Ridimensiona il budget in base alla complessit\xe0 della richiesta","effortNone":"Nessuno (0 token)","effortLow":"Basso (token da 1.000)","effortMedium":"Medio (token da 10.000)","effortHigh":"Alto (token 128K)","tokenBudget":"Bilancio simbolico","tokens":"gettoni","baseEffortLevel":"Livello di impegno base","adaptiveHint":"La modalit\xe0 adattiva si adatta a questo livello di base in base al conteggio dei messaggi, all\'utilizzo dello strumento e alla lunghezza dei prompt.","requireLogin":"Richiedi l\'accesso","requireLoginDesc":"Quando \xe8 attivo, il dashboard richiede la password. Quando OFF, accedi senza login.","currentPassword":"password attuale","enterCurrentPassword":"Inserisci la password attuale","newPassword":"Nuova parola d\'ordine","enterNewPassword":"Inserisci la nuova password","confirmPassword":"Conferma nuova password","confirmPasswordPlaceholder":"Conferma la nuova password","passwordsNoMatch":"Le password non corrispondono","passwordUpdated":"Password aggiornata con successo","failedUpdatePassword":"Impossibile aggiornare la password","errorOccurred":"Si \xe8 verificato un errore","updatePassword":"Aggiorna password","setPassword":"Imposta password","apiEndpointProtection":"Protezione endpoint API","requireAuthModels":"Richiedi la chiave API per /models","requireAuthModelsDesc":"Quando \xe8 attivo, l\'endpoint /v1/models restituisce 404 per le richieste non autenticate. Impedisce il rilevamento del modello da parte di utenti non autorizzati.","blockedProviders":"Provider bloccati","blockedProvidersDesc":"Nascondi provider specifici dalla risposta /v1/models. I fornitori bloccati non verranno visualizzati negli elenchi dei modelli.","providersBlocked":"{count} provider bloccati da /models","blockProviderTitle":"Blocca {provider}","unblockProviderTitle":"Sblocca {provider}","routingStrategy":"Strategia di instradamento","fillFirst":"Riempi prima","fillFirstDesc":"Utilizza gli account in ordine di priorit\xe0","roundRobin":"Girotondo","roundRobinDesc":"Scorri tutti gli account","p2c":"P2C","p2cDesc":"Scegline 2 a caso, usa quello pi\xf9 sano","random":"Casuale","randomDesc":"Account casuale per ogni richiesta","leastUsed":"Meno usato","leastUsedDesc":"Scegli l\'account utilizzato meno di recente","costOpt":"Opzione costo","costOptDesc":"Preferisci il conto pi\xf9 economico disponibile","stickyLimit":"Limite appiccicoso","stickyLimitDesc":"Chiamate per account prima del cambio","modelAliases":"Alias del modello","modelAliasesDesc":"Modelli di caratteri jolly per rimappare i nomi dei modelli • Utilizzare * e ?","aliasPatternPlaceholder":"claude-sonetto-*","aliasTargetPlaceholder":"claude-sonetto-4-20250514","pattern":"Modello","targetModel":"Modello obiettivo","add":"+ Aggiungi","session":"Sessione","sessionDetailsAria":"Dettagli della sessione","status":"Stato","authenticated":"Autenticato","guest":"Ospite","loginTime":"Orario di accesso","sessionAge":"Et\xe0 della sessione","browser":"Navigatore","clearLocalData":"Cancella dati locali","logout":"Esci","clearLocalDataConfirm":"Cancellare tutti i dati locali? Ci\xf2 ripristiner\xe0 le tue preferenze.","unknown":"Sconosciuto","systemActor":"sistema","ipAccessControl":"Controllo dell\'accesso IP","ipAccessControlDesc":"Blocca o consenti indirizzi IP specifici","ipModeDisabled":"Disabilitato","ipModeBlacklist":"Lista nera","ipModeWhitelist":"Lista bianca","ipModeWhitelistPriority":"Priorit\xe0 WL","addIpAddress":"Aggiungi indirizzo IP","ipAddressPlaceholder":"192.168.1.0/24 o 10.0.*.*","block":"+ Blocca","allow":"+ Consenti","blocked":"Bloccato ({count})","allowed":"Consentito ({count})","temporaryBans":"Divieti temporanei ({count})","minLeft":"{min}m rimasti","auditLog":"Registro di controllo","searchAuditLogs":"Cerca nei log di controllo...","failedLoadAuditLog":"Impossibile caricare il registro di controllo","noAuditEvents":"Nessun evento di controllo trovato","action":"Azione","actor":"Attore","details":"Dettagli","time":"Tempo","fallbackChainsTitle":"Catene di ripiego","fallbackChainsDesc":"Definire l\'ordine di fallback del fornitore per modello","addChain":"+ Aggiungi catena","modelName":"Nome del modello","modelNamePlaceholder":"claude-sonetto-4-20250514","providersCommaSeparated":"Fornitori (separati da virgole, in ordine di priorit\xe0)","providersCommaSeparatedPlaceholder":"antropico, openai, gemelli","createChain":"Crea catena","noFallbackChains":"Nessuna catena di fallback","noFallbackChainsDesc":"Creare una catena per definire l\'ordine di fallback del provider per un modello.","loadingFallbackChains":"Caricamento catene di fallback...","deleteChainConfirm":"Eliminare la catena di fallback per \\"{model}\\"?","chainCreated":"Catena creata per {model}","chainDeleted":"Catena eliminata per {model}","failedCreateChain":"Impossibile creare la catena","failedDeleteChain":"Impossibile eliminare la catena","deleteChain":"Elimina catena","fillModelAndProviders":"Inserisci il nome del modello e i fornitori","addAtLeastOneProvider":"Aggiungi almeno un fornitore","comboDefaultsTitle":"Impostazioni predefinite combinate","globalComboConfig":"Configurazione combinata globale","defaultStrategy":"Strategia predefinita","defaultStrategyDesc":"Applicato a nuove combo senza strategia esplicita","comboStrategyAria":"Strategia combinata","priority":"Priorit\xe0","weighted":"Ponderato","maxRetriesLabel":"Numero massimo di tentativi","retryDelayLabel":"Ritardo tentativi (ms)","timeoutLabel":"Timeout (ms)","healthCheck":"Controllo dello stato di salute","healthCheckDesc":"Verifica preventiva la disponibilit\xe0 del fornitore","trackMetrics":"Tieni traccia delle metriche","trackMetricsDesc":"Registra i parametri delle richieste per combo","providerOverrides":"Il fornitore esegue l\'override","providerOverridesDesc":"Sostituisci timeout e tentativi per provider. Le impostazioni del provider sovrascrivono le impostazioni predefinite globali.","providerMaxRetriesAria":"{provider} numero massimo di tentativi","providerTimeoutAria":"{provider} timeout ms","removeProviderOverrideAria":"Rimuovi la sostituzione {provider}","newProviderNamePlaceholder":"per esempio. google, apri...","newProviderNameAria":"Nuovo nome del fornitore","retries":"riprova","ms":"SM","saveComboDefaults":"Salva impostazioni predefinite combo","maxNestingDepth":"Profondit\xe0 massima di nidificazione","concurrencyPerModel":"Concorrenza/modello","queueTimeout":"Timeout coda (ms)","providerProfiles":"Profili dei fornitori","providerProfilesDesc":"Impostazioni di resilienza separate per i provider OAuth (basati sulla sessione) e API Key (misurati). I fornitori di OAuth hanno soglie pi\xf9 rigide a causa di limiti di velocit\xe0 inferiori.","oauthProviders":"Provider OAuth","apiKeyProviders":"Fornitori di chiavi API","transientCooldown":"Recupero temporaneo","rateLimitCooldown":"Recupero del limite di velocit\xe0","maxBackoffLevel":"Livello massimo di backoff","cbThreshold":"Soglia CB","cbResetTime":"Tempo di ripristino dell\'interruttore","rateLimiting":"Limitazione della velocit\xe0","rateLimitingDesc":"I fornitori di chiavi API sono automaticamente limitati in termini di velocit\xe0 con impostazioni predefinite sicure. I limiti vengono appresi dalle intestazioni di risposta e si adattano nel tempo.","defaultSafetyNet":"Rete di sicurezza predefinita","rpm":"giri al minuto","minGap":"Divario minimo","maxConcurrent":"Massimo simultaneo","activeLimiters":"Limitatori attivi","noActiveLimiters":"Nessun limitatore di velocit\xe0 attivo ancora.","reservoir":"Serbatoio","running":"Corsa","queued":"In coda","circuitBreakers":"Interruttori automatici","breakerStateClosed":"Chiuso","breakerStateOpen":"Aprire","breakerStateHalfOpen":"Semiaperto","tripped":"{count} \xe8 inciampato","healthy":"{count} sano","resetAll":"Reimposta tutto","noCircuitBreakers":"Nessun interruttore ancora attivo. Vengono creati automaticamente quando le richieste passano attraverso la pipeline combinata.","failures":"{count} errore/i","policiesLocked":"Policy e identificatori bloccati","allOperational":"Tutti i sistemi sono operativi: nessun blocco o interruttore scattato","loadingPolicies":"Caricamento policy...","lockedIdentifiers":"Identificatori bloccati","unlockedIdentifier":"Sbloccato: {identifier}","sinceDate":"dal {date}","forceUnlock":"Sblocco forzato","unlocking":"Sblocco...","failedUnlock":"Impossibile sbloccare","failedLoadWithStatus":"Impossibile caricare: {status}","failedLoadResilience":"Impossibile caricare lo stato di resilienza","saveFailed":"Salvataggio non riuscito","resetFailed":"Reimpostazione non riuscita","loadingResilience":"Caricamento dello stato di resilienza...","retry":"Riprova","systemStorage":"Sistema e archiviazione","allDataLocal":"Tutti i dati archiviati localmente sul tuo computer","databasePath":"Percorso del database","exportDatabase":"Esporta banca dati","exportAll":"Esporta tutto (.tar.gz)","importDatabase":"Importa banca dati","confirmDbImport":"Conferma l\'importazione del database","confirmDbImportDesc":"Questo sostituir\xe0 tutti i dati correnti con il contenuto di {file}. Un backup verr\xe0 creato automaticamente prima dell\'importazione.","yesImport":"S\xec, importa","lastBackup":"Ultimo backup","noBackupYet":"Nessun backup ancora","backupNow":"Esegui il backup ora","backupRestore":"Backup e ripristino","viewBackups":"Visualizza backup","hide":"Nascondere","backupRetentionDesc":"Gli snapshot del database vengono creati automaticamente prima del ripristino e ogni 15 minuti in caso di modifica dei dati. Conservazione: 24 ore su 24 + 30 backup giornalieri con rotazione intelligente.","loadingBackups":"Caricamento dei backup...","noBackupsYet":"Nessun backup ancora disponibile. I backup verranno creati automaticamente quando i dati cambiano.","backupsAvailable":"{count} backup disponibili","refresh":"Aggiorna","confirm":"Confermare?","yes":"S\xcc","no":"NO","restore":"Ripristinare","invalidFileType":"Tipo di file non valido. Sono accettati solo file .sqlite.","exportFailed":"Esportazione non riuscita","exportFailedWithError":"Esportazione non riuscita: {error}","fullExportFailedWithError":"Esportazione completa non riuscita: {error}","backupCreated":"Backup creato: {file}","restoreSuccess":"Restaurato! Connessioni {connections}, nodi {nodes}, combo {combos}, chiavi API {apiKeys}.","importSuccess":"Database importato! Connessioni {connections}, nodi {nodes}, combo {combos}, chiavi API {apiKeys}.","justNow":"proprio adesso","minutesAgo":"{count}m fa","hoursAgo":"{count}h fa","daysAgo":"{count}d fa","backupReasonManual":"manuale","backupReasonPreRestore":"pre-ripristino","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Nessuna modifica dall\'ultimo backup","backupFailed":"Backup non riuscito","restoreFailed":"Ripristino non riuscito","importFailed":"Importazione non riuscita","errorDuringRestore":"Si \xe8 verificato un errore durante il ripristino","errorDuringImport":"Si \xe8 verificato un errore durante l\'importazione","modelPricing":"Prezzi del modello","modelPricingDesc":"Configura le tariffe per modello • Tutte le tariffe in token da $/1 milione","providers":"Fornitori","registry":"Registro","priced":"Prezzo","searchProvidersModels":"Cerca fornitori o modelli...","showAll":"Mostra tutto","noProvidersMatch":"Nessun fornitore corrisponde alla tua ricerca.","howPricingWorks":"Come funzionano i prezzi","cacheWrite":"Scrittura nella cache","unsaved":"non salvato","resetDefaults":"Ripristina le impostazioni predefinite","saveProvider":"Salva fornitore","saving":"Risparmio...","model":"Modello","models":"modelli","moreProviders":"{count} altri fornitori","withPricing":"con i prezzi configurati","policiesCircuitBreakers":"Politiche e interruttori automatici","activeIssuesDetected":"Rilevati problemi attivi","off":"Spento","resetPricingConfirm":"Ripristinare tutti i prezzi per {provider} ai valori predefiniti?","pricingDescInput":"Input: token inviati al modello","pricingDescOutput":"Output: token generati","pricingDescCached":"Memorizzato nella cache: input riutilizzato (~50% della velocit\xe0 di input)","pricingDescReasoning":"Ragionamento: gettoni pensanti (ricade nell\'Output)","pricingDescCacheWrite":"Scrittura cache: creazione di voci cache (ricade su Input)","pricingDescFormula":"Costo = (input \xd7 input_rate) + (output \xd7 output_rate) + (cache \xd7 cached_rate) per milione di token.","pricingSettingsTitle":"Impostazioni dei prezzi","totalModels":"Modelli totali","active":"Attivo","costCalculation":"Calcolo dei costi","costCalculationDesc":"I costi vengono calcolati in base all\'utilizzo dei token e alle tariffe configurate per ciascun modello.","pricingFormat":"Formato dei prezzi","pricingFormatDesc":"Tutte le tariffe sono in token $/1 milione (dollari per milione di token).","tokenTypes":"Tipi di token","inputTokenDesc":"Token di richiesta standard","outputTokenDesc":"Token di completamento/risposta","cachedTokenDesc":"Token di input memorizzati nella cache (in genere il 50% della velocit\xe0 di input)","reasoningTokenDesc":"Segnalini ragionamento/pensiero speciali (ripiego al tasso di produzione)","cacheCreationTokenDesc":"Token utilizzati per creare voci nella cache (fallback alla velocit\xe0 di input)","customPricingNote":"Puoi sostituire i prezzi predefiniti per modelli specifici. Le sostituzioni personalizzate hanno la priorit\xe0 sui prezzi rilevati automaticamente.","editPricing":"Modifica prezzi","viewFullDetails":"Visualizza i dettagli completi"},"translator":{"title":"Traduttore","metaTitle":"Parco giochi per traduttori | OmniRoute","metaDescription":"Eseguire il debug, testare e visualizzare le traduzioni del formato API tra fornitori","playgroundTitle":"Parco giochi per traduttori","playground":"Parco giochi","realtime":"Attivit\xe0 di traduzione in tempo reale","chatTester":"Tester della chat","testBench":"Banco di prova","liveMonitor":"Monitoraggio dal vivo","modeDescriptionPlayground":"Incolla qualsiasi corpo della richiesta API e guarda come OmniRoute lo traduce tra i formati del provider (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)","modeDescriptionChatTester":"Invia richieste di chat reali tramite OmniRoute e controlla l\'intero percorso di andata e ritorno: input, richiesta tradotta, risposta del fornitore e output tradotto.","modeDescriptionTestBench":"Esegui scenari predefiniti e confronta la compatibilit\xe0 tra provider e modelli.","modeDescriptionLiveMonitor":"Guarda gli eventi di traduzione in tempo reale mentre le richieste fluiscono attraverso OmniRoute.","modeDescriptionFallback":"Eseguire il debug, testare e visualizzare come OmniRoute traduce le richieste API tra provider.","recentTranslations":"Traduzioni recenti","noTranslations":"Nessuna traduzione ancora","source":"Fonte","target":"Bersaglio","time":"Tempo","model":"Modello","status":"Stato","latency":"Latenza","totalTranslations":"Traduzioni totali","successful":"Riuscito","errors":"Errori","avgLatency":"Latenza media","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Live: aggiornamento automatico","paused":"In pausa","eventsAppearHint":"Gli eventi di traduzione vengono visualizzati qui mentre le richieste passano attraverso OmniRoute. Utilizza uno di questi metodi per generare eventi:","chatTesterTab":"Scheda Tester chat","testBenchTab":"Scheda Banco di prova","externalApiCalls":"Chiamate API esterne","ideCliIntegrations":"Integrazioni IDE/CLI","inMemoryNote":"Nota: gli eventi vengono archiviati in memoria e ripristinati al riavvio del server.","ok":"OK","errorShort":"ERR","formatConverter":"Convertitore di formato","formatConverterDescription":"Incolla o digita il corpo della richiesta JSON. Il traduttore rilever\xe0 automaticamente il formato di origine e lo convertir\xe0 nel formato di destinazione. Utilizzalo per eseguire il debug del modo in cui OmniRoute traduce le richieste tra formati (OpenAI ↔ Claude ↔ Gemini ↔ API delle risposte).","input":"Ingresso","output":"Produzione","auto":"Auto","swapFormats":"Scambia formati","translateAction":"Tradurre","clear":"Chiaro","inputPlaceholder":"Incolla qui il corpo della richiesta o seleziona un modello qui sotto...","exampleTemplates":"Modelli di esempio","exampleTemplatesHint":"— Fare clic per caricare","templateLoadHint":"Il modello carica la richiesta nel formato {format}. Cambia il formato di origine per caricare in un formato diverso.","compatibilityTester":"Tester di compatibilit\xe0","compatibilityReport":"Rapporto sulla compatibilit\xe0","testBenchDescription":"Esegui scenari predefiniti (Chat semplice, Chiamata di strumenti, ecc.) per verificare la compatibilit\xe0 della traduzione e del provider. Seleziona un formato di origine e un provider di destinazione, quindi esegui tutti i test per visualizzare una percentuale di compatibilit\xe0. Usalo per scoprire quali funzionalit\xe0 funzionano tra i diversi fornitori.","targetProvider":"Fornitore di destinazione","runAllTests":"Esegui tutti i test","runTest":"Esegui prova","reRun":"Rieseguire","running":"Corsa...","passed":"passato","failed":"fallito","passedIconLabel":"✅Superato","chunks":"pezzi","scenarioSimpleChat":"Chat semplice","scenarioToolCalling":"Chiamata dello strumento","scenarioMultiTurn":"Multigiro","scenarioThinking":"Pensiero","scenarioSystemPrompt":"Richiesta di sistema","scenarioStreaming":"Streaming","templateNames":{"simple-chat":"Chat semplice","tool-calling":"Chiamata dello strumento","multi-turn":"Multigiro","thinking":"Pensiero","system-prompt":"Richiesta di sistema","streaming":"Streaming"},"templateDescriptions":{"simple-chat":"Messaggio di testo di base","tool-calling":"Invocazione di funzioni/strumenti","multi-turn":"Conversazione con la storia","thinking":"Pensiero/ragionamento esteso","system-prompt":"Istruzioni di sistema complesse","streaming":"Richiesta di streaming SSE"},"templatePayloads":{"simpleChat":{"system":"Sei un assistente utile.","userGreeting":"Ciao! Come stai oggi?"},"toolCalling":{"userWeather":"Che tempo fa a San Paolo?","toolDescription":"Ottieni il meteo attuale per una localit\xe0","cityNameDescription":"Nome della citt\xe0"},"multiTurn":{"system":"Sei un assistente di codifica.","userInitial":"Scrivi una funzione per ordinare un array in Python.","assistantExample":"Ecco una semplice funzione di ordinamento:\\n\\n```pitone\\ndef sort_array(arr):\\n restituire ordinato(arr)\\n```","userFollowUp":"Ora ordinalo in ordine decrescente."},"thinking":{"question":"Qual \xe8 la somma dei primi 100 numeri primi?"},"systemPrompt":{"systemInstruction":"Sei un ingegnere informatico senior specializzato in sistemi distribuiti. Rispondi alle domande in modo conciso utilizzando le migliori pratiche del settore. Fornisci sempre esempi di codice quando pertinente. Formatta le tue risposte utilizzando Markdown.","question":"Come si implementa un modello di interruttore automatico?"},"streaming":{"prompt":"Raccontami una breve storia su un robot che impara a dipingere."}},"openaiCompatibleLabel":"Compatibile con OpenAI","anthropicCompatibleLabel":"Compatibile antropico","noTemplateForFormat":"Nessun modello per questo formato","translationFailed":"Traduzione non riuscita: {error}","pipelineDebugger":"Debug della pipeline","translationPipeline":"Pipeline di traduzione","pipelineVisualization":"Visualizzazione della pipeline","pipelineVisualizationHint":"Invia un messaggio per vedere come scorre la tua richiesta attraverso rilevamento → traduzione → chiamata al fornitore.","chatTesterDescription":"Invia messaggi in un formato client specifico e ispeziona ogni passaggio della pipeline di traduzione.","chatTesterFlow":"Richiesta client → Rilevamento formato → OpenAI Intermediate → Formato provider → Risposta","clickStepToInspect":"Fare clic su qualsiasi passaggio per controllare i dati in quella fase.","clientFormat":"Formato cliente","provider":"Fornitore","modelPlaceholder":"Seleziona o digita il nome di un modello...","sendMessageToSeePipeline":"Invia un messaggio per vedere la pipeline di traduzione","chatMessageHintPrefix":"Il tuo messaggio sar\xe0 formattato come a","chatMessageHintSuffix":"richiesta, tradotta attraverso la pipeline e inviata al fornitore selezionato.","youWithFormat":"Tu ({format})","assistant":"Assistente","typeMessage":"Digita un messaggio...","send":"Inviare","clientRequest":"Richiesta del cliente","clientRequestDescription":"Il corpo della richiesta cos\xec come lo invierebbe il tuo cliente","formatDetected":"Formato rilevato","formatDetectedDescription":"OmniRoute rileva automaticamente il formato API dalla struttura della richiesta","openaiIntermediate":"OpenAI intermedio","openaiIntermediateDescription":"Tutti i formati vengono prima normalizzati nel formato OpenAI (il bridge universale)","providerFormat":"Formato del fornitore","providerFormatDescription":"Il formato OpenAI \xe8 tradotto nel formato nativo del provider","providerResponse":"Risposta del fornitore","providerResponseRawDescription":"La risposta non elaborata dall\'API del provider","providerResponseSseDescription":"Il flusso SSE non elaborato dall\'API del provider","unexpectedError":"Si \xe8 verificato un errore imprevisto","error":"Errore","errorMessage":"Errore: {message}","requestFailed":"Richiesta non riuscita","noTextExtracted":"(Nessun testo estratto)","liveMonitorDescriptionPrefix":"Mostra gli eventi di traduzione mentre le chiamate API fluiscono attraverso OmniRoute. Gli eventi provengono dal buffer in memoria (si ripristina al riavvio). Utilizzo","liveMonitorDescriptionSuffix":"o chiamate API esterne per generare eventi."},"usage":{"title":"Utilizzo","loggerTab":"Registratore","proxyTab":"Procura","budgetManagement":"Gestione del bilancio","budgetSaved":"Limiti di budget salvati","budgetSaveFailed":"Impossibile salvare il budget","loadingBudgetData":"Caricamento dei dati del budget...","noApiKeysTitle":"Nessuna chiave API","noApiKeysDescription":"Aggiungi prima le chiavi API per impostare i limiti di budget.","apiKey":"Chiave API","todaysSpend":"La spesa di oggi","thisMonth":"Questo mese","setLimits":"Imposta limiti","dailyLimitUsd":"Limite giornaliero (USD)","monthlyLimitUsd":"Limite mensile (USD)","warningThresholdPercent":"Soglia di avviso (%)","dailyLimitPlaceholder":"per esempio. 5.00","monthlyLimitPlaceholder":"per esempio. 50,00","warningThresholdPlaceholder":"80","saveLimits":"Salva limiti","budgetOk":"Budget OK: {remaining} rimanente","budgetExceeded":"Budget superato: le richieste potrebbero essere bloccate","totalRequests":"Richieste totali","noDataYet":"Nessun dato ancora","latency":"Latenza","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","promptCache":"Cache dei suggerimenti","systemHealth":"Salute del sistema","entries":"Voci","activeCount":"{count} attivo","openCircuitBreakersDetected":"Rilevati interruttori automatici aperti","hitRate":"Tasso di successo","hitsMisses":"Colpi / Mancati","circuitBreakers":"Interruttori automatici","lockedIPs":"IP bloccati","lockoutsAutoRefreshHint":"Blocchi del limite di velocit\xe0 per modello • Aggiornamento automatico 10 secondi","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} rimasto","howItWorks":"Come funziona","howItWorksSubtitle":"Scopri come le valutazioni convalidano le tue risposte LLM","define":"Definire","defineStepDescription":"Crea casi di test con prompt di input e criteri di output previsti utilizzando strategie come contiene, regex o corrispondenza esatta.","run":"Correre","runStepDescription":"Esegui casi di test sugli endpoint LLM tramite OmniRoute. Ogni caso viene inviato come una vera richiesta API.","evaluate":"Valutare","evaluateStepDescription":"Le risposte vengono confrontate con i criteri attesi. Visualizza il superamento/fallimento per ciascun caso con parametri di latenza e feedback dettagliato.","evalSuites":"Suite di valutazione","evalSuitesHint":"Fai clic su una suite per visualizzare i casi di test, quindi esegui per valutare i tuoi endpoint LLM","evalsLoading":"Caricamento suite di valutazione...","noEvalSuitesFound":"Nessuna suite di valutazione trovata","noEvalSuitesDescription":"Le suite di valutazione possono essere definite tramite l\'API o nel codice. Testano gli output del modello rispetto ai risultati attesi utilizzando strategie come contiene, regex, corrispondenza esatta e funzioni personalizzate.","columnCase":"Caso","columnStatus":"Stato","columnLatency":"Latenza","columnDetails":"Dettagli","columnModel":"Modello","columnStrategy":"Strategia","columnExpected":"Previsto","statsSuites":"Suite","statsTestCases":"Casi di prova","statsModels":"Modelli","statsCoverage":"Copertura","statsStrategiesCount":"{count} strategie","evaluationStrategies":"Strategie di valutazione","modelsUnderTest":"Modelli in prova","searchSuitesPlaceholder":"Cerca suite...","passSuffix":"passaggio","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"Esegui valutazione","runningProgress":"In esecuzione {current}/{total}...","passRate":"tasso di passaggio","summaryBreakdown":"{passed} superato \xb7 {failed} fallito \xb7 {total} totale","passedIconLabel":"✅Superato","failedIconLabel":"❌ Fallito","detailsContains":"Contiene: \\"{term}\\"","detailsRegex":"Regex: {pattern}","detailsExpected":"Previsto: \\"{expected}\\"","noResultsYet":"Nessun risultato ancora","testCasesCount":"Casi di test ({count})","noTestCasesDefined":"Nessun caso di test definito","runEvalHint":"Fai clic su \\"Esegui valutazione\\" per eseguire tutti i casi sull\'endpoint LLM. Ogni test invia una richiesta reale tramite OmniRoute.","notifyNoTestCases":"Nessun caso di test definito per questa suite","notifyAllCasesPassed":"Tutti i casi {total} sono stati superati ✅","notifySomeCasesFailed":"{passed}/{total} superato, {failed} fallito","notifyEvalRunFailed":"L\'esecuzione di valutazione non \xe8 riuscita","notifyEvalTitle":"Valutazione: {name}","modelEvals":"Valutazioni dei modelli","evalsHeroDescription":"Testa e convalida i tuoi endpoint LLM eseguendo suite di valutazione predefinite. Ogni suite contiene casi di test che inviano richieste reali tramite OmniRoute e confrontano le risposte con i criteri previsti, aiutandoti a rilevare regressioni, confrontare modelli e garantire la qualit\xe0 delle risposte tra i fornitori.","qualityValidation":"Convalida della qualit\xe0","modelComparison":"Confronto dei modelli","regressionDetection":"Rilevamento della regressione","latencyBenchmarks":"Benchmark di latenza","modelLockouts":"Blocchi del modello","noLockouts":"Nessun modello attualmente bloccato","activeSessions":"Sessioni attive","noSessions":"Nessuna sessione attiva","sessionsHint":"Le sessioni vengono visualizzate mentre le richieste passano attraverso il proxy","sessionsTrackedHint":"Tracciato tramite richiesta di impronta digitale • Aggiornamento automatico 5 s","session":"Sessione","age":"Et\xe0","requests":"Richieste","connection":"Connessione","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Limiti del fornitore","noProviders":"Nessun provider connesso","connectProvidersForQuota":"Connettiti ai provider con OAuth per monitorare i limiti di quota e l\'utilizzo dell\'API.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(filtrato da {count})","autoRefresh":"Aggiornamento automatico","refreshAll":"Aggiorna tutto","loadingQuotas":"Caricamento...","account":"Account","modelQuotas":"Quote modello","lastUsed":"Ultimo utilizzo","actions":"Azioni","refreshQuota":"Aggiorna quota","today":"Oggi","tomorrow":"Domani","dayTimeFormat":"{day}, {time}","inDuration":"in {duration}","notApplicable":"N / A","rawPlanWithValue":"Piano grezzo: {plan}","noPlanFromProvider":"Nessun piano dal fornitore","noQuotaData":"Nessun dato sulle quote","noQuotaDataAvailable":"Nessun dato sulle quote disponibile","noAccountsForTierFilter":"Nessun account trovato per il filtro del livello","tierAll":"Tutto","tierEnterprise":"Impresa","tierTeam":"Squadra","tierBusiness":"Attivit\xe0 commerciale","tierUltra":"Ultra","tierPro":"Pro","tierPlus":"Pi\xf9","tierFree":"Gratuito","tierUnknown":"Sconosciuto"},"modals":{"waitingAuth":"In attesa di autorizzazione","verificationUrl":"URL di verifica","yourCode":"Il tuo codice","remoteAccess":"Accesso remoto:","connectedSuccess":"Connesso con successo!","connectionFailed":"Connessione non riuscita","chooseAuthMethod":"Scegli il tuo metodo di autenticazione:","awsBuilderId":"ID del generatore AWS","awsIamIdentity":"Centro identit\xe0 AWS IAM","googleAccount":"Account Google","githubAccount":"Conto GitHub","importToken":"Importa gettone","pasteToken":"Incolla il token di aggiornamento da Kiro IDE.","awsRegion":"Regione AWS","autoDetecting":"Token di rilevamento automatico...","readingFromCache":"Lettura dalla cache AWS SSO","readingFromCursor":"Lettura dal database Cursor IDE","initializing":"Inizializzazione...","pricingConfig":"Configurazione dei prezzi","loadingPricing":"Caricamento dati sui prezzi...","pricingRatesFormat":"Formato delle tariffe dei prezzi","noPricingData":"Nessun dato sui prezzi disponibile","noModelsFound":"Nessun modello trovato"},"loggers":{"allProviders":"Tutti i fornitori","allModels":"Tutti i modelli","allAccounts":"Tutti i conti","allApiKeys":"Tutte le chiavi API","allTypes":"Tutti i tipi","allLevels":"Tutti i livelli","modelAZ":"Modello dalla A alla Z","modelZA":"Modello Z-A","loadingLogs":"Caricamento registri...","loadingProxyLogs":"Caricamento dei registri proxy...","noLogEntries":"Nessuna voce di registro trovata","noPayloadData":"Nessun dato sul carico utile disponibile per questa voce di registro.","proxyEvent":"Evento proxy","proxy":"Procura","level":"Livello","directNative":"Diretto (nativo)","combo":"Combinato","inputTokens":"IO:","outputTokens":"O:"},"stats":{"usageOverview":"Panoramica sull\'utilizzo","outputTokens":"Gettoni di uscita","totalCost":"Costo totale","usageByModel":"Utilizzo per modello","usageByAccount":"Utilizzo per account","failedToLoad":"Impossibile caricare le statistiche sull\'utilizzo.","tokenHealth":"Gettone di salute","totalOAuth":"OAuth totale","healthy":"Salutare","warning":"Avvertimento","errored":"Errore","lastCheck":"Ultimo controllo","noData":"Nessun dato","share":"Condividere","unableToLoad":"Impossibile caricare le metriche di sistema","product":"Prodotto","resources":"Risorse","company":"Azienda"},"auth":{"welcome":"Benvenuto","signIn":"Registrazione","enterPassword":"Inserisci la tua password per continuare","password":"Password","unifiedProxy":"Proxy API AI unificato","unifiedAiApiProxy":"Proxy API AI unificato","unifiedAiApiProxyDesc":"Instrada le richieste a pi\xf9 fornitori di intelligenza artificiale attraverso un singolo endpoint. Bilanciamento del carico, failover e monitoraggio dell\'utilizzo integrati.","passwordNotEnabled":"La protezione tramite password non \xe8 abilitata","loading":"Caricamento...","invalidPassword":"Password non valida","errorOccurredRetry":"Si \xe8 verificato un errore. Per favore riprova.","configureInstance":"Configura la tua istanza OmniRoute","runOnboardingWizard":"Esegui la procedura guidata di onboarding per impostare la tua password e connettere il tuo primo provider AI.","startOnboarding":"Inizia l\'onboarding","secureYourInstance":"Proteggi la tua istanza","setPasswordDescription":"Imposta una password per proteggere la tua dashboard e proteggere i tuoi endpoint API da accessi non autorizzati.","configurePassword":"Configura password","continue":"Continuare","windowWillClose":"Questa finestra si chiuder\xe0 automaticamente...","closeTabNow":"Puoi chiudere questa scheda ora.","copyUrlManual":"Copia l\'URL dalla barra degli indirizzi e incollalo nell\'applicazione.","accessDeniedDescription":"Non hai l\'autorizzazione per accedere a questa risorsa. Controlla la tua chiave API o contatta l\'amministratore.","goToDashboard":"Vai alla dashboard","featureMultiProviderTitle":"Multi-provider","featureMultiProviderDesc":"OpenAI, Anthropic, Google e altro ancora","featureLoadBalancingTitle":"Bilanciamento del carico","featureLoadBalancingDesc":"Distribuisci le richieste in modo intelligente","featureUsageTrackingTitle":"Monitoraggio dell\'utilizzo","featureUsageTrackingDesc":"Monitorare costi e gettoni","resetPassword":"Reimposta password","resetDescription":"Scegli un metodo per recuperare l\'accesso alla tua dashboard","stopServer":"Arrestare il server OmniRoute","processing":"Elaborazione...","pleaseWait":"Ti preghiamo di attendere mentre completiamo l\'autorizzazione.","authSuccess":"Autorizzazione riuscita!","copyUrl":"Copia questo URL","accessDenied":"Accesso negato","methodCliTitle":"Metodo 1: reimpostazione CLI","methodCliDescription":"Esegui il comando seguente sul server su cui \xe8 in esecuzione OmniRoute:","methodCliHint":"Questo ti chieder\xe0 di impostare una nuova password. Il server deve essere prima arrestato.","methodManualTitle":"Metodo 2: ripristino manuale","methodManualDescription":"Elimina la password dal database e impostane una nuova all\'avvio:","setPasswordInYour":"Imposta una nuova password nel tuo","fileLabelSuffix":"file:","newPasswordPlaceholder":"la tua_nuova_password","deleteSettingsFile":"Eliminare","orRemovePasswordHashField":"o rimuovere il campo passwordHash","restartServerWithNewPassword":"Riavvia il server: utilizzer\xe0 la nuova password","backToLogin":"Torna all\'accesso","forgotPassword":"Ha dimenticato la password?"},"landing":{"brandName":"OmniRoute","navigateHome":"Naviga verso casa","toggleMenu":"Cambia menu","featuresLink":"Caratteristiche","docsLink":"Documenti","github":"GitHub","versionLive":"La v1.0 \xe8 ora disponibile","oneEndpoint":"Un endpoint per","allProviders":"Tutti i fornitori di intelligenza artificiale","heroDescription":"Proxy endpoint AI con dashboard Web: una porta JavaScript di CLIProxyAPI. Funziona perfettamente con Claude Code, OpenAI Codex, Cline, RooCode e altri strumenti CLI.","getStarted":"Inizia","viewOnGithub":"Visualizza su GitHub","powerfulFeatures":"Funzionalit\xe0 potenti","featuresSubtitle":"Tutto ci\xf2 di cui hai bisogno per gestire la tua infrastruttura IA in un unico posto, progettato per essere scalabile.","featureUnifiedEndpointTitle":"Endpoint unificato","featureUnifiedEndpointDesc":"Accedi a tutti i fornitori tramite un unico URL API standard.","featureEasySetupTitle":"Configurazione semplice","featureEasySetupDesc":"Diventa subito operativo in pochi minuti con il comando npx.","featureModelFallbackTitle":"Modello di ripiego","featureModelFallbackDesc":"Cambia automaticamente provider in caso di guasto o latenza elevata.","featureUsageTrackingTitle":"Monitoraggio dell\'utilizzo","featureUsageTrackingDesc":"Analisi dettagliate e monitoraggio dei costi su tutti i modelli.","featureOAuthApiKeysTitle":"OAuth e chiavi API","featureOAuthApiKeysDesc":"Gestisci in modo sicuro le credenziali in un unico deposito.","featureCloudSyncTitle":"Sincronizzazione nel cloud","featureCloudSyncDesc":"Sincronizza istantaneamente le tue configurazioni su tutti i dispositivi.","featureCliSupportTitle":"Supporto CLI","featureCliSupportDesc":"Funziona con Claude Code, Codex, Cline, Cursor e altro.","featureDashboardTitle":"Pannello di controllo","featureDashboardDesc":"Dashboard visiva per l\'analisi del traffico in tempo reale.","howItWorks":"Come funziona OmniRoute","howItWorksDescription":"I dati fluiscono senza soluzione di continuit\xe0 dalla tua applicazione attraverso il nostro livello di routing intelligente fino al miglior fornitore per il lavoro.","howItWorksStep1Title":"1. CLI e SDK","howItWorksStep1Description":"Le tue richieste partono dai tuoi strumenti preferiti o dal nostro SDK unificato. Basta cambiare l\'URL di base.","howItWorksStep2Title":"2. Hub OmniRoute","howItWorksStep2Description":"Il nostro motore analizza il prompt, controlla lo stato del provider e instrada la latenza o il costo pi\xf9 bassi.","howItWorksStep3Title":"3. Fornitori di IA","howItWorksStep3Description":"La richiesta viene soddisfatta immediatamente da OpenAI, Anthropic, Gemini o altri.","getStartedIn30Seconds":"Inizia in 30 secondi","getStartedDescription":"Installa OmniRoute, configura i tuoi provider tramite dashboard web e inizia a instradare le richieste AI.","installOmniRoute":"Installa OmniRoute","installStepDescription":"Esegui il comando npx per avviare immediatamente il server","openDashboard":"Apri Dashboard","openDashboardStepDescription":"Configura provider e chiavi API tramite interfaccia web","routeRequests":"Richieste di percorso","routeRequestsStepDescription":"Punta i tuoi strumenti CLI su {endpoint}","terminal":"terminale","copy":"Copia","copied":"✓ Copiato","startingOmniRoute":"Avvio di OmniRoute...","serverRunningOnLabel":"Server in esecuzione","dashboardLabel":"Pannello di controllo","readyToRoute":"Pronti per la rotta! ✓","configureProvidersNote":"\uD83D\uDCDD Configura i fornitori nella dashboard o utilizza le variabili di ambiente","dataLocation":"Posizione dei dati:","dataLocationMacLinux":"macOS/Linux:","dataLocationWindows":"Finestre:","product":"Prodotto","dashboardLink":"Pannello di controllo","changelog":"Registro delle modifiche","resources":"Risorse","documentation":"Documentazione","npm":"NPM","legal":"Legale","mitLicense":"Licenza del MIT","footerTagline":"L\'endpoint unificato per la generazione di IA. Connetti, instrada e gestisci i tuoi fornitori di intelligenza artificiale con facilit\xe0.","copyright":"\xa9 {year} OmniRoute. Tutti i diritti riservati.","flowToolClaudeCode":"Codice Claudio","flowToolOpenAICodex":"Codice OpenAI","flowToolCline":"Cline","flowToolCursor":"Cursore","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Antropico","flowProviderGemini":"Gemelli","flowProviderGithubCopilot":"Copilota GitHub","interactiveDiagram":"Diagramma interattivo visibile sul desktop","ctaTitle":"Pronto a semplificare la tua infrastruttura AI?","ctaDescription":"Unisciti agli sviluppatori che stanno ottimizzando le loro integrazioni IA con OmniRoute. Open source e avvio gratuito.","startFree":"Inizia gratis","readDocumentation":"Leggi la documentazione"},"docs":{"title":"Documentazione","quickStart":"Avvio rapido","features":"Caratteristiche","supportedProviders":"Provider supportati","supportedProvidersToc":"Fornitori","commonUseCases":"Casi d\'uso comuni","clientCompatibility":"Compatibilit\xe0 con il cliente","apiReference":"Riferimento API","method":"Metodo","path":"Sentiero","notes":"Note","modelPrefixes":"Prefissi del modello","prefix":"Prefisso","troubleshooting":"Risoluzione dei problemi","supportsChat":"Supporta sia gli endpoint di chat che quelli di risposta.","oauthAutoRefresh":"Connessione OAuth con aggiornamento automatico del token.","fullStreaming":"Supporto streaming completo per tutti i modelli.","docsLabel":"Documenti","docsHeroDescription":"Gateway AI per LLM multi-provider. Un endpoint per OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor e oltre 20 altri provider.","openDashboard":"Apri Dashboard","endpointPage":"Pagina dell\'endpoint","github":"GitHub","reportIssue":"Segnala problema","onThisPage":"In questa pagina","documentationVersion":"Documentazione - v{version}","quickStartStep1Title":"1. Installa ed esegui","quickStartStep1Prefix":"Correre","quickStartStep1Middle":"oppure clona da GitHub ed esegui","quickStartStep2Title":"2. Crea la chiave API","quickStartStep2Text":"Vai su Endpoint -> Chiavi registrate. Genera una chiave per ambiente.","quickStartStep3Title":"3. Connetti i fornitori","quickStartStep3Text":"Aggiungi account provider tramite accesso OAuth, chiave API o connessione automatica a livello gratuito.","quickStartStep4Title":"4. Imposta l\'URL di base del cliente","quickStartStep4Prefix":"Punta il tuo client IDE o API a","quickStartStep4Suffix":"Utilizza il prefisso del provider, ad esempio","featureRoutingTitle":"Routing multi-provider","featureRoutingText":"Instrada le richieste a oltre 30 fornitori di intelligenza artificiale attraverso un singolo endpoint compatibile con OpenAI. Supporta API di chat, risposte, audio e immagini.","featureCombosTitle":"Combo e bilanciamento","featureCombosText":"Crea combinazioni di modelli con catene di fallback e strategie di bilanciamento: round robin, priorit\xe0, casuale, meno utilizzato e con costi ottimizzati.","featureUsageTitle":"Monitoraggio dell\'utilizzo e dei costi","featureUsageText":"Conteggio dei token in tempo reale, calcolo dei costi per provider/modello e suddivisione dettagliata dell\'utilizzo per chiave API e account.","featureAnalyticsTitle":"Pannello di analisi","featureAnalyticsText":"Analisi visiva con grafici per richieste, token, errori, latenza, costi e popolarit\xe0 del modello nel tempo.","featureHealthTitle":"Monitoraggio sanitario","featureHealthText":"Controlli dello stato in tempo reale, stato del fornitore, stati degli interruttori automatici e rilevamento automatico dei limiti di velocit\xe0 con backoff esponenziale.","featureCliTitle":"Strumenti CLI","featureCliText":"Gestisci le configurazioni IDE, esporta/importa backup, scopri i profili codex e configura le impostazioni dalla dashboard.","featureSecurityTitle":"Sicurezza e politiche","featureSecurityText":"Autenticazione con chiave API, filtraggio IP, protezione prompt injection, policy di dominio, gestione delle sessioni e registrazione di controllo.","featureCloudSyncTitle":"Sincronizzazione nel cloud","featureCloudSyncText":"Sincronizza la tua configurazione con Cloudflare Workers per l\'accesso remoto con credenziali crittografate e failover automatico.","providersAcrossConnectionTypes":"{count} provider in tre tipi di connessione.","manageProviders":"Gestisci fornitori","providersCount":"{count} fornitori","providerTypeFree":"Livello gratuito","providerTypeOAuth":"OAuth","providerTypeApiKey":"Chiave API","useCaseSingleEndpointTitle":"Endpoint unico per molti provider","useCaseSingleEndpointText":"Puntare i client a un URL di base e instradarli in base al prefisso del modello (ad esempio: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Fallback e cambio di modello con combo","useCaseFallbackText":"Crea modelli combinati in Dashboard e mantieni stabile la configurazione del client mentre i fornitori ruotano internamente.","useCaseUsageVisibilityTitle":"Visibilit\xe0 sull\'utilizzo, sui costi e sul debug","useCaseUsageVisibilityText":"Tieni traccia dei token e dei costi per provider, account e chiave API nelle schede Utilizzo e Analisi.","clientCherryStudioTitle":"Studio della ciliegia","baseUrlLabel":"URL di base","chatEndpointLabel":"Endpoint della chat","modelRecommendationLabel":"Raccomandazione del modello: prefisso esplicito","clientCodexTitle":"Modelli Copilot Codex/GitHub","clientCodexBullet1":"Utilizza gli ID modello con","clientCodexBullet2":"I modelli della famiglia Codex si instradano automaticamente verso","clientCodexBullet3":"I modelli non Codex continuano","clientCursorTitle":"Cursore IDE","clientCursorBullet1":"Utilizzo","clientCursorBullet1Suffix":"prefisso per i modelli Cursor.","clientCursorBullet2":"Connessione OAuth: accedi dalla pagina Provider.","clientClaudeTitle":"Codice Claude / Antigravit\xe0","clientClaudeBullet1Prefix":"Utilizzo","clientClaudeBullet1Middle":"(Claude) o","clientClaudeBullet1Suffix":"(Antigravit\xe0).","endpointChatNote":"Endpoint chat compatibile con OpenAI (impostazione predefinita).","endpointResponsesNote":"Endpoint API di risposta (Codex, serie o).","endpointModelsNote":"Catalogo dei modelli per tutti i fornitori collegati.","endpointAudioNote":"Trascrizione audio (Deepgram, AssemblyAI).","endpointImagesNote":"Generazione di immagini (NanoBanana).","endpointRewriteChatNote":"Riscrivere l\'helper per i client senza /v1.","endpointRewriteResponsesNote":"Riscrivi l\'helper per le risposte senza /v1.","endpointRewriteModelsNote":"Riscrivere l\'helper per l\'individuazione dei modelli senza /v1.","modelPrefixesDescriptionStart":"Utilizzare il prefisso del provider prima del nome del modello per instradare a un provider specifico. Esempio:","modelPrefixesDescriptionEnd":"percorsi verso GitHub Copilot.","provider":"Fornitore","type":"Tipo","troubleshootingModelRouting":"Se il client non riesce con il routing del modello, utilizzare un provider/modello esplicito (ad esempio: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Se ricevi errori di modello ambigui, scegli il prefisso del provider anzich\xe9 un semplice ID modello.","troubleshootingCodexFamily":"Per i modelli della famiglia GitHub Codex, mantieni il modello come gh/<codex-model>; il router seleziona/risponde automaticamente.","troubleshootingTestConnection":"Utilizza Dashboard > Provider > Verifica connessione prima di effettuare test da IDE o client esterni.","troubleshootingCircuitBreaker":"Se un fornitore mostra l\'interruttore aperto, attendi il raffreddamento o controlla la pagina Salute per i dettagli.","troubleshootingOAuth":"Per i provider OAuth, eseguire nuovamente l\'autenticazione se i token scadono. Controlla l\'indicatore di stato della carta del fornitore."},"legal":{"privacyPolicy":"politica sulla riservatezza","termsOfService":"Termini di servizio","providerConfigurations":"Configurazioni del fornitore","apiKeys":"Chiavi API","usageLogs":"Registri di utilizzo","applicationSettings":"Impostazioni dell\'applicazione","viewExportAnalytics":"Visualizza ed esporta analisi sull\'utilizzo","clearHistory":"Cancella la cronologia di utilizzo in qualsiasi momento","configureRetention":"Configurare i criteri di conservazione dei log","backupRestore":"Esegui il backup e ripristina il tuo database","privacyMetadataTitle":"Informativa sulla privacy | OmniRoute","privacyMetadataDescription":"Informativa sulla privacy per il router proxy API OmniRoute AI.","termsMetadataTitle":"Termini di servizio | OmniRoute","termsMetadataDescription":"Termini di servizio per il router proxy API OmniRoute AI.","backToHome":"Ritorno a casa","lastUpdated":"Ultimo aggiornamento: {date}","policyLastUpdatedDate":"13 febbraio 2026","listSeparator":"-","questionsVisit":"Domande? Visita il nostro","githubRepository":"Repositorio GitHub","privacySection1Title":"1. Architettura locale-prima","privacySection1Text":"OmniRoute \xe8 progettato come un\'applicazione local-first. Tutta l\'elaborazione e l\'archiviazione dei dati avviene interamente sul tuo computer. Non esiste un server centralizzato che raccoglie le tue informazioni.","privacySection2Title":"2. Dati che conserviamo","privacyDataStoredIn":"I seguenti dati vengono archiviati localmente in","privacyDataProviderConfigurationsDesc":"URL di connessione, tipi di provider e impostazioni di priorit\xe0","privacyDataApiKeysDesc":"crittografati e archiviati localmente per l\'autenticazione con i fornitori di intelligenza artificiale","privacyDataUsageLogsDesc":"conteggi delle richieste, utilizzo dei token, nomi dei modelli, timestamp e tempi di risposta","privacyDataApplicationSettingsDesc":"preferenze del tema, strategia di routing e configurazioni combinate","privacySection3Title":"3. Nessuna telemetria","privacySection3Text":"OmniRoute non raccoglie dati di telemetria, analisi o rapporti sugli arresti anomali. Nessun dato viene inviato a noi o a terzi. I tuoi modelli di utilizzo, le chiamate API e le configurazioni rimangono completamente privati.","privacySection4Title":"4. Fornitori di IA di terze parti","privacySection4Text":"Quando effettui chiamate API tramite OmniRoute, le tue richieste vengono inoltrate ai fornitori di intelligenza artificiale che hai configurato (ad esempio: OpenAI, Anthropic, Google). Questi fornitori hanno le proprie politiche sulla privacy che regolano il modo in cui gestiscono i tuoi dati. Si prega di rivedere:","privacyOpenAiPolicy":"Informativa sulla privacy di OpenAI","privacyAnthropicPolicy":"Informativa sulla privacy antropica","privacyGooglePolicy":"Informativa sulla privacy di Google","privacySection5Title":"5. Sincronizzazione cloud (opzionale)","privacySection5Text":"Se abiliti la funzionalit\xe0 opzionale di sincronizzazione cloud, le configurazioni del provider e le chiavi API potrebbero essere trasmesse a un endpoint cloud configurato. Questa funzionalit\xe0 \xe8 disabilitata per impostazione predefinita e richiede un consenso esplicito.","privacySection6Title":"6. Registrazione","privacyLoggingIntro":"I registri delle richieste possono essere configurati tramite le impostazioni del dashboard. Puoi:","privacySection7Title":"7. I tuoi diritti","privacySection7TextStart":"Poich\xe9 tutti i dati sono archiviati localmente, hai il pieno controllo. Puoi cancellare i tuoi dati in qualsiasi momento rimuovendo il","privacySection7TextEnd":"directory o utilizzando le funzionalit\xe0 di backup e ripristino del database nel dashboard.","termsSection1Title":"1. Panoramica","termsSection1Text":"OmniRoute \xe8 un router proxy API AI locale che funziona interamente sul tuo computer. Indirizza le richieste a pi\xf9 fornitori di intelligenza artificiale con bilanciamento del carico, failover e monitoraggio dell\'utilizzo.","termsSection2Title":"2. Responsabilit\xe0 dell\'utente","termsResponsibilityApiKeys":"Sei l\'unico responsabile della gestione delle tue chiavi API e credenziali per fornitori di intelligenza artificiale di terze parti (OpenAI, Anthropic, Google, ecc.).","termsResponsibilityCompliance":"Devi rispettare i termini di servizio di ciascun fornitore di intelligenza artificiale alla cui API accedi tramite OmniRoute.","termsResponsibilitySecurity":"L\'utente \xe8 responsabile della sicurezza dell\'installazione locale di OmniRoute, inclusa l\'impostazione di una password e la limitazione dell\'accesso alla rete.","termsSection3Title":"3. Come funziona","termsSection3Text":"OmniRoute funge da proxy intermediario. Le chiamate API inviate a OmniRoute vengono tradotte e inoltrate ai provider AI configurati. OmniRoute non modifica il contenuto delle richieste o delle risposte oltre la necessaria traduzione del protocollo.","termsSection4Title":"4. Trattamento dei dati","termsDataStoredLocally":"Tutti i dati vengono archiviati localmente sul tuo computer in un database SQLite.","termsNoTransmission":"OmniRoute non trasmette dati a server esterni a meno che non abiliti esplicitamente le funzionalit\xe0 di sincronizzazione cloud.","termsDataLocationText":"I log di utilizzo, le chiavi API e la configurazione sono archiviati in","termsSection5Title":"5. Dichiarazione di non responsabilit\xe0","termsSection5Text":"OmniRoute viene fornito \\"cos\xec com\'\xe8\\" senza garanzie di alcun tipo. Non siamo responsabili per eventuali costi sostenuti per l\'utilizzo dell\'API, interruzioni del servizio o perdita di dati. Mantieni sempre i backup della tua configurazione.","termsSection6Title":"6. Sorgente aperta","termsSection6Text":"OmniRoute \xe8 un software open source. Sei libero di esaminarlo, modificarlo e distribuirlo secondo i termini della sua licenza."}}')}};
|
|
1
|
+
"use strict";exports.id=2594,exports.ids=[2594],exports.modules={32594:a=>{a.exports=JSON.parse('{"common":{"save":"Salva","cancel":"Cancellare","delete":"Eliminare","loading":"Caricamento...","error":"Si \xe8 verificato un errore","success":"Successo","confirm":"Sei sicuro?","refresh":"Aggiorna","close":"Vicino","add":"Aggiungere","edit":"Modificare","search":"Ricerca","back":"Indietro","next":"Prossimo","submit":"Invia","reset":"Reset","copy":"Copia","copied":"Copiato!","enabled":"Abilitato","disabled":"Disabilitato","active":"Attivo","inactive":"Inattivo","noData":"Nessun dato disponibile","configure":"Configura","manage":"Maneggio","name":"Nome","actions":"Azioni","status":"Stato","type":"Tipo","model":"Modello","models":"modelli","provider":"Fornitore","account":"Account","time":"Tempo","details":"Dettagli","created":"Creato","lastUsed":"Ultimo utilizzo","loadMore":"Carica altro","noResults":"Nessun risultato trovato","reloadPage":"Ricarica la pagina","connected":"Collegato","disconnected":"Disconnesso","notConfigured":"Non configurato","testConnection":"Prova connessione","enable":"Abilitare","disable":"Disabilita","columns":"Colonne","newest":"Pi\xf9 recente","oldest":"Il pi\xf9 antico","all":"Tutto","none":"Nessuno","yes":"S\xcc","no":"NO","warning":"Avvertimento","note":"Nota","free":"Gratuito","skipToContent":"Vai al contenuto"},"sidebar":{"home":"Casa","dashboard":"Pannello di controllo","providers":"Fornitori","combos":"Combinazioni","usage":"Utilizzo","analytics":"Analitica","costs":"Costi","health":"Salute","limits":"Limiti e quote","cliTools":"Strumenti CLI","settings":"Impostazioni","translator":"Traduttore","docs":"Documenti","issues":"Problemi","endpoint":"Punto finale","apiManager":"Gestore API","logs":"Registri","auditLog":"Registro di controllo","shutdown":"Fermare","restart":"Ricomincia","shutdownConfirm":"Arrestare OmniRoute?","restartConfirm":"Riavviare OmniRoute?","version":"v{version}","debug":"Debug","system":"Sistema","help":"Aiuto","serverDisconnected":"Server disconnesso","serverDisconnectedMsg":"Il server proxy \xe8 stato arrestato o si sta riavviando.","expandSidebar":"Espandi la barra laterale","collapseSidebar":"Comprimi la barra laterale"},"header":{"logout":"Esci","language":"Lingua","providers":"Fornitori","providerDescription":"Gestisci le connessioni del tuo fornitore di intelligenza artificiale","combos":"Combinazioni","comboDescription":"Combo di modelli con fallback","usage":"Utilizzo e analisi","usageDescription":"Monitora l\'utilizzo dell\'API, il consumo dei token e i log delle richieste","analytics":"Analitica","analyticsDescription":"Grafici, tendenze e approfondimenti sulla valutazione","cliTools":"Strumenti CLI","cliToolsDescription":"Configura gli strumenti CLI","home":"Casa","homeDescription":"Benvenuti in OmniRoute","endpoint":"Punto finale","endpointDescription":"Configurazione dell\'endpoint API","settings":"Impostazioni","settingsDescription":"Gestisci le tue preferenze","openaiCompatible":"Compatibile con OpenAI","anthropicCompatible":"Compatibile antropico"},"home":{"quickStart":"Avvio rapido","quickStartDesc":"Diventa subito operativo in 4 passaggi. Connetti fornitori, modelli di percorso, monitora tutto.","fullDocs":"Documenti completi","step1Title":"1. Crea la chiave API","step1Desc":"Vai a <endpoint>Endpoint</endpoint> -> Chiavi registrate. Genera una chiave per ambiente.","step2Title":"2. Connetti i fornitori","step2Desc":"Aggiungi account in <providers>Providers</providers>. Supporta OAuth, chiave API e livelli gratuiti.","step3Title":"3. Punta il tuo cliente","step3Desc":"Imposta l\'URL di base su {url} nel tuo client IDE o API.","step4Title":"4. Monitora e ottimizza","step4Desc":"Tieni traccia di token, costi ed errori in <logs>Request Logs</logs> e <analytics>Analytics</analytics>.","providersOverview":"Panoramica dei fornitori","configuredOf":"{configured} configurato tra {total} provider disponibili","noModelsAvailable":"Nessun modello disponibile per questo fornitore.","configureFirst":"Configura prima una connessione in {providers}","configureProvider":"Configura fornitore","modelAvailable":"{count} modello disponibile","modelsAvailable":"{count} modelli disponibili","connectionsActive":"Connessione {count} attiva","connectionsActivePlural":"{count} connessioni attive","copyModelName":"Copia il nome del modello","documentation":"Documentazione","healthMonitor":"Monitoraggio della salute","reportIssue":"Segnala il problema","activeError":"{active} attivo \xb7 {errors} errore","oauthLabel":"OAuth","apiKeyLabel":"Chiave API","requestsShort":"{count} richieste","providerModelsTitle":"{provider} - Modelli","copiedModel":"Copiato: {model}","aliasLabel":"alias"},"analytics":{"title":"Analitica","overviewDescription":"Monitora i modelli di utilizzo delle API, il consumo di token, i costi e le tendenze delle attivit\xe0 su tutti i provider e modelli.","evalsDescription":"Esegui suite di valutazione per testare e convalidare i tuoi endpoint LLM. Confronta la qualit\xe0 del modello, rileva le regressioni e confronta la latenza.","overview":"Panoramica","evals":"Valutazioni"},"apiManager":{"title":"Chiavi API","createKey":"Crea chiave API","key":"Chiave","revokeKey":"Revoca chiave","revokeConfirm":"Sei sicuro di voler revocare questa chiave API?","noKeys":"Nessuna chiave API ancora","noKeysDesc":"Crea la tua prima chiave API per autenticare le richieste al tuo endpoint","keyLabel":"Etichetta chiave","permissions":"Autorizzazioni","expiresAt":"Scade","never":"Mai","revoke":"Revocare","showKey":"Mostra chiave","hideKey":"Nascondi chiave","copyKey":"Copia la chiave API","allModels":"Tutti i modelli","selectedModels":"Modelli selezionati","readOnly":"Sola lettura","fullAccess":"Accesso completo","keyManagement":"Gestione delle chiavi API","keyManagementDesc":"Crea e gestisci le chiavi API per autenticare le richieste al tuo endpoint","totalKeys":"Chiavi totali","restricted":"Limitato","totalRequests":"Richieste totali","modelsAvailable":"Modelli disponibili","registeredKeys":"Chiavi registrate","keysRegistered":"Chiavi {count} registrate","keyRegistered":"Chiave {count} registrata","keysSecurityNote":"Ciascuna chiave isola il monitoraggio dell\'utilizzo e pu\xf2 essere revocata in modo indipendente. Le chiavi vengono mascherate dopo la creazione per motivi di sicurezza.","createFirstKey":"Crea la tua prima chiave","name":"Nome","usage":"Utilizzo","created":"Creato","actions":"Azioni","reqs":"req","neverUsed":"Mai usato","deleteConfirm":"Eliminare questa chiave API?","usageTips":"Suggerimenti per l\'uso","tipAuth":"Utilizza le chiavi API nell\'intestazione Autorizzazione come portatore YOUR_KEY","tipSecure":"Le chiavi vengono visualizzate solo una volta durante la creazione: conservale in modo sicuro","tipSeparate":"Crea chiavi separate per client o ambienti diversi","tipRestrict":"Limita le chiavi a modelli specifici per una migliore sicurezza e controllo dei costi","keyName":"Nome chiave","keyNamePlaceholder":"ad esempio, Chiave di produzione, Chiave di sviluppo","keyNameDesc":"Scegli un nome descrittivo per identificare lo scopo di questa chiave","keyCreated":"Chiave API creata","keyCreatedSuccess":"Chiave creata con successo!","keyCreatedNote":"Copia e memorizza questa chiave adesso: non verr\xe0 pi\xf9 mostrata.","done":"Fatto","savePermissions":"Salva autorizzazioni","allowAll":"Consenti tutto","restrict":"Limitare","allowAllInfo":"Questa chiave pu\xf2 accedere a tutti i modelli disponibili.","restrictInfo":"Questa chiave pu\xf2 accedere a {selected} di {total} modelli.","selected":"{count} selezionato","all":"Tutto","clear":"Chiaro","searchModels":"Cerca modelli per nome o fornitore...","noModelsFound":"Nessun modello trovato","keyNameRequired":"Il nome della chiave \xe8 obbligatorio","keyNameTooLong":"Il nome della chiave deve contenere {max} caratteri o meno","keyNameInvalid":"Il nome della chiave pu\xf2 contenere solo lettere, numeri, spazi, trattini e trattini bassi","invalidKeyName":"Nome della chiave non valido","failedCreateKey":"Impossibile creare la chiave","failedCreateKeyRetry":"Impossibile creare la chiave. Per favore riprova.","invalidKeyId":"ID chiave non valido","failedDeleteKey":"Impossibile eliminare la chiave","failedDeleteKeyRetry":"Impossibile eliminare la chiave. Per favore riprova.","invalidModelsSelection":"Selezione dei modelli non valida","cannotSelectMoreThanModels":"Impossibile selezionare pi\xf9 di {max} modelli","failedUpdatePermissions":"Impossibile aggiornare le autorizzazioni","failedUpdatePermissionsRetry":"Impossibile aggiornare le autorizzazioni. Per favore riprova.","unknownProvider":"sconosciuto","copyMaskedKey":"Copia chiave mascherata","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Ultimo: {date}","editPermissions":"Modifica autorizzazioni","deleteKey":"Cancella chiave","model":"{count} modello","models":"{count} modelli","permissionsTitle":"Autorizzazioni: {name}","allowAllDesc":"Questa chiave pu\xf2 accedere a tutti i modelli disponibili.","restrictDesc":"Questa chiave pu\xf2 accedere a {selectedCount} di {totalModels} modelli.","selectedCount":"{count} selezionato"},"auditLog":{"title":"Registro di controllo","searchPlaceholder":"Cerca azioni...","action":"Azione","actor":"Attore","target":"Bersaglio","ipAddress":"Indirizzo IP","timestamp":"Timestamp","noEntries":"Nessuna voce di controllo trovata","filterByAction":"Filtra per azione...","filterByActor":"Filtra per attore...","filterEntriesAria":"Filtra le voci del registro di controllo","filterByActionTypeAria":"Filtra per tipo di azione","filterByActorAria":"Filtra per attore","refreshAuditLogAria":"Aggiorna il registro di controllo","tableAria":"Voci del registro di controllo","failedFetchAuditLog":"Impossibile recuperare il registro di controllo","notAvailable":"—","description":"Azioni amministrative ed eventi di sicurezza","showing":"Visualizzazione delle voci {count} (offset {offset})","previous":"Precedente"},"cliTools":{"title":"Strumenti CLI","noActiveProviders":"Nessun fornitore attivo","noActiveProvidersDesc":"Aggiungi e connetti prima i provider per configurare gli strumenti CLI.","mapModels":"Modelli di mappe","testConnection":"Prova connessione","connectionStatus":"Stato della connessione","configureEndpoint":"Configura punto finale","instructions":"Istruzioni","modelMapping":"Mappatura del modello","baseUrl":"URL di base","apiKey":"Chiave API","configured":"Configurato","notConfigured":"Non configurato","notInstalled":"Non installato","custom":"Costume","unknown":"Sconosciuto","lastSavedAt":"Ultimo salvataggio: {date}","never":"Mai","justNow":"proprio adesso","minutesAgoShort":"{count}m fa","hoursAgoShort":"{count}h fa","daysAgoShort":"{count}d fa","monthsAgoShort":"{count}mo fa","yearsAgoShort":"{count}y fa","runtimeCheckFailed":"Il controllo di runtime non \xe8 riuscito","yourApiKeyPlaceholder":"la tua chiave API","modelPlaceholder":"provider/ID modello","configurationSaved":"Configurazione salvata con successo.","failedToSave":"Impossibile salvare la configurazione.","noApiKeysCreateOne":"Nessuna chiave API: creane una nella pagina Chiavi","defaultOmnirouteKey":"sk_omniroute (predefinito)","selectModel":"Seleziona modello","selectModelForAlias":"Seleziona il modello per {alias}","selectModelForTool":"Seleziona il modello per {tool}","select":"Selezionare","clear":"Chiaro","comingSoon":"Prossimamente","checkingRuntime":"Controllo dello stato di runtime in corso...","guideOnlyIntegration":"Integrazione solo con guida (non \xe8 richiesto runtime locale)","cliRuntimeDetected":"Runtime CLI rilevato e pronto","cliFoundNotRunnable":"CLI trovata ma non eseguibile{reason}","cliRuntimeNotDetected":"Runtime CLI non rilevato","binary":"Binario","configPath":"Percorso di configurazione","configPathShort":"Configurazione","failedCheckRuntimeStatus":"Impossibile controllare lo stato del runtime.","copy":"Copia","copied":"Copiato","copyConfig":"Copia config","saveConfig":"Salva configurazione","selectionSaved":"Selezione salvata","guide":"Guida","detected":"Rilevato","notReady":"Non pronto","active":"Attivo","inactive":"Inattivo","startMitm":"Avvia il MITM","stopMitm":"Interrompi il MITM","mitmStarted":"MITM \xe8 iniziato con successo!","mitmStopped":"MITM si \xe8 interrotto con successo!","failedStart":"Impossibile avviare MITM","failedStop":"Impossibile arrestare MITM","saveMappings":"Salva mappature","mappingsSaved":"Mappature salvate!","failedSaveMappings":"Impossibile salvare le mappature","howItWorks":"Come funziona:","antigravityHowWorksDesc":"Antigravity invia richieste all\'endpoint di Google. MITM li intercetta e li reindirizza a OmniRoute.","antigravityStep1":"1. Avviare MITM per instradare le richieste tramite OmniRoute.","antigravityStep2Prefix":"2. Aggiungi","antigravityStep2Suffix":"al file host come 127.0.0.1.","antigravityStep3":"3. Open Antigravity e le richieste verranno inoltrate.","sudoPasswordRequiredTitle":"Password Sudo obbligatoria","sudoPasswordHint":"Per modificare le impostazioni del file host e del proxy di sistema \xe8 necessaria la password dell\'amministratore.","enterSudoPassword":"Inserisci la password sudo","sudoPasswordRequiredError":"\xc8 richiesta la password Sudo.","cancel":"Cancellare","confirm":"Confermare","settingsApplied":"Impostazioni applicate con successo!","failedApplySettings":"Impossibile applicare le impostazioni","settingsReset":"Le impostazioni sono state ripristinate con successo!","failedResetSettings":"Impossibile ripristinare le impostazioni","backupRestored":"Backup ripristinato!","failedRestore":"Impossibile ripristinare","checkingCli":"Controllo {tool} CLI...","cliNotRunnable":"{tool} CLI installata ma non eseguibile","cliNotInstalled":"{tool} CLI non installata","cliNotDetected":"{tool} CLI non rilevata","cliDetectedReady":"{tool} CLI rilevata e pronta","cliFoundFailedHealthcheck":"{tool} La CLI \xe8 stata trovata ma il controllo dello stato di runtime non \xe8 riuscito{reason}.","installCliPrompt":"Installa {tool} CLI per utilizzare questa funzionalit\xe0.","installCodexPrompt":"Installa la CLI del Codex per utilizzare la funzionalit\xe0 di applicazione automatica.","hide":"Nascondere","howToInstall":"Come installare","installationGuide":"Guida all\'installazione","platforms":"macOS/Linux/Windows:","afterInstallationRun":"Dopo l\'installazione, esegui","toVerify":"per verificare.","current":"Attuale","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Ripristina le impostazioni predefinite","providerModelPlaceholder":"provider/ID modello","apply":"Fare domanda a","reset":"Reset","manualConfig":"Configurazione manuale","backups":"Backup","configBackups":"Backup di configurazione","noBackupsYet":"Nessun backup ancora. I backup vengono creati automaticamente prima di ogni applicazione o ripristino.","restore":"Ripristinare","backupRestoredReloading":"Backup ripristinato! Stato di ricarica...","failedRestoreBackup":"Impossibile ripristinare il backup","applied":"Applicato!","failed":"Fallito","resetDone":"Reset!","omnirouteConfiguredOpenAiCompatible":"OmniRoute \xe8 configurato come provider compatibile con OpenAI","provider":"Fornitore","model":"Modello","providers":"Fornitori","auth":"Aut","noApiKeysAvailable":"Nessuna chiave API disponibile","usingDefaultOmniroute":"Utilizzo predefinito: sk_omniroute","updateConfig":"Aggiorna config","applyConfig":"Applica config","noBackupsAvailable":"Nessun backup disponibile.","profileSaved":"Profilo \\"{name}\\" salvato!","failedSaveProfile":"Impossibile salvare il profilo","profileActivated":"Profilo attivato!","failedActivateProfile":"Impossibile attivare il profilo","profiles":"Profili","savedProfiles":"Profili salvati","noProfilesYet":"Nessun profilo ancora salvato. Salva la configurazione corrente come profilo di seguito.","activate":"Attivare","deleteProfile":"Elimina profilo","profileNamePlaceholder":"Nome del profilo (ad es. Account personale)","saveCurrent":"Salva corrente","codexAuthNotePrefix":"Usi del Codice","codexAuthNoteMiddle":"con","codexAuthNoteSuffix":"Fare clic su \\"Applica\\" per la configurazione automatica.","claudeManualConfiguration":"Claude CLI - Configurazione manuale","codexManualConfiguration":"Codex CLI - Configurazione manuale","droidManualConfiguration":"Droid di fabbrica - Configurazione manuale","openClawManualConfiguration":"Open Claw - Configurazione manuale","clineManualConfiguration":"Configurazione manuale della linea","kiloManualConfiguration":"Configurazione manuale del codice Kilo","toolDescriptions":{"antigravity":"IDE Antigravit\xe0 di Google con MITM","claude":"CLI del codice Claude antropico","codex":"CLI del codice OpenAI","droid":"Assistente AI Droid di fabbrica","openclaw":"Apri l\'Assistente AI Claw","cline":"Cline AI Coding Assistant CLI","kilo":"CLI dell\'Assistente AI Kilo Code","cursor":"Editor del codice AI del cursore","continue":"Continua Assistente AI"},"guides":{"cursor":{"notes":{"0":"Richiede l\'account Cursor Pro per utilizzare questa funzionalit\xe0.","1":"Il cursore instrada le richieste tramite il proprio server, quindi l\'endpoint locale non \xe8 supportato. Abilita Cloud Endpoint nelle Impostazioni."},"steps":{"1":{"title":"Apri Impostazioni","desc":"Vai su Impostazioni -> Modelli"},"2":{"title":"Abilita l\'API OpenAI","desc":"Abilita l\'opzione \\"Chiave API OpenAI\\"."},"3":{"title":"URL di base"},"4":{"title":"Chiave API"},"5":{"title":"Aggiungi modello personalizzato","desc":"Fai clic su \\"Visualizza tutto il modello\\" -> \\"Aggiungi modello personalizzato\\""},"6":{"title":"Seleziona modello"}}},"continue":{"steps":{"1":{"title":"Apri Configurazione","desc":"Apri il file di configurazione Continua"},"2":{"title":"Chiave API"},"3":{"title":"Seleziona modello"},"4":{"title":"Aggiungi configurazione modello","desc":"Aggiungi la seguente configurazione all\'array dei modelli:"}}}}},"combos":{"title":"Combinazioni","description":"Crea combinazioni di modelli con routing ponderato e supporto fallback","createCombo":"Crea combinazione","editCombo":"Modifica combinazione","deleteCombo":"Elimina combinazione","noModels":"Nessun modello","noModelsYet":"Nessun modello ancora aggiunto","addModel":"Aggiungi modello","addModelToCombo":"Aggiungi modello alla combinazione","routingStrategy":"Strategia di instradamento","maxRetries":"Numero massimo di tentativi","timeout":"Timeout (ms)","healthcheck":"Controllo dello stato di salute","priority":"Priorit\xe0","fallback":"Ricaderci","roundRobin":"Girotondo","random":"Casuale","leastLatency":"Latenza minima","comboName":"Nome combinato","comboNamePlaceholder":"la mia combinazione","deleteConfirm":"Eliminare questa combinazione?","noCombosYet":"Nessuna combo ancora","comboCreated":"Combo creato con successo","comboUpdated":"Combo aggiornato con successo","comboDeleted":"Combinazione eliminata","failedCreate":"Impossibile creare la combinazione","failedUpdate":"Impossibile aggiornare la combinazione","errorCreating":"Errore durante la creazione della combinazione","errorUpdating":"Errore durante l\'aggiornamento della combinazione","errorDeleting":"Errore durante l\'eliminazione della combinazione","testFailed":"Richiesta di prova non riuscita","failedToggle":"Impossibile attivare/disattivare la combo","testResults":"Risultati del test — {name}","resolvedBy":"Risolto da:","more":"+{count} altro","reqs":"req","success":"successo","proxyConfigured":"Proxy configurato","copyComboName":"Copia il nome della combinazione","enableCombo":"Abilita combinazione","disableCombo":"Disabilita combinazione","testCombo":"Combinazione di prova","duplicate":"Duplicato","proxyConfig":"Configurazione proxy","nameRequired":"Il nome \xe8 obbligatorio","nameInvalid":"Solo lettere, numeri, -, _, / e . consentito","nameHint":"Lettere, numeri, -, _, / e . consentito","priorityDesc":"Fallback sequenziale: prova prima il modello 1, poi il 2 e cos\xec via.","weightedDesc":"Distribuisce il traffico in base alla percentuale di peso con fallback","roundRobinDesc":"Distribuzione circolare: ogni richiesta va al modello successivo a rotazione","randomDesc":"Selezione casuale uniforme, quindi fallback sui modelli rimanenti","leastUsedDesc":"Sceglie il modello con meno richieste, bilanciando il carico nel tempo","costOptimizedDesc":"Percorsi prima verso il modello pi\xf9 economico in base al prezzo","models":"Modelli","autoBalance":"Bilanciamento automatico","advancedSettings":"Impostazioni avanzate","retryDelay":"Ritardo tentativi (ms)","concurrencyPerModel":"Concorrenza/modello","queueTimeout":"Timeout coda (ms)","advancedHint":"Lascia vuoto per utilizzare le impostazioni predefinite globali. Questi sovrascrivono le impostazioni per provider.","moveUp":"Vai su","moveDown":"Spostati gi\xf9","removeModel":"Rimuovere","saving":"Risparmio...","weighted":"Ponderato","leastUsed":"Meno usato","costOpt":"Opzione costo"},"costs":{"title":"Costi","budget":"Bilancio","totalCost":"Costo totale","breakdown":"Ripartizione dei costi","noData":"Nessun dato sui costi","byModel":"Per modello","byProvider":"Per fornitore"},"endpoint":{"title":"Endpoint API","available":"Endpoint disponibili","cloudProxy":"Proxy cloud","disableConfirm":"Sei sicuro di voler disabilitare il proxy cloud?","baseUrl":"URL di base","apiKeyLabel":"Chiave API","registeredKeys":"Chiavi registrate","chatCompletions":"Completamenti della chat","responses":"Risposte","listModels":"Elenco modelli","usingCloudProxy":"Utilizzo del proxy cloud","usingLocalServer":"Utilizzo del server locale","machineId":"ID macchina: {id}...","disableCloud":"Disabilita Nuvola","enableCloud":"Abilita nuvola","modelsAcrossEndpoints":"Modelli {models} sugli endpoint {endpoints}","chatDesc":"Chat in streaming e non in streaming con tutti i provider","embeddings":"Incorporamenti","embeddingsDesc":"Incorporamenti di testo per pipeline di ricerca e RAG","imageGeneration":"Generazione di immagini","imageDesc":"Genera immagini da istruzioni di testo","rerank":"Riclassificare","rerankDesc":"Riclassificare i documenti in base alla pertinenza rispetto a una query","audioTranscription":"Trascrizione audio","audioTranscriptionDesc":"Trascrivere file audio in testo (Whisper)","textToSpeech":"Sintesi vocale da testo","textToSpeechDesc":"Converti il testo in parlato dal suono naturale","moderations":"Moderazioni","moderationsDesc":"Moderazione dei contenuti e classificazione della sicurezza","enableCloudTitle":"Abilita proxy cloud","whatYouGet":"Cosa otterrai","cloudBenefitAccess":"Accedi alla tua API da qualsiasi parte del mondo","cloudBenefitShare":"Condividi facilmente l\'endpoint con il tuo team","cloudBenefitPorts":"Non \xe8 necessario aprire porte o configurare il firewall","cloudBenefitEdge":"Rete edge globale veloce","cloudSessionNote":"Cloud manterr\xe0 la tua sessione di autenticazione per 1 giorno. Se non utilizzato verr\xe0 automaticamente cancellato.","cloudUnstableNote":"In alcuni casi, il cloud \xe8 attualmente instabile con Claude Code OAuth.","cloudConnected":"Proxy cloud connesso!","connectingToCloud":"Connessione al cloud...","verifyingConnection":"Verifica della connessione...","connecting":"Connessione...","verifying":"Verifica...","connected":"Collegato!","disableCloudTitle":"Disabilita proxy cloud","disableWarning":"Tutte le sessioni di autenticazione verranno eliminate dal cloud.","syncingData":"Sincronizzazione dei dati pi\xf9 recenti...","disablingCloud":"Disabilitazione del cloud...","syncing":"Sincronizzazione...","disabling":"Disabilitazione...","cloudConnectedVerified":"Cloud Proxy connesso e verificato!","connectedVerificationPending":"Connesso: verifica in sospeso","connectedVerificationPendingWithError":"Connesso: verifica in sospeso: {error}","cloudDisabledSuccess":"Cloud disabilitato correttamente","syncedSuccess":"Sincronizzazione riuscita","failedDisable":"Impossibile disattivare il cloud","failedEnable":"Impossibile abilitare il cloud","cloudRequestTimeout":"Timeout della richiesta cloud","cloudRequestFailed":"Richiesta cloud non riuscita","cloudWorkerUnreachable":"Impossibile raggiungere il lavoratore cloud. Assicurati che il servizio cloud sia in esecuzione (npm run dev in /cloud).","connectionFailed":"Connessione non riuscita","syncFailed":"Impossibile sincronizzare i dati cloud","providerModelsTitle":"{provider} — Modelli","noModelsForProvider":"Nessun modello disponibile per questo fornitore.","chat":"Chiacchierata","embedding":"Incorporamento","image":"Immagine","custom":"costume","modelsCount":"{count, plural, one {# model} other {# models}}","responsesDesc":"API Responses di OpenAI per Codex e workflow agentici avanzati","listModelsDesc":"Elenca tutti i modelli disponibili su tutti i provider connessi","settingsApi":"Settings API","settingsApiDesc":"Leggere e modificare la configurazione di OmniRoute tramite API","categoryCore":"API Principali","categoryMedia":"Media e Multi-Modale","categoryUtility":"Utilit\xe0 e Gestione"},"health":{"title":"Salute del sistema","description":"Monitoraggio in tempo reale della tua istanza OmniRoute","healthy":"Salutare","degraded":"Degradato","down":"Gi\xf9","uptime":"Tempo di attivit\xe0","memory":"Memoria","memoryRss":"Memoria (RSS)","heap":"Mucchio","cpu":"processore","database":"Banca dati","version":"Versione","lastCheck":"Ultimo controllo","providerHealth":"Salute del fornitore","systemMetrics":"Metriche di sistema","tokenHealth":"Gettone di salute","refreshAll":"Aggiorna tutto","checkNow":"Controlla ora","loadingHealth":"Caricamento dati sanitari...","failedToLoad":"Impossibile caricare i dati sanitari: {error}","retry":"Riprova","allOperational":"Tutti i sistemi operativi","issuesDetected":"Rilevati problemi di sistema","updatedAt":"Aggiornato {time}","latency":"Latenza","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Richieste totali","noDataYet":"Nessun dato ancora","promptCache":"Cache dei suggerimenti","entries":"Voci","hitRate":"Tasso di successo","hitsMisses":"Colpi / Mancati","signatureCache":"Cache delle firme","signatureDefaults":"Predefiniti","signatureTool":"Attrezzo","signatureFamily":"Famiglia","signatureSession":"Sessione","recovering":"Recupero","noCBData":"Nessun dato disponibile sull\'interruttore automatico. Fai prima alcune richieste.","providerHealthStatusAria":"Stato di salute del fornitore","issuesLabel":"Problemi rilevati","operational":"Operativo","providers":"Fornitori","healthyCount":"{count} sano","nodeVersion":"Nodo {version}","failures":"{count} errore","failuresPlural":"{count} errori","lastFailure":"Scorso","rateLimitStatus":"Stato del limite di velocit\xe0","activeLimiters":"{count} limitatore attivo","activeLimitersPlural":"{count} limitatori attivi","queued":"In coda","queuedCount":"{count} in coda","running":"corsa","runningCount":"{count} in esecuzione","ok":"OK","activeLockouts":"Blocchi attivi","resetConfirm":"Ripristinare tutti gli interruttori automatici allo stato integro? Ci\xf2 eliminer\xe0 tutti i conteggi degli errori e ripristiner\xe0 tutti i provider allo stato operativo.","resetAllTitle":"Ripristinare tutti gli interruttori automatici allo stato integro","resetting":"Reimpostazione...","resetAll":"Reimposta tutto","until":"Fino al {time}"},"limits":{"title":"Limiti e quote","rateLimit":"Limite di velocit\xe0","remaining":"Rimanente","requestsPerMinute":"Richieste/min","tokensPerMinute":"Gettoni/min","dailyLimit":"Limite giornaliero"},"logs":{"title":"Registri","requestLogs":"Richiedi registri","proxyLogs":"Registri proxy","auditLog":"Registro di controllo","console":"Consolle","auditLogDesc":"Azioni amministrative ed eventi di sicurezza","loading":"Caricamento...","refresh":"Aggiorna","filterByAction":"Filtra per azione...","filterByActor":"Filtra per attore...","filterEntriesAria":"Filtra le voci del registro di controllo","filterByActionTypeAria":"Filtra per tipo di azione","filterByActorAria":"Filtra per attore","refreshAuditLogAria":"Aggiorna il registro di controllo","tableAria":"Voci del registro di controllo","failedFetchAuditLog":"Impossibile recuperare il registro di controllo","showing":"Visualizzazione delle voci {count} (offset {offset})","search":"Ricerca","timestamp":"Timestamp","action":"Azione","actor":"Attore","target":"Bersaglio","details":"Dettagli","ipAddress":"Indirizzo IP","notAvailable":"—","noEntries":"Nessuna voce del registro di controllo trovata","previous":"Precedente","next":"Prossimo"},"onboarding":{"welcome":"Benvenuto","security":"Sicurezza","test":"Test","ready":"Pronto!","setPassword":"Imposta password","addProvider":"Aggiungi il tuo primo fornitore","getStarted":"Inizia","skip":"Saltare","skipWizard":"Salta completamente la procedura guidata","skipPassword":"Salta l\'impostazione della password","skipAndContinue":"Salta e continua","passwordLabel":"Password","confirmPassword":"Conferma password","enterPassword":"Inserisci la password","confirmPasswordPlaceholder":"Conferma password","passwordsMismatch":"Le password non corrispondono","setupComplete":"Configurazione completata!","goToDashboard":"Vai alla dashboard →","welcomeDesc":"OmniRoute \xe8 il tuo proxy API AI locale. Indirizza le richieste a pi\xf9 fornitori di intelligenza artificiale con bilanciamento del carico, failover e monitoraggio dell\'utilizzo.","multiProvider":"Multi-provider","usageTracking":"Monitoraggio dell\'utilizzo","apiKeyMgmt":"Gestione chiave API","securityDesc":"Imposta una password per proteggere la tua dashboard o salta per ora.","providerDesc":"Connetti il tuo primo fornitore di intelligenza artificiale. Puoi aggiungerne altri in seguito.","apiKeyRequired":"Chiave API (richiesto)","customUrlOptional":"URL personalizzato (facoltativo)","testDesc":"Verifichiamo che la connessione del tuo provider funzioni.","runTest":"Esegui il test di connessione","testingConnection":"Test della connessione...","connectionSuccessful":"Connessione riuscita! Il tuo fornitore \xe8 pronto.","noProviderFound":"Nessun fornitore trovato. Puoi aggiungerne uno dalla dashboard in un secondo momento.","testFailed":"Il test \xe8 fallito, ma puoi configurarlo in seguito.","couldNotTest":"Impossibile eseguire il test in questo momento. Puoi testare dalla dashboard.","doneDesc":"\xc8 tutto pronto! La tua istanza OmniRoute \xe8 configurata e pronta per eseguire il proxy delle richieste AI.","yourEndpoint":"Il tuo punto finale:","continue":"Continuare","retry":"Riprova","failedSetPassword":"Impossibile impostare la password. Riprova.","failedAddProvider":"Impossibile aggiungere il fornitore. Riprova.","connectionError":"Errore di connessione. Per favore riprova.","provider":"Fornitore"},"providers":{"title":"Fornitori","addProvider":"Aggiungi fornitore","editProvider":"Modifica fornitore","deleteProvider":"Elimina fornitore","noProviders":"Nessun provider configurato","modelAvailability":"Disponibilit\xe0 del modello","accounts":"Conti","newAccount":"Nuovo conto","deleteConfirm":"Sei sicuro di voler eliminare questo fornitore?","testing":"Prova...","testConnection":"Prova connessione","testSuccess":"Connessione riuscita","testFailed":"Connessione non riuscita","available":"Disponibile","cooldown":"Raffreddare","unavailable":"Non disponibile","unknown":"Sconosciuto","oauthLabel":"OAuth","compatibleLabel":"Compatibile","chat":"Chiacchierata","responses":"Risposte","messages":"Messaggi","oauthProviders":"Provider OAuth","freeProviders":"Fornitori gratuiti","apiKeyProviders":"Fornitori di chiavi API","compatibleProviders":"Fornitori compatibili con chiave API","testAll":"Prova tutto","testAllOAuth":"Testa tutte le connessioni OAuth","testAllFree":"Testa tutte le connessioni gratuite","testAllApiKey":"Testa tutte le connessioni della chiave API","testAllCompatible":"Testare tutte le connessioni compatibili","connected":"{count} Connesso","errorCount":"{count} Errore ({code})","errorCountNoCode":"{count} Errore","noConnections":"Nessuna connessione","disabled":"Disabilitato","enableProvider":"Abilita fornitore","disableProvider":"Disabilita fornitore","testResults":"Risultati dei test","noCompatibleYet":"Nessun fornitore compatibile ancora aggiunto","compatibleHint":"Utilizza i pulsanti qui sopra per aggiungere endpoint compatibili con OpenAI o Anthropic","addOpenAICompatible":"Aggiungi compatibile con OpenAI","addAnthropicCompatible":"Aggiungi compatibilit\xe0 antropica","addNewProvider":"Aggiungi nuovo fornitore","backToProviders":"Torniamo ai fornitori","configureNewProvider":"Configura un nuovo provider AI da utilizzare con le tue applicazioni.","providerLabel":"Fornitore","selectProvider":"Seleziona un fornitore","selectedProvider":"Fornitore selezionato","authMethod":"Metodo di autenticazione","apiKeyLabel":"Chiave API","apiKeyRequired":"\xc8 richiesta la chiave API","selectProviderRequired":"Seleziona un fornitore","enterApiKey":"Inserisci la tua chiave API","apiKeySecure":"La tua chiave API verr\xe0 crittografata e archiviata in modo sicuro.","oauth2Connect":"Connettiti con OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Connetti il tuo account utilizzando l\'autenticazione OAuth2.","displayName":"Nome da visualizzare","displayNamePlaceholder":"ad esempio, API di produzione, ambiente di sviluppo","displayNameHint":"Opzionale. Un nome descrittivo per identificare questa configurazione.","active":"Attivo","activeDescription":"Abilita questo provider per l\'utilizzo nelle tue applicazioni","cancel":"Cancellare","createProvider":"Crea fornitore","failedCreate":"Impossibile creare il fornitore","errorOccurred":"Si \xe8 verificato un errore. Per favore riprova.","modelStatus":"Stato del modello","allModelsOperational":"Tutti i modelli operativi","modelsWithIssues":"{count} modelli con problemi","allModelsNormal":"Tutti i modelli rispondono normalmente.","cooldownCleared":"Recupero cancellato per {model}","failedClearCooldown":"Impossibile cancellare il tempo di recupero","loadingAvailability":"Caricamento disponibilit\xe0 del modello...","clearCooldown":"Chiaro","clearing":"Cancellazione...","until":"Fino al {time}","providerTestFailed":"Il test del fornitore \xe8 fallito","modeTest":"{mode} Prova","passedCount":"{count} superato","failedCount":"{count} non riuscito","testedCount":"{count} testato","millisecondsAbbr":"{value}ms","okShort":"OK","errorShort":"ERRORE","noActiveConnectionsInGroup":"Nessuna connessione attiva trovata per questo gruppo.","allTestsPassed":"Tutti i test {total} sono stati superati","testSummary":"{passed}/{total} superato, {failed} fallito","nameLabel":"Nome","prefixLabel":"Prefisso","baseUrlLabel":"URL di base","apiTypeLabel":"Tipo API","prefixHint":"Necessario. Prefisso univoco per i nomi dei modelli.","nameHint":"Necessario. Un\'etichetta amichevole per questo nodo.","baseUrlHint":"Necessario. URL di base dell\'API del provider.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Convalida connessione","validating":"Convalida...","connectionValid":"La connessione \xe8 valida!","connectionFailed":"Connessione non riuscita. Controlla l\'URL e la chiave.","testKeyLabel":"Testare la chiave API","testKeyPlaceholder":"sk-... (solo per la convalida)","providerNotFound":"Fornitore non trovato","deleteConnectionConfirm":"Eliminare questa connessione?","failedSetAlias":"Impossibile impostare l\'alias","failedSaveConnection":"Impossibile salvare la connessione","failedSaveConnectionRetry":"Impossibile salvare la connessione. Per favore riprova.","failedRetestConnection":"Impossibile ripetere il test della connessione","deleteCompatibleNodeConfirm":"Eliminare questo {type} nodo compatibile?","anthropicCompatibleDetails":"Dettagli compatibilit\xe0 antropica","openaiCompatibleDetails":"Dettagli compatibili con OpenAI","messagesApi":"API dei messaggi","responsesApi":"API di risposta","chatCompletions":"Completamenti della chat","importingModels":"Importazione...","importFromModels":"Importa da /modelli","addConnectionToImport":"Aggiungi una connessione per abilitare l\'importazione.","noModelsConfigured":"Nessun modello configurato","connectionCount":"{count} connessione/i","fetchingModels":"Recupero dei modelli disponibili...","failedFetchModels":"Impossibile recuperare i modelli","noModelsFound":"Nessun modello trovato","importFailed":"Importazione non riuscita","noNewModelsAdded":"Non sono stati aggiunti nuovi modelli.","adding":"Aggiunta...","importingModelsTitle":"Importazione di modelli","copyModel":"Copia modello","removeModel":"Rimuovi il modello","rateLimitProtected":"Protetto","rateLimitUnprotected":"Non protetto","enableRateLimitProtection":"Fare clic per abilitare la protezione del limite di velocit\xe0","disableRateLimitProtection":"Fare clic per disattivare la protezione del limite di velocit\xe0","productionKey":"Chiave di produzione","enterNewApiKey":"Inserisci la nuova chiave API","optional":"Opzionale","anthropicCompatibleName":"Compatibile antropico","openaiCompatibleName":"Compatibile con OpenAI","failedImportModels":"Impossibile importare i modelli","noModelsReturnedFromEndpoint":"Nessun modello restituito dall\'endpoint /models.","importingModelsProgress":"Importazione di {current} di modelli {total}...","foundModelsStartingImport":"Trovati modelli {count}. Avvio dell\'importazione...","importingModelById":"Importazione di {modelId}...","importSuccessCount":"Importazione di {count, plural, one {# model} other {# models}} riuscita!","noNewModelsAddedExisting":"Non sono stati aggiunti nuovi modelli (esistono gi\xe0 tutti).","importDoneCount":"✓ Fatto! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Si \xe8 verificato un errore imprevisto","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"messaggi","responsesPath":"risposte","chatCompletionsPath":"chat/completamenti","add":"Aggiungere","edit":"Modificare","delete":"Eliminare","anthropic":"Antropico","openai":"OpenAI","singleConnectionPerCompatible":"\xc8 consentita una sola connessione per nodo compatibile. Aggiungi un altro nodo se hai bisogno di pi\xf9 connessioni.","connections":"Connessioni","providerProxyTitleConfigured":"Proxy del fornitore: {host}","configured":"configurato","providerProxyConfigureHint":"Configura il proxy per tutte le connessioni di questo provider","providerProxy":"Procura del fornitore","noConnectionsYet":"Nessuna connessione ancora","addFirstConnectionHint":"Aggiungi la tua prima connessione per iniziare","addConnection":"Aggiungi connessione","availableModels":"Modelli disponibili","pageAutoRefresh":"La pagina si aggiorner\xe0 automaticamente...","statusDisabled":"disabilitato","statusConnected":"collegato","statusRuntimeIssue":"problema di esecuzione","statusAuthFailed":"autenticazione non riuscita","statusRateLimited":"tariffa limitata","statusNetworkIssue":"problema di rete","statusTestUnsupported":"test non supportato","statusUnavailable":"non disponibile","statusFailed":"fallito","statusError":"errore","oauthAccount":"Account OAuth","errorTypeRuntime":"Runtime locale","errorTypeUpstreamAuth":"Aut. a monte","errorTypeMissingCredential":"Credenziale mancante","errorTypeRefreshFailed":"Aggiornamento non riuscito","errorTypeTokenExpired":"Il gettone \xe8 scaduto","errorTypeRateLimited":"Tariffa limitata","errorTypeUpstreamUnavailable":"A monte non disponibile","errorTypeNetworkError":"Errore di rete","errorTypeTestUnsupported":"Test non supportato","errorTypeUpstreamError":"Errore a monte","proxySourceGlobal":"Globale","proxySourceProvider":"Fornitore","proxySourceKey":"Chiave","proxyConfiguredBySource":"Proxy ({source}): {host}","autoPriority":"Automatico: {priority}","proxy":"Procura","retestAuthentication":"Ritestare l\'autenticazione","retest":"Ripetere il test","disableConnection":"Disabilita connessione","enableConnection":"Abilita connessione","reauthenticateConnection":"Autenticare nuovamente questa connessione","proxyConfig":"Configurazione proxy","aliasExistsAlert":"L\'alias \\"{alias}\\" esiste gi\xe0. Utilizza un modello diverso o modifica l\'alias esistente.","openRouterAnyModelHint":"OpenRouter supporta qualsiasi modello. Aggiungi modelli e crea alias per un accesso rapido.","modelIdFromOpenRouter":"ID modello (da OpenRouter)","openRouterModelPlaceholder":"antropico/claude-3-opus","customModels":"Modelli personalizzati","customModelsHint":"Aggiungi ID modello non presenti nell\'elenco predefinito. Questi saranno disponibili per il routing.","modelId":"ID modello","customModelPlaceholder":"per esempio. gpt-4.5-turbo","loading":"Caricamento...","removeCustomModel":"Rimuovi il modello personalizzato","noCustomModels":"Nessun modello personalizzato ancora aggiunto.","allSuggestedAliasesExist":"Tutti gli alias suggeriti esistono gi\xe0. Scegli un modello diverso o rimuovi gli alias in conflitto.","failedSaveCustomModel":"Impossibile salvare il modello personalizzato","modelAddedSuccess":"Il modello {modelId} \xe8 stato aggiunto correttamente","failedAddModelTryAgain":"Impossibile aggiungere il modello. Per favore riprova.","failedSaveImportedModel":"Impossibile salvare il modello importato nel database personalizzato","failedImportModelsTryAgain":"Impossibile importare i modelli. Per favore riprova.","failedRemoveModelFromDatabase":"Impossibile rimuovere il modello dal database","modelRemovedSuccess":"Modello rimosso con successo","failedDeleteModelTryAgain":"Impossibile eliminare il modello. Per favore riprova.","compatibleModelsDescription":"Aggiungi manualmente modelli compatibili con {type} o importali dall\'endpoint /models.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"Convalida della chiave API non riuscita. Controlla la chiave e riprova.","addProviderApiKeyTitle":"Aggiungi la chiave API {provider}","checking":"Controllo...","check":"Controllo","valid":"Valido","invalid":"Non valido","creating":"Creazione...","validationChecksAnthropicCompatible":"La convalida controlla {provider} verificando la chiave API.","validationChecksOpenAiCompatible":"La convalida controlla {provider} tramite /models sull\'URL di base.","priorityLabel":"Priorit\xe0","saving":"Risparmio...","save":"Salva","editConnection":"Modifica connessione","accountName":"Nome utente","email":"E-mail","healthCheckMinutes":"Controllo dello stato (min)","healthCheckHint":"Intervallo di aggiornamento del token proattivo. 0 = disabilitato.","failedTestConnection":"Impossibile testare la connessione","failed":"Fallito","leaveBlankKeepCurrentApiKey":"Lascia vuoto per mantenere la chiave API corrente.","editCompatibleTitle":"Modifica {type} Compatibile","compatibleBaseUrlHint":"Utilizza l\'URL di base (che termina con /v1) per la tua API compatibile con {type}.","apiKeyForCheck":"Chiave API (per controllo)","compatibleProdPlaceholder":"{type} Compatibile (prodotto)"},"settings":{"title":"Impostazioni","general":"Generale","security":"Sicurezza","appearance":"Aspetto","routing":"Instradamento","cache":"Cache","resilience":"Resilienza","systemPrompt":"Richiesta di sistema","thinkingBudget":"Pensare al bilancio","proxy":"Procura","pricing":"Prezzi","storage":"Magazzinaggio","policies":"Politiche","ipFilter":"Filtro IP","comboDefaults":"Impostazioni predefinite combinate","fallbackChains":"Catene di ripiego","changePassword":"Cambiare la password","enablePassword":"Abilita password","darkMode":"Modalit\xe0 oscura","lightMode":"Modalit\xe0 luce","systemTheme":"Tema del sistema","enableCache":"Abilita cache","cacheTTL":"TTL della cache","maxCacheSize":"Dimensione massima della cache","clearCache":"Cancella cache","cacheHits":"Riscontri nella cache","cacheMisses":"Mancati cache","hitRate":"Tasso di successo","cacheEntries":"Voci della cache","circuitBreaker":"Interruttore automatico","retryPolicy":"Riprova la policy","maxRetries":"Numero massimo di tentativi","retryDelay":"Ritardo riprova","timeoutMs":"Timeout (ms)","enableSystemPrompt":"Abilita richiesta di sistema","systemPromptText":"Testo della richiesta di sistema","enableThinking":"Abilita il pensiero","maxThinkingTokens":"Gettoni pensiero massimo","enableProxy":"Abilita proxy","proxyUrl":"URL proxy","pricingRates":"Formato delle tariffe dei prezzi","currentPricing":"Panoramica dei prezzi attuali","loadingPricing":"Caricamento dati sui prezzi...","noPricing":"Nessun dato sui prezzi disponibile","input":"Ingresso","output":"Produzione","cached":"Memorizzato nella cache","reasoning":"Ragionamento","cacheCreation":"Creazione della cache","customPricing":"Prezzi personalizzati","databaseSize":"Dimensioni del database","backupDb":"Backup della banca dati","restoreDb":"Ripristina database","exportData":"Esporta dati","importData":"Importa dati","clearData":"Cancella tutti i dati","clearDataConfirm":"Ci\xf2 eliminer\xe0 definitivamente tutti i dati. Sei sicuro?","enableRequestLogs":"Abilita i registri delle richieste","logRetention":"Conservazione del registro","ipWhitelist":"Lista bianca IP","ipBlacklist":"Lista nera IP","addIP":"Aggiungi IP","savedSuccessfully":"Impostazioni salvate con successo","ai":"AI","advanced":"Avanzato","localMode":"Modalit\xe0 locale: tutti i dati archiviati sul computer","settingsSectionsAria":"Sezioni Impostazioni","switchThemes":"Passa dal tema chiaro a quello scuro e viceversa","themeSelectionAria":"Selezione del tema","themeLight":"Leggero","themeDark":"Buio","themeSystem":"Sistema","hideHealthLogs":"Nascondi i registri di controllo dello stato","hideHealthLogsDesc":"Quando \xe8 attivo, elimina i messaggi [HealthCheck] nella console del server","promptCache":"Cache dei suggerimenti","flushCache":"Svuota cache","flushing":"Lavaggio…","size":"Misurare","hits":"Colpi","evictions":"Sfratti","loadingCacheStats":"Caricamento delle statistiche della cache…","globalProxy":"Procura globale","globalProxyDesc":"Configura un proxy in uscita globale per tutte le chiamate API. Singoli provider, combinazioni e chiavi possono sovrascrivere questo aspetto.","noGlobalProxy":"Nessun proxy globale configurato","globalLabel":"Globale","configure":"Configura","globalSystemPrompt":"Prompt del sistema globale","systemPromptDesc":"Inserito in tutte le richieste a livello proxy","saved":"Salvato","systemPromptPlaceholder":"Inserisci la richiesta di sistema per l\'inserimento in tutte le richieste...","systemPromptHint":"Questo prompt viene anteposto al messaggio di sistema di ogni richiesta. Utilizzare per istruzioni globali, linee guida sulla sicurezza o regole di formattazione della risposta.","chars":"{count} caratteri","thinkingBudgetTitle":"Pensare al bilancio","thinkingBudgetDesc":"Controlla l\'utilizzo dei token di ragionamento dell\'intelligenza artificiale in tutte le richieste","passthrough":"Passante","passthroughDesc":"Nessun cambiamento: il cliente controlla il budget","auto":"Auto","autoDesc":"Elimina ogni configurazione pensante: lascia decidere al provider","custom":"Costume","customDesc":"Imposta un budget token fisso per tutte le richieste","adaptive":"Adattivo","adaptiveDesc":"Ridimensiona il budget in base alla complessit\xe0 della richiesta","effortNone":"Nessuno (0 token)","effortLow":"Basso (token da 1.000)","effortMedium":"Medio (token da 10.000)","effortHigh":"Alto (token 128K)","tokenBudget":"Bilancio simbolico","tokens":"gettoni","baseEffortLevel":"Livello di impegno base","adaptiveHint":"La modalit\xe0 adattiva si adatta a questo livello di base in base al conteggio dei messaggi, all\'utilizzo dello strumento e alla lunghezza dei prompt.","requireLogin":"Richiedi l\'accesso","requireLoginDesc":"Quando \xe8 attivo, il dashboard richiede la password. Quando OFF, accedi senza login.","currentPassword":"password attuale","enterCurrentPassword":"Inserisci la password attuale","newPassword":"Nuova parola d\'ordine","enterNewPassword":"Inserisci la nuova password","confirmPassword":"Conferma nuova password","confirmPasswordPlaceholder":"Conferma la nuova password","passwordsNoMatch":"Le password non corrispondono","passwordUpdated":"Password aggiornata con successo","failedUpdatePassword":"Impossibile aggiornare la password","errorOccurred":"Si \xe8 verificato un errore","updatePassword":"Aggiorna password","setPassword":"Imposta password","apiEndpointProtection":"Protezione endpoint API","requireAuthModels":"Richiedi la chiave API per /models","requireAuthModelsDesc":"Quando \xe8 attivo, l\'endpoint /v1/models restituisce 404 per le richieste non autenticate. Impedisce il rilevamento del modello da parte di utenti non autorizzati.","blockedProviders":"Provider bloccati","blockedProvidersDesc":"Nascondi provider specifici dalla risposta /v1/models. I fornitori bloccati non verranno visualizzati negli elenchi dei modelli.","providersBlocked":"{count} provider bloccati da /models","blockProviderTitle":"Blocca {provider}","unblockProviderTitle":"Sblocca {provider}","routingStrategy":"Strategia di instradamento","fillFirst":"Riempi prima","fillFirstDesc":"Utilizza gli account in ordine di priorit\xe0","roundRobin":"Girotondo","roundRobinDesc":"Scorri tutti gli account","p2c":"P2C","p2cDesc":"Scegline 2 a caso, usa quello pi\xf9 sano","random":"Casuale","randomDesc":"Account casuale per ogni richiesta","leastUsed":"Meno usato","leastUsedDesc":"Scegli l\'account utilizzato meno di recente","costOpt":"Opzione costo","costOptDesc":"Preferisci il conto pi\xf9 economico disponibile","stickyLimit":"Limite appiccicoso","stickyLimitDesc":"Chiamate per account prima del cambio","modelAliases":"Alias del modello","modelAliasesDesc":"Modelli di caratteri jolly per rimappare i nomi dei modelli • Utilizzare * e ?","aliasPatternPlaceholder":"claude-sonetto-*","aliasTargetPlaceholder":"claude-sonetto-4-20250514","pattern":"Modello","targetModel":"Modello obiettivo","add":"+ Aggiungi","session":"Sessione","sessionDetailsAria":"Dettagli della sessione","status":"Stato","authenticated":"Autenticato","guest":"Ospite","loginTime":"Orario di accesso","sessionAge":"Et\xe0 della sessione","browser":"Navigatore","clearLocalData":"Cancella dati locali","logout":"Esci","clearLocalDataConfirm":"Cancellare tutti i dati locali? Ci\xf2 ripristiner\xe0 le tue preferenze.","unknown":"Sconosciuto","systemActor":"sistema","ipAccessControl":"Controllo dell\'accesso IP","ipAccessControlDesc":"Blocca o consenti indirizzi IP specifici","ipModeDisabled":"Disabilitato","ipModeBlacklist":"Lista nera","ipModeWhitelist":"Lista bianca","ipModeWhitelistPriority":"Priorit\xe0 WL","addIpAddress":"Aggiungi indirizzo IP","ipAddressPlaceholder":"192.168.1.0/24 o 10.0.*.*","block":"+ Blocca","allow":"+ Consenti","blocked":"Bloccato ({count})","allowed":"Consentito ({count})","temporaryBans":"Divieti temporanei ({count})","minLeft":"{min}m rimasti","auditLog":"Registro di controllo","searchAuditLogs":"Cerca nei log di controllo...","failedLoadAuditLog":"Impossibile caricare il registro di controllo","noAuditEvents":"Nessun evento di controllo trovato","action":"Azione","actor":"Attore","details":"Dettagli","time":"Tempo","fallbackChainsTitle":"Catene di ripiego","fallbackChainsDesc":"Definire l\'ordine di fallback del fornitore per modello","addChain":"+ Aggiungi catena","modelName":"Nome del modello","modelNamePlaceholder":"claude-sonetto-4-20250514","providersCommaSeparated":"Fornitori (separati da virgole, in ordine di priorit\xe0)","providersCommaSeparatedPlaceholder":"antropico, openai, gemelli","createChain":"Crea catena","noFallbackChains":"Nessuna catena di fallback","noFallbackChainsDesc":"Creare una catena per definire l\'ordine di fallback del provider per un modello.","loadingFallbackChains":"Caricamento catene di fallback...","deleteChainConfirm":"Eliminare la catena di fallback per \\"{model}\\"?","chainCreated":"Catena creata per {model}","chainDeleted":"Catena eliminata per {model}","failedCreateChain":"Impossibile creare la catena","failedDeleteChain":"Impossibile eliminare la catena","deleteChain":"Elimina catena","fillModelAndProviders":"Inserisci il nome del modello e i fornitori","addAtLeastOneProvider":"Aggiungi almeno un fornitore","comboDefaultsTitle":"Impostazioni predefinite combinate","globalComboConfig":"Configurazione combinata globale","defaultStrategy":"Strategia predefinita","defaultStrategyDesc":"Applicato a nuove combo senza strategia esplicita","comboStrategyAria":"Strategia combinata","priority":"Priorit\xe0","weighted":"Ponderato","maxRetriesLabel":"Numero massimo di tentativi","retryDelayLabel":"Ritardo tentativi (ms)","timeoutLabel":"Timeout (ms)","healthCheck":"Controllo dello stato di salute","healthCheckDesc":"Verifica preventiva la disponibilit\xe0 del fornitore","trackMetrics":"Tieni traccia delle metriche","trackMetricsDesc":"Registra i parametri delle richieste per combo","providerOverrides":"Il fornitore esegue l\'override","providerOverridesDesc":"Sostituisci timeout e tentativi per provider. Le impostazioni del provider sovrascrivono le impostazioni predefinite globali.","providerMaxRetriesAria":"{provider} numero massimo di tentativi","providerTimeoutAria":"{provider} timeout ms","removeProviderOverrideAria":"Rimuovi la sostituzione {provider}","newProviderNamePlaceholder":"per esempio. google, apri...","newProviderNameAria":"Nuovo nome del fornitore","retries":"riprova","ms":"SM","saveComboDefaults":"Salva impostazioni predefinite combo","maxNestingDepth":"Profondit\xe0 massima di nidificazione","concurrencyPerModel":"Concorrenza/modello","queueTimeout":"Timeout coda (ms)","providerProfiles":"Profili dei fornitori","providerProfilesDesc":"Impostazioni di resilienza separate per i provider OAuth (basati sulla sessione) e API Key (misurati). I fornitori di OAuth hanno soglie pi\xf9 rigide a causa di limiti di velocit\xe0 inferiori.","oauthProviders":"Provider OAuth","apiKeyProviders":"Fornitori di chiavi API","transientCooldown":"Recupero temporaneo","rateLimitCooldown":"Recupero del limite di velocit\xe0","maxBackoffLevel":"Livello massimo di backoff","cbThreshold":"Soglia CB","cbResetTime":"Tempo di ripristino dell\'interruttore","rateLimiting":"Limitazione della velocit\xe0","rateLimitingDesc":"I fornitori di chiavi API sono automaticamente limitati in termini di velocit\xe0 con impostazioni predefinite sicure. I limiti vengono appresi dalle intestazioni di risposta e si adattano nel tempo.","defaultSafetyNet":"Rete di sicurezza predefinita","rpm":"giri al minuto","minGap":"Divario minimo","maxConcurrent":"Massimo simultaneo","activeLimiters":"Limitatori attivi","noActiveLimiters":"Nessun limitatore di velocit\xe0 attivo ancora.","reservoir":"Serbatoio","running":"Corsa","queued":"In coda","circuitBreakers":"Interruttori automatici","breakerStateClosed":"Chiuso","breakerStateOpen":"Aprire","breakerStateHalfOpen":"Semiaperto","tripped":"{count} \xe8 inciampato","healthy":"{count} sano","resetAll":"Reimposta tutto","noCircuitBreakers":"Nessun interruttore ancora attivo. Vengono creati automaticamente quando le richieste passano attraverso la pipeline combinata.","failures":"{count} errore/i","policiesLocked":"Policy e identificatori bloccati","allOperational":"Tutti i sistemi sono operativi: nessun blocco o interruttore scattato","loadingPolicies":"Caricamento policy...","lockedIdentifiers":"Identificatori bloccati","unlockedIdentifier":"Sbloccato: {identifier}","sinceDate":"dal {date}","forceUnlock":"Sblocco forzato","unlocking":"Sblocco...","failedUnlock":"Impossibile sbloccare","failedLoadWithStatus":"Impossibile caricare: {status}","failedLoadResilience":"Impossibile caricare lo stato di resilienza","saveFailed":"Salvataggio non riuscito","resetFailed":"Reimpostazione non riuscita","loadingResilience":"Caricamento dello stato di resilienza...","retry":"Riprova","systemStorage":"Sistema e archiviazione","allDataLocal":"Tutti i dati archiviati localmente sul tuo computer","databasePath":"Percorso del database","exportDatabase":"Esporta banca dati","exportAll":"Esporta tutto (.tar.gz)","importDatabase":"Importa banca dati","confirmDbImport":"Conferma l\'importazione del database","confirmDbImportDesc":"Questo sostituir\xe0 tutti i dati correnti con il contenuto di {file}. Un backup verr\xe0 creato automaticamente prima dell\'importazione.","yesImport":"S\xec, importa","lastBackup":"Ultimo backup","noBackupYet":"Nessun backup ancora","backupNow":"Esegui il backup ora","backupRestore":"Backup e ripristino","viewBackups":"Visualizza backup","hide":"Nascondere","backupRetentionDesc":"Gli snapshot del database vengono creati automaticamente prima del ripristino e ogni 15 minuti in caso di modifica dei dati. Conservazione: 24 ore su 24 + 30 backup giornalieri con rotazione intelligente.","loadingBackups":"Caricamento dei backup...","noBackupsYet":"Nessun backup ancora disponibile. I backup verranno creati automaticamente quando i dati cambiano.","backupsAvailable":"{count} backup disponibili","refresh":"Aggiorna","confirm":"Confermare?","yes":"S\xcc","no":"NO","restore":"Ripristinare","invalidFileType":"Tipo di file non valido. Sono accettati solo file .sqlite.","exportFailed":"Esportazione non riuscita","exportFailedWithError":"Esportazione non riuscita: {error}","fullExportFailedWithError":"Esportazione completa non riuscita: {error}","backupCreated":"Backup creato: {file}","restoreSuccess":"Restaurato! Connessioni {connections}, nodi {nodes}, combo {combos}, chiavi API {apiKeys}.","importSuccess":"Database importato! Connessioni {connections}, nodi {nodes}, combo {combos}, chiavi API {apiKeys}.","justNow":"proprio adesso","minutesAgo":"{count}m fa","hoursAgo":"{count}h fa","daysAgo":"{count}d fa","backupReasonManual":"manuale","backupReasonPreRestore":"pre-ripristino","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Nessuna modifica dall\'ultimo backup","backupFailed":"Backup non riuscito","restoreFailed":"Ripristino non riuscito","importFailed":"Importazione non riuscita","errorDuringRestore":"Si \xe8 verificato un errore durante il ripristino","errorDuringImport":"Si \xe8 verificato un errore durante l\'importazione","modelPricing":"Prezzi del modello","modelPricingDesc":"Configura le tariffe per modello • Tutte le tariffe in token da $/1 milione","providers":"Fornitori","registry":"Registro","priced":"Prezzo","searchProvidersModels":"Cerca fornitori o modelli...","showAll":"Mostra tutto","noProvidersMatch":"Nessun fornitore corrisponde alla tua ricerca.","howPricingWorks":"Come funzionano i prezzi","cacheWrite":"Scrittura nella cache","unsaved":"non salvato","resetDefaults":"Ripristina le impostazioni predefinite","saveProvider":"Salva fornitore","saving":"Risparmio...","model":"Modello","models":"modelli","moreProviders":"{count} altri fornitori","withPricing":"con i prezzi configurati","policiesCircuitBreakers":"Politiche e interruttori automatici","activeIssuesDetected":"Rilevati problemi attivi","off":"Spento","resetPricingConfirm":"Ripristinare tutti i prezzi per {provider} ai valori predefiniti?","pricingDescInput":"Input: token inviati al modello","pricingDescOutput":"Output: token generati","pricingDescCached":"Memorizzato nella cache: input riutilizzato (~50% della velocit\xe0 di input)","pricingDescReasoning":"Ragionamento: gettoni pensanti (ricade nell\'Output)","pricingDescCacheWrite":"Scrittura cache: creazione di voci cache (ricade su Input)","pricingDescFormula":"Costo = (input \xd7 input_rate) + (output \xd7 output_rate) + (cache \xd7 cached_rate) per milione di token.","pricingSettingsTitle":"Impostazioni dei prezzi","totalModels":"Modelli totali","active":"Attivo","costCalculation":"Calcolo dei costi","costCalculationDesc":"I costi vengono calcolati in base all\'utilizzo dei token e alle tariffe configurate per ciascun modello.","pricingFormat":"Formato dei prezzi","pricingFormatDesc":"Tutte le tariffe sono in token $/1 milione (dollari per milione di token).","tokenTypes":"Tipi di token","inputTokenDesc":"Token di richiesta standard","outputTokenDesc":"Token di completamento/risposta","cachedTokenDesc":"Token di input memorizzati nella cache (in genere il 50% della velocit\xe0 di input)","reasoningTokenDesc":"Segnalini ragionamento/pensiero speciali (ripiego al tasso di produzione)","cacheCreationTokenDesc":"Token utilizzati per creare voci nella cache (fallback alla velocit\xe0 di input)","customPricingNote":"Puoi sostituire i prezzi predefiniti per modelli specifici. Le sostituzioni personalizzate hanno la priorit\xe0 sui prezzi rilevati automaticamente.","editPricing":"Modifica prezzi","viewFullDetails":"Visualizza i dettagli completi","modelAliasesTitle":"Alias dei Modelli","addCustomAlias":"Aggiungi Alias Personalizzato","deprecatedModelId":"ID modello deprecato","newModelId":"Nuovo ID modello","customAliases":"Alias Personalizzati","builtInAliases":"Alias Integrati","backgroundDegradationTitle":"Degradazione Attivit\xe0 in Background","backgroundDegradationDesc":"Rileva automaticamente le attivit\xe0 in background (titoli, riassunti) e reindirizza a modelli pi\xf9 economici","enableDegradation":"Abilita Degradazione in Background","enableDegradationHint":"Quando abilitato, le attivit\xe0 in background come generazione titoli e riassunti vengono reindirizzate automaticamente a modelli pi\xf9 economici","tasksDetected":"Attivit\xe0 rilevate","degradationMap":"Mappa di Degradazione dei Modelli","premiumModel":"Modello premium","cheapModel":"Modello economico","detectionPatterns":"Pattern di Rilevamento","newPattern":"es: \\"genera un titolo\\""},"translator":{"title":"Traduttore","metaTitle":"Parco giochi per traduttori | OmniRoute","metaDescription":"Eseguire il debug, testare e visualizzare le traduzioni del formato API tra fornitori","playgroundTitle":"Parco giochi per traduttori","playground":"Parco giochi","realtime":"Attivit\xe0 di traduzione in tempo reale","chatTester":"Tester della chat","testBench":"Banco di prova","liveMonitor":"Monitoraggio dal vivo","modeDescriptionPlayground":"Incolla qualsiasi corpo della richiesta API e guarda come OmniRoute lo traduce tra i formati del provider (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)","modeDescriptionChatTester":"Invia richieste di chat reali tramite OmniRoute e controlla l\'intero percorso di andata e ritorno: input, richiesta tradotta, risposta del fornitore e output tradotto.","modeDescriptionTestBench":"Esegui scenari predefiniti e confronta la compatibilit\xe0 tra provider e modelli.","modeDescriptionLiveMonitor":"Guarda gli eventi di traduzione in tempo reale mentre le richieste fluiscono attraverso OmniRoute.","modeDescriptionFallback":"Eseguire il debug, testare e visualizzare come OmniRoute traduce le richieste API tra provider.","recentTranslations":"Traduzioni recenti","noTranslations":"Nessuna traduzione ancora","source":"Fonte","target":"Bersaglio","time":"Tempo","model":"Modello","status":"Stato","latency":"Latenza","totalTranslations":"Traduzioni totali","successful":"Riuscito","errors":"Errori","avgLatency":"Latenza media","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Live: aggiornamento automatico","paused":"In pausa","eventsAppearHint":"Gli eventi di traduzione vengono visualizzati qui mentre le richieste passano attraverso OmniRoute. Utilizza uno di questi metodi per generare eventi:","chatTesterTab":"Scheda Tester chat","testBenchTab":"Scheda Banco di prova","externalApiCalls":"Chiamate API esterne","ideCliIntegrations":"Integrazioni IDE/CLI","inMemoryNote":"Nota: gli eventi vengono archiviati in memoria e ripristinati al riavvio del server.","ok":"OK","errorShort":"ERR","formatConverter":"Convertitore di formato","formatConverterDescription":"Incolla o digita il corpo della richiesta JSON. Il traduttore rilever\xe0 automaticamente il formato di origine e lo convertir\xe0 nel formato di destinazione. Utilizzalo per eseguire il debug del modo in cui OmniRoute traduce le richieste tra formati (OpenAI ↔ Claude ↔ Gemini ↔ API delle risposte).","input":"Ingresso","output":"Produzione","auto":"Auto","swapFormats":"Scambia formati","translateAction":"Tradurre","clear":"Chiaro","inputPlaceholder":"Incolla qui il corpo della richiesta o seleziona un modello qui sotto...","exampleTemplates":"Modelli di esempio","exampleTemplatesHint":"— Fare clic per caricare","templateLoadHint":"Il modello carica la richiesta nel formato {format}. Cambia il formato di origine per caricare in un formato diverso.","compatibilityTester":"Tester di compatibilit\xe0","compatibilityReport":"Rapporto sulla compatibilit\xe0","testBenchDescription":"Esegui scenari predefiniti (Chat semplice, Chiamata di strumenti, ecc.) per verificare la compatibilit\xe0 della traduzione e del provider. Seleziona un formato di origine e un provider di destinazione, quindi esegui tutti i test per visualizzare una percentuale di compatibilit\xe0. Usalo per scoprire quali funzionalit\xe0 funzionano tra i diversi fornitori.","targetProvider":"Fornitore di destinazione","runAllTests":"Esegui tutti i test","runTest":"Esegui prova","reRun":"Rieseguire","running":"Corsa...","passed":"passato","failed":"fallito","passedIconLabel":"✅Superato","chunks":"pezzi","scenarioSimpleChat":"Chat semplice","scenarioToolCalling":"Chiamata dello strumento","scenarioMultiTurn":"Multigiro","scenarioThinking":"Pensiero","scenarioSystemPrompt":"Richiesta di sistema","scenarioStreaming":"Streaming","templateNames":{"simple-chat":"Chat semplice","tool-calling":"Chiamata dello strumento","multi-turn":"Multigiro","thinking":"Pensiero","system-prompt":"Richiesta di sistema","streaming":"Streaming"},"templateDescriptions":{"simple-chat":"Messaggio di testo di base","tool-calling":"Invocazione di funzioni/strumenti","multi-turn":"Conversazione con la storia","thinking":"Pensiero/ragionamento esteso","system-prompt":"Istruzioni di sistema complesse","streaming":"Richiesta di streaming SSE"},"templatePayloads":{"simpleChat":{"system":"Sei un assistente utile.","userGreeting":"Ciao! Come stai oggi?"},"toolCalling":{"userWeather":"Che tempo fa a San Paolo?","toolDescription":"Ottieni il meteo attuale per una localit\xe0","cityNameDescription":"Nome della citt\xe0"},"multiTurn":{"system":"Sei un assistente di codifica.","userInitial":"Scrivi una funzione per ordinare un array in Python.","assistantExample":"Ecco una semplice funzione di ordinamento:\\n\\n```pitone\\ndef sort_array(arr):\\n restituire ordinato(arr)\\n```","userFollowUp":"Ora ordinalo in ordine decrescente."},"thinking":{"question":"Qual \xe8 la somma dei primi 100 numeri primi?"},"systemPrompt":{"systemInstruction":"Sei un ingegnere informatico senior specializzato in sistemi distribuiti. Rispondi alle domande in modo conciso utilizzando le migliori pratiche del settore. Fornisci sempre esempi di codice quando pertinente. Formatta le tue risposte utilizzando Markdown.","question":"Come si implementa un modello di interruttore automatico?"},"streaming":{"prompt":"Raccontami una breve storia su un robot che impara a dipingere."}},"openaiCompatibleLabel":"Compatibile con OpenAI","anthropicCompatibleLabel":"Compatibile antropico","noTemplateForFormat":"Nessun modello per questo formato","translationFailed":"Traduzione non riuscita: {error}","pipelineDebugger":"Debug della pipeline","translationPipeline":"Pipeline di traduzione","pipelineVisualization":"Visualizzazione della pipeline","pipelineVisualizationHint":"Invia un messaggio per vedere come scorre la tua richiesta attraverso rilevamento → traduzione → chiamata al fornitore.","chatTesterDescription":"Invia messaggi in un formato client specifico e ispeziona ogni passaggio della pipeline di traduzione.","chatTesterFlow":"Richiesta client → Rilevamento formato → OpenAI Intermediate → Formato provider → Risposta","clickStepToInspect":"Fare clic su qualsiasi passaggio per controllare i dati in quella fase.","clientFormat":"Formato cliente","provider":"Fornitore","modelPlaceholder":"Seleziona o digita il nome di un modello...","sendMessageToSeePipeline":"Invia un messaggio per vedere la pipeline di traduzione","chatMessageHintPrefix":"Il tuo messaggio sar\xe0 formattato come a","chatMessageHintSuffix":"richiesta, tradotta attraverso la pipeline e inviata al fornitore selezionato.","youWithFormat":"Tu ({format})","assistant":"Assistente","typeMessage":"Digita un messaggio...","send":"Inviare","clientRequest":"Richiesta del cliente","clientRequestDescription":"Il corpo della richiesta cos\xec come lo invierebbe il tuo cliente","formatDetected":"Formato rilevato","formatDetectedDescription":"OmniRoute rileva automaticamente il formato API dalla struttura della richiesta","openaiIntermediate":"OpenAI intermedio","openaiIntermediateDescription":"Tutti i formati vengono prima normalizzati nel formato OpenAI (il bridge universale)","providerFormat":"Formato del fornitore","providerFormatDescription":"Il formato OpenAI \xe8 tradotto nel formato nativo del provider","providerResponse":"Risposta del fornitore","providerResponseRawDescription":"La risposta non elaborata dall\'API del provider","providerResponseSseDescription":"Il flusso SSE non elaborato dall\'API del provider","unexpectedError":"Si \xe8 verificato un errore imprevisto","error":"Errore","errorMessage":"Errore: {message}","requestFailed":"Richiesta non riuscita","noTextExtracted":"(Nessun testo estratto)","liveMonitorDescriptionPrefix":"Mostra gli eventi di traduzione mentre le chiamate API fluiscono attraverso OmniRoute. Gli eventi provengono dal buffer in memoria (si ripristina al riavvio). Utilizzo","liveMonitorDescriptionSuffix":"o chiamate API esterne per generare eventi."},"usage":{"title":"Utilizzo","loggerTab":"Registratore","proxyTab":"Procura","budgetManagement":"Gestione del bilancio","budgetSaved":"Limiti di budget salvati","budgetSaveFailed":"Impossibile salvare il budget","loadingBudgetData":"Caricamento dei dati del budget...","noApiKeysTitle":"Nessuna chiave API","noApiKeysDescription":"Aggiungi prima le chiavi API per impostare i limiti di budget.","apiKey":"Chiave API","todaysSpend":"La spesa di oggi","thisMonth":"Questo mese","setLimits":"Imposta limiti","dailyLimitUsd":"Limite giornaliero (USD)","monthlyLimitUsd":"Limite mensile (USD)","warningThresholdPercent":"Soglia di avviso (%)","dailyLimitPlaceholder":"per esempio. 5.00","monthlyLimitPlaceholder":"per esempio. 50,00","warningThresholdPlaceholder":"80","saveLimits":"Salva limiti","budgetOk":"Budget OK: {remaining} rimanente","budgetExceeded":"Budget superato: le richieste potrebbero essere bloccate","totalRequests":"Richieste totali","noDataYet":"Nessun dato ancora","latency":"Latenza","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","promptCache":"Cache dei suggerimenti","systemHealth":"Salute del sistema","entries":"Voci","activeCount":"{count} attivo","openCircuitBreakersDetected":"Rilevati interruttori automatici aperti","hitRate":"Tasso di successo","hitsMisses":"Colpi / Mancati","circuitBreakers":"Interruttori automatici","lockedIPs":"IP bloccati","lockoutsAutoRefreshHint":"Blocchi del limite di velocit\xe0 per modello • Aggiornamento automatico 10 secondi","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} rimasto","howItWorks":"Come funziona","howItWorksSubtitle":"Scopri come le valutazioni convalidano le tue risposte LLM","define":"Definire","defineStepDescription":"Crea casi di test con prompt di input e criteri di output previsti utilizzando strategie come contiene, regex o corrispondenza esatta.","run":"Correre","runStepDescription":"Esegui casi di test sugli endpoint LLM tramite OmniRoute. Ogni caso viene inviato come una vera richiesta API.","evaluate":"Valutare","evaluateStepDescription":"Le risposte vengono confrontate con i criteri attesi. Visualizza il superamento/fallimento per ciascun caso con parametri di latenza e feedback dettagliato.","evalSuites":"Suite di valutazione","evalSuitesHint":"Fai clic su una suite per visualizzare i casi di test, quindi esegui per valutare i tuoi endpoint LLM","evalsLoading":"Caricamento suite di valutazione...","noEvalSuitesFound":"Nessuna suite di valutazione trovata","noEvalSuitesDescription":"Le suite di valutazione possono essere definite tramite l\'API o nel codice. Testano gli output del modello rispetto ai risultati attesi utilizzando strategie come contiene, regex, corrispondenza esatta e funzioni personalizzate.","columnCase":"Caso","columnStatus":"Stato","columnLatency":"Latenza","columnDetails":"Dettagli","columnModel":"Modello","columnStrategy":"Strategia","columnExpected":"Previsto","statsSuites":"Suite","statsTestCases":"Casi di prova","statsModels":"Modelli","statsCoverage":"Copertura","statsStrategiesCount":"{count} strategie","evaluationStrategies":"Strategie di valutazione","modelsUnderTest":"Modelli in prova","searchSuitesPlaceholder":"Cerca suite...","passSuffix":"passaggio","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"Esegui valutazione","runningProgress":"In esecuzione {current}/{total}...","passRate":"tasso di passaggio","summaryBreakdown":"{passed} superato \xb7 {failed} fallito \xb7 {total} totale","passedIconLabel":"✅Superato","failedIconLabel":"❌ Fallito","detailsContains":"Contiene: \\"{term}\\"","detailsRegex":"Regex: {pattern}","detailsExpected":"Previsto: \\"{expected}\\"","noResultsYet":"Nessun risultato ancora","testCasesCount":"Casi di test ({count})","noTestCasesDefined":"Nessun caso di test definito","runEvalHint":"Fai clic su \\"Esegui valutazione\\" per eseguire tutti i casi sull\'endpoint LLM. Ogni test invia una richiesta reale tramite OmniRoute.","notifyNoTestCases":"Nessun caso di test definito per questa suite","notifyAllCasesPassed":"Tutti i casi {total} sono stati superati ✅","notifySomeCasesFailed":"{passed}/{total} superato, {failed} fallito","notifyEvalRunFailed":"L\'esecuzione di valutazione non \xe8 riuscita","notifyEvalTitle":"Valutazione: {name}","modelEvals":"Valutazioni dei modelli","evalsHeroDescription":"Testa e convalida i tuoi endpoint LLM eseguendo suite di valutazione predefinite. Ogni suite contiene casi di test che inviano richieste reali tramite OmniRoute e confrontano le risposte con i criteri previsti, aiutandoti a rilevare regressioni, confrontare modelli e garantire la qualit\xe0 delle risposte tra i fornitori.","qualityValidation":"Convalida della qualit\xe0","modelComparison":"Confronto dei modelli","regressionDetection":"Rilevamento della regressione","latencyBenchmarks":"Benchmark di latenza","modelLockouts":"Blocchi del modello","noLockouts":"Nessun modello attualmente bloccato","activeSessions":"Sessioni attive","noSessions":"Nessuna sessione attiva","sessionsHint":"Le sessioni vengono visualizzate mentre le richieste passano attraverso il proxy","sessionsTrackedHint":"Tracciato tramite richiesta di impronta digitale • Aggiornamento automatico 5 s","session":"Sessione","age":"Et\xe0","requests":"Richieste","connection":"Connessione","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Limiti del fornitore","noProviders":"Nessun provider connesso","connectProvidersForQuota":"Connettiti ai provider con OAuth per monitorare i limiti di quota e l\'utilizzo dell\'API.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(filtrato da {count})","autoRefresh":"Aggiornamento automatico","refreshAll":"Aggiorna tutto","loadingQuotas":"Caricamento...","account":"Account","modelQuotas":"Quote modello","lastUsed":"Ultimo utilizzo","actions":"Azioni","refreshQuota":"Aggiorna quota","today":"Oggi","tomorrow":"Domani","dayTimeFormat":"{day}, {time}","inDuration":"in {duration}","notApplicable":"N / A","rawPlanWithValue":"Piano grezzo: {plan}","noPlanFromProvider":"Nessun piano dal fornitore","noQuotaData":"Nessun dato sulle quote","noQuotaDataAvailable":"Nessun dato sulle quote disponibile","noAccountsForTierFilter":"Nessun account trovato per il filtro del livello","tierAll":"Tutto","tierEnterprise":"Impresa","tierTeam":"Squadra","tierBusiness":"Attivit\xe0 commerciale","tierUltra":"Ultra","tierPro":"Pro","tierPlus":"Pi\xf9","tierFree":"Gratuito","tierUnknown":"Sconosciuto"},"modals":{"waitingAuth":"In attesa di autorizzazione","verificationUrl":"URL di verifica","yourCode":"Il tuo codice","remoteAccess":"Accesso remoto:","connectedSuccess":"Connesso con successo!","connectionFailed":"Connessione non riuscita","chooseAuthMethod":"Scegli il tuo metodo di autenticazione:","awsBuilderId":"ID del generatore AWS","awsIamIdentity":"Centro identit\xe0 AWS IAM","googleAccount":"Account Google","githubAccount":"Conto GitHub","importToken":"Importa gettone","pasteToken":"Incolla il token di aggiornamento da Kiro IDE.","awsRegion":"Regione AWS","autoDetecting":"Token di rilevamento automatico...","readingFromCache":"Lettura dalla cache AWS SSO","readingFromCursor":"Lettura dal database Cursor IDE","initializing":"Inizializzazione...","pricingConfig":"Configurazione dei prezzi","loadingPricing":"Caricamento dati sui prezzi...","pricingRatesFormat":"Formato delle tariffe dei prezzi","noPricingData":"Nessun dato sui prezzi disponibile","noModelsFound":"Nessun modello trovato"},"loggers":{"allProviders":"Tutti i fornitori","allModels":"Tutti i modelli","allAccounts":"Tutti i conti","allApiKeys":"Tutte le chiavi API","allTypes":"Tutti i tipi","allLevels":"Tutti i livelli","modelAZ":"Modello dalla A alla Z","modelZA":"Modello Z-A","loadingLogs":"Caricamento registri...","loadingProxyLogs":"Caricamento dei registri proxy...","noLogEntries":"Nessuna voce di registro trovata","noPayloadData":"Nessun dato sul carico utile disponibile per questa voce di registro.","proxyEvent":"Evento proxy","proxy":"Procura","level":"Livello","directNative":"Diretto (nativo)","combo":"Combinato","inputTokens":"IO:","outputTokens":"O:"},"stats":{"usageOverview":"Panoramica sull\'utilizzo","outputTokens":"Gettoni di uscita","totalCost":"Costo totale","usageByModel":"Utilizzo per modello","usageByAccount":"Utilizzo per account","failedToLoad":"Impossibile caricare le statistiche sull\'utilizzo.","tokenHealth":"Gettone di salute","totalOAuth":"OAuth totale","healthy":"Salutare","warning":"Avvertimento","errored":"Errore","lastCheck":"Ultimo controllo","noData":"Nessun dato","share":"Condividere","unableToLoad":"Impossibile caricare le metriche di sistema","product":"Prodotto","resources":"Risorse","company":"Azienda"},"auth":{"welcome":"Benvenuto","signIn":"Registrazione","enterPassword":"Inserisci la tua password per continuare","password":"Password","unifiedProxy":"Proxy API AI unificato","unifiedAiApiProxy":"Proxy API AI unificato","unifiedAiApiProxyDesc":"Instrada le richieste a pi\xf9 fornitori di intelligenza artificiale attraverso un singolo endpoint. Bilanciamento del carico, failover e monitoraggio dell\'utilizzo integrati.","passwordNotEnabled":"La protezione tramite password non \xe8 abilitata","loading":"Caricamento...","invalidPassword":"Password non valida","errorOccurredRetry":"Si \xe8 verificato un errore. Per favore riprova.","configureInstance":"Configura la tua istanza OmniRoute","runOnboardingWizard":"Esegui la procedura guidata di onboarding per impostare la tua password e connettere il tuo primo provider AI.","startOnboarding":"Inizia l\'onboarding","secureYourInstance":"Proteggi la tua istanza","setPasswordDescription":"Imposta una password per proteggere la tua dashboard e proteggere i tuoi endpoint API da accessi non autorizzati.","configurePassword":"Configura password","continue":"Continuare","windowWillClose":"Questa finestra si chiuder\xe0 automaticamente...","closeTabNow":"Puoi chiudere questa scheda ora.","copyUrlManual":"Copia l\'URL dalla barra degli indirizzi e incollalo nell\'applicazione.","accessDeniedDescription":"Non hai l\'autorizzazione per accedere a questa risorsa. Controlla la tua chiave API o contatta l\'amministratore.","goToDashboard":"Vai alla dashboard","featureMultiProviderTitle":"Multi-provider","featureMultiProviderDesc":"OpenAI, Anthropic, Google e altro ancora","featureLoadBalancingTitle":"Bilanciamento del carico","featureLoadBalancingDesc":"Distribuisci le richieste in modo intelligente","featureUsageTrackingTitle":"Monitoraggio dell\'utilizzo","featureUsageTrackingDesc":"Monitorare costi e gettoni","resetPassword":"Reimposta password","resetDescription":"Scegli un metodo per recuperare l\'accesso alla tua dashboard","stopServer":"Arrestare il server OmniRoute","processing":"Elaborazione...","pleaseWait":"Ti preghiamo di attendere mentre completiamo l\'autorizzazione.","authSuccess":"Autorizzazione riuscita!","copyUrl":"Copia questo URL","accessDenied":"Accesso negato","methodCliTitle":"Metodo 1: reimpostazione CLI","methodCliDescription":"Esegui il comando seguente sul server su cui \xe8 in esecuzione OmniRoute:","methodCliHint":"Questo ti chieder\xe0 di impostare una nuova password. Il server deve essere prima arrestato.","methodManualTitle":"Metodo 2: ripristino manuale","methodManualDescription":"Elimina la password dal database e impostane una nuova all\'avvio:","setPasswordInYour":"Imposta una nuova password nel tuo","fileLabelSuffix":"file:","newPasswordPlaceholder":"la tua_nuova_password","deleteSettingsFile":"Eliminare","orRemovePasswordHashField":"o rimuovere il campo passwordHash","restartServerWithNewPassword":"Riavvia il server: utilizzer\xe0 la nuova password","backToLogin":"Torna all\'accesso","forgotPassword":"Ha dimenticato la password?"},"landing":{"brandName":"OmniRoute","navigateHome":"Naviga verso casa","toggleMenu":"Cambia menu","featuresLink":"Caratteristiche","docsLink":"Documenti","github":"GitHub","versionLive":"La v1.0 \xe8 ora disponibile","oneEndpoint":"Un endpoint per","allProviders":"Tutti i fornitori di intelligenza artificiale","heroDescription":"Proxy endpoint AI con dashboard Web: una porta JavaScript di CLIProxyAPI. Funziona perfettamente con Claude Code, OpenAI Codex, Cline, RooCode e altri strumenti CLI.","getStarted":"Inizia","viewOnGithub":"Visualizza su GitHub","powerfulFeatures":"Funzionalit\xe0 potenti","featuresSubtitle":"Tutto ci\xf2 di cui hai bisogno per gestire la tua infrastruttura IA in un unico posto, progettato per essere scalabile.","featureUnifiedEndpointTitle":"Endpoint unificato","featureUnifiedEndpointDesc":"Accedi a tutti i fornitori tramite un unico URL API standard.","featureEasySetupTitle":"Configurazione semplice","featureEasySetupDesc":"Diventa subito operativo in pochi minuti con il comando npx.","featureModelFallbackTitle":"Modello di ripiego","featureModelFallbackDesc":"Cambia automaticamente provider in caso di guasto o latenza elevata.","featureUsageTrackingTitle":"Monitoraggio dell\'utilizzo","featureUsageTrackingDesc":"Analisi dettagliate e monitoraggio dei costi su tutti i modelli.","featureOAuthApiKeysTitle":"OAuth e chiavi API","featureOAuthApiKeysDesc":"Gestisci in modo sicuro le credenziali in un unico deposito.","featureCloudSyncTitle":"Sincronizzazione nel cloud","featureCloudSyncDesc":"Sincronizza istantaneamente le tue configurazioni su tutti i dispositivi.","featureCliSupportTitle":"Supporto CLI","featureCliSupportDesc":"Funziona con Claude Code, Codex, Cline, Cursor e altro.","featureDashboardTitle":"Pannello di controllo","featureDashboardDesc":"Dashboard visiva per l\'analisi del traffico in tempo reale.","howItWorks":"Come funziona OmniRoute","howItWorksDescription":"I dati fluiscono senza soluzione di continuit\xe0 dalla tua applicazione attraverso il nostro livello di routing intelligente fino al miglior fornitore per il lavoro.","howItWorksStep1Title":"1. CLI e SDK","howItWorksStep1Description":"Le tue richieste partono dai tuoi strumenti preferiti o dal nostro SDK unificato. Basta cambiare l\'URL di base.","howItWorksStep2Title":"2. Hub OmniRoute","howItWorksStep2Description":"Il nostro motore analizza il prompt, controlla lo stato del provider e instrada la latenza o il costo pi\xf9 bassi.","howItWorksStep3Title":"3. Fornitori di IA","howItWorksStep3Description":"La richiesta viene soddisfatta immediatamente da OpenAI, Anthropic, Gemini o altri.","getStartedIn30Seconds":"Inizia in 30 secondi","getStartedDescription":"Installa OmniRoute, configura i tuoi provider tramite dashboard web e inizia a instradare le richieste AI.","installOmniRoute":"Installa OmniRoute","installStepDescription":"Esegui il comando npx per avviare immediatamente il server","openDashboard":"Apri Dashboard","openDashboardStepDescription":"Configura provider e chiavi API tramite interfaccia web","routeRequests":"Richieste di percorso","routeRequestsStepDescription":"Punta i tuoi strumenti CLI su {endpoint}","terminal":"terminale","copy":"Copia","copied":"✓ Copiato","startingOmniRoute":"Avvio di OmniRoute...","serverRunningOnLabel":"Server in esecuzione","dashboardLabel":"Pannello di controllo","readyToRoute":"Pronti per la rotta! ✓","configureProvidersNote":"\uD83D\uDCDD Configura i fornitori nella dashboard o utilizza le variabili di ambiente","dataLocation":"Posizione dei dati:","dataLocationMacLinux":"macOS/Linux:","dataLocationWindows":"Finestre:","product":"Prodotto","dashboardLink":"Pannello di controllo","changelog":"Registro delle modifiche","resources":"Risorse","documentation":"Documentazione","npm":"NPM","legal":"Legale","mitLicense":"Licenza del MIT","footerTagline":"L\'endpoint unificato per la generazione di IA. Connetti, instrada e gestisci i tuoi fornitori di intelligenza artificiale con facilit\xe0.","copyright":"\xa9 {year} OmniRoute. Tutti i diritti riservati.","flowToolClaudeCode":"Codice Claudio","flowToolOpenAICodex":"Codice OpenAI","flowToolCline":"Cline","flowToolCursor":"Cursore","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Antropico","flowProviderGemini":"Gemelli","flowProviderGithubCopilot":"Copilota GitHub","interactiveDiagram":"Diagramma interattivo visibile sul desktop","ctaTitle":"Pronto a semplificare la tua infrastruttura AI?","ctaDescription":"Unisciti agli sviluppatori che stanno ottimizzando le loro integrazioni IA con OmniRoute. Open source e avvio gratuito.","startFree":"Inizia gratis","readDocumentation":"Leggi la documentazione"},"docs":{"title":"Documentazione","quickStart":"Avvio rapido","features":"Caratteristiche","supportedProviders":"Provider supportati","supportedProvidersToc":"Fornitori","commonUseCases":"Casi d\'uso comuni","clientCompatibility":"Compatibilit\xe0 con il cliente","apiReference":"Riferimento API","method":"Metodo","path":"Sentiero","notes":"Note","modelPrefixes":"Prefissi del modello","prefix":"Prefisso","troubleshooting":"Risoluzione dei problemi","supportsChat":"Supporta sia gli endpoint di chat che quelli di risposta.","oauthAutoRefresh":"Connessione OAuth con aggiornamento automatico del token.","fullStreaming":"Supporto streaming completo per tutti i modelli.","docsLabel":"Documenti","docsHeroDescription":"Gateway AI per LLM multi-provider. Un endpoint per OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor e oltre 20 altri provider.","openDashboard":"Apri Dashboard","endpointPage":"Pagina dell\'endpoint","github":"GitHub","reportIssue":"Segnala problema","onThisPage":"In questa pagina","documentationVersion":"Documentazione - v{version}","quickStartStep1Title":"1. Installa ed esegui","quickStartStep1Prefix":"Correre","quickStartStep1Middle":"oppure clona da GitHub ed esegui","quickStartStep2Title":"2. Crea la chiave API","quickStartStep2Text":"Vai su Endpoint -> Chiavi registrate. Genera una chiave per ambiente.","quickStartStep3Title":"3. Connetti i fornitori","quickStartStep3Text":"Aggiungi account provider tramite accesso OAuth, chiave API o connessione automatica a livello gratuito.","quickStartStep4Title":"4. Imposta l\'URL di base del cliente","quickStartStep4Prefix":"Punta il tuo client IDE o API a","quickStartStep4Suffix":"Utilizza il prefisso del provider, ad esempio","featureRoutingTitle":"Routing multi-provider","featureRoutingText":"Instrada le richieste a oltre 30 fornitori di intelligenza artificiale attraverso un singolo endpoint compatibile con OpenAI. Supporta API di chat, risposte, audio e immagini.","featureCombosTitle":"Combo e bilanciamento","featureCombosText":"Crea combinazioni di modelli con catene di fallback e strategie di bilanciamento: round robin, priorit\xe0, casuale, meno utilizzato e con costi ottimizzati.","featureUsageTitle":"Monitoraggio dell\'utilizzo e dei costi","featureUsageText":"Conteggio dei token in tempo reale, calcolo dei costi per provider/modello e suddivisione dettagliata dell\'utilizzo per chiave API e account.","featureAnalyticsTitle":"Pannello di analisi","featureAnalyticsText":"Analisi visiva con grafici per richieste, token, errori, latenza, costi e popolarit\xe0 del modello nel tempo.","featureHealthTitle":"Monitoraggio sanitario","featureHealthText":"Controlli dello stato in tempo reale, stato del fornitore, stati degli interruttori automatici e rilevamento automatico dei limiti di velocit\xe0 con backoff esponenziale.","featureCliTitle":"Strumenti CLI","featureCliText":"Gestisci le configurazioni IDE, esporta/importa backup, scopri i profili codex e configura le impostazioni dalla dashboard.","featureSecurityTitle":"Sicurezza e politiche","featureSecurityText":"Autenticazione con chiave API, filtraggio IP, protezione prompt injection, policy di dominio, gestione delle sessioni e registrazione di controllo.","featureCloudSyncTitle":"Sincronizzazione nel cloud","featureCloudSyncText":"Sincronizza la tua configurazione con Cloudflare Workers per l\'accesso remoto con credenziali crittografate e failover automatico.","providersAcrossConnectionTypes":"{count} provider in tre tipi di connessione.","manageProviders":"Gestisci fornitori","providersCount":"{count} fornitori","providerTypeFree":"Livello gratuito","providerTypeOAuth":"OAuth","providerTypeApiKey":"Chiave API","useCaseSingleEndpointTitle":"Endpoint unico per molti provider","useCaseSingleEndpointText":"Puntare i client a un URL di base e instradarli in base al prefisso del modello (ad esempio: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Fallback e cambio di modello con combo","useCaseFallbackText":"Crea modelli combinati in Dashboard e mantieni stabile la configurazione del client mentre i fornitori ruotano internamente.","useCaseUsageVisibilityTitle":"Visibilit\xe0 sull\'utilizzo, sui costi e sul debug","useCaseUsageVisibilityText":"Tieni traccia dei token e dei costi per provider, account e chiave API nelle schede Utilizzo e Analisi.","clientCherryStudioTitle":"Studio della ciliegia","baseUrlLabel":"URL di base","chatEndpointLabel":"Endpoint della chat","modelRecommendationLabel":"Raccomandazione del modello: prefisso esplicito","clientCodexTitle":"Modelli Copilot Codex/GitHub","clientCodexBullet1":"Utilizza gli ID modello con","clientCodexBullet2":"I modelli della famiglia Codex si instradano automaticamente verso","clientCodexBullet3":"I modelli non Codex continuano","clientCursorTitle":"Cursore IDE","clientCursorBullet1":"Utilizzo","clientCursorBullet1Suffix":"prefisso per i modelli Cursor.","clientCursorBullet2":"Connessione OAuth: accedi dalla pagina Provider.","clientClaudeTitle":"Codice Claude / Antigravit\xe0","clientClaudeBullet1Prefix":"Utilizzo","clientClaudeBullet1Middle":"(Claude) o","clientClaudeBullet1Suffix":"(Antigravit\xe0).","endpointChatNote":"Endpoint chat compatibile con OpenAI (impostazione predefinita).","endpointResponsesNote":"Endpoint API di risposta (Codex, serie o).","endpointModelsNote":"Catalogo dei modelli per tutti i fornitori collegati.","endpointAudioNote":"Trascrizione audio (Deepgram, AssemblyAI).","endpointImagesNote":"Generazione di immagini (NanoBanana).","endpointRewriteChatNote":"Riscrivere l\'helper per i client senza /v1.","endpointRewriteResponsesNote":"Riscrivi l\'helper per le risposte senza /v1.","endpointRewriteModelsNote":"Riscrivere l\'helper per l\'individuazione dei modelli senza /v1.","modelPrefixesDescriptionStart":"Utilizzare il prefisso del provider prima del nome del modello per instradare a un provider specifico. Esempio:","modelPrefixesDescriptionEnd":"percorsi verso GitHub Copilot.","provider":"Fornitore","type":"Tipo","troubleshootingModelRouting":"Se il client non riesce con il routing del modello, utilizzare un provider/modello esplicito (ad esempio: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Se ricevi errori di modello ambigui, scegli il prefisso del provider anzich\xe9 un semplice ID modello.","troubleshootingCodexFamily":"Per i modelli della famiglia GitHub Codex, mantieni il modello come gh/<codex-model>; il router seleziona/risponde automaticamente.","troubleshootingTestConnection":"Utilizza Dashboard > Provider > Verifica connessione prima di effettuare test da IDE o client esterni.","troubleshootingCircuitBreaker":"Se un fornitore mostra l\'interruttore aperto, attendi il raffreddamento o controlla la pagina Salute per i dettagli.","troubleshootingOAuth":"Per i provider OAuth, eseguire nuovamente l\'autenticazione se i token scadono. Controlla l\'indicatore di stato della carta del fornitore."},"legal":{"privacyPolicy":"politica sulla riservatezza","termsOfService":"Termini di servizio","providerConfigurations":"Configurazioni del fornitore","apiKeys":"Chiavi API","usageLogs":"Registri di utilizzo","applicationSettings":"Impostazioni dell\'applicazione","viewExportAnalytics":"Visualizza ed esporta analisi sull\'utilizzo","clearHistory":"Cancella la cronologia di utilizzo in qualsiasi momento","configureRetention":"Configurare i criteri di conservazione dei log","backupRestore":"Esegui il backup e ripristina il tuo database","privacyMetadataTitle":"Informativa sulla privacy | OmniRoute","privacyMetadataDescription":"Informativa sulla privacy per il router proxy API OmniRoute AI.","termsMetadataTitle":"Termini di servizio | OmniRoute","termsMetadataDescription":"Termini di servizio per il router proxy API OmniRoute AI.","backToHome":"Ritorno a casa","lastUpdated":"Ultimo aggiornamento: {date}","policyLastUpdatedDate":"13 febbraio 2026","listSeparator":"-","questionsVisit":"Domande? Visita il nostro","githubRepository":"Repositorio GitHub","privacySection1Title":"1. Architettura locale-prima","privacySection1Text":"OmniRoute \xe8 progettato come un\'applicazione local-first. Tutta l\'elaborazione e l\'archiviazione dei dati avviene interamente sul tuo computer. Non esiste un server centralizzato che raccoglie le tue informazioni.","privacySection2Title":"2. Dati che conserviamo","privacyDataStoredIn":"I seguenti dati vengono archiviati localmente in","privacyDataProviderConfigurationsDesc":"URL di connessione, tipi di provider e impostazioni di priorit\xe0","privacyDataApiKeysDesc":"crittografati e archiviati localmente per l\'autenticazione con i fornitori di intelligenza artificiale","privacyDataUsageLogsDesc":"conteggi delle richieste, utilizzo dei token, nomi dei modelli, timestamp e tempi di risposta","privacyDataApplicationSettingsDesc":"preferenze del tema, strategia di routing e configurazioni combinate","privacySection3Title":"3. Nessuna telemetria","privacySection3Text":"OmniRoute non raccoglie dati di telemetria, analisi o rapporti sugli arresti anomali. Nessun dato viene inviato a noi o a terzi. I tuoi modelli di utilizzo, le chiamate API e le configurazioni rimangono completamente privati.","privacySection4Title":"4. Fornitori di IA di terze parti","privacySection4Text":"Quando effettui chiamate API tramite OmniRoute, le tue richieste vengono inoltrate ai fornitori di intelligenza artificiale che hai configurato (ad esempio: OpenAI, Anthropic, Google). Questi fornitori hanno le proprie politiche sulla privacy che regolano il modo in cui gestiscono i tuoi dati. Si prega di rivedere:","privacyOpenAiPolicy":"Informativa sulla privacy di OpenAI","privacyAnthropicPolicy":"Informativa sulla privacy antropica","privacyGooglePolicy":"Informativa sulla privacy di Google","privacySection5Title":"5. Sincronizzazione cloud (opzionale)","privacySection5Text":"Se abiliti la funzionalit\xe0 opzionale di sincronizzazione cloud, le configurazioni del provider e le chiavi API potrebbero essere trasmesse a un endpoint cloud configurato. Questa funzionalit\xe0 \xe8 disabilitata per impostazione predefinita e richiede un consenso esplicito.","privacySection6Title":"6. Registrazione","privacyLoggingIntro":"I registri delle richieste possono essere configurati tramite le impostazioni del dashboard. Puoi:","privacySection7Title":"7. I tuoi diritti","privacySection7TextStart":"Poich\xe9 tutti i dati sono archiviati localmente, hai il pieno controllo. Puoi cancellare i tuoi dati in qualsiasi momento rimuovendo il","privacySection7TextEnd":"directory o utilizzando le funzionalit\xe0 di backup e ripristino del database nel dashboard.","termsSection1Title":"1. Panoramica","termsSection1Text":"OmniRoute \xe8 un router proxy API AI locale che funziona interamente sul tuo computer. Indirizza le richieste a pi\xf9 fornitori di intelligenza artificiale con bilanciamento del carico, failover e monitoraggio dell\'utilizzo.","termsSection2Title":"2. Responsabilit\xe0 dell\'utente","termsResponsibilityApiKeys":"Sei l\'unico responsabile della gestione delle tue chiavi API e credenziali per fornitori di intelligenza artificiale di terze parti (OpenAI, Anthropic, Google, ecc.).","termsResponsibilityCompliance":"Devi rispettare i termini di servizio di ciascun fornitore di intelligenza artificiale alla cui API accedi tramite OmniRoute.","termsResponsibilitySecurity":"L\'utente \xe8 responsabile della sicurezza dell\'installazione locale di OmniRoute, inclusa l\'impostazione di una password e la limitazione dell\'accesso alla rete.","termsSection3Title":"3. Come funziona","termsSection3Text":"OmniRoute funge da proxy intermediario. Le chiamate API inviate a OmniRoute vengono tradotte e inoltrate ai provider AI configurati. OmniRoute non modifica il contenuto delle richieste o delle risposte oltre la necessaria traduzione del protocollo.","termsSection4Title":"4. Trattamento dei dati","termsDataStoredLocally":"Tutti i dati vengono archiviati localmente sul tuo computer in un database SQLite.","termsNoTransmission":"OmniRoute non trasmette dati a server esterni a meno che non abiliti esplicitamente le funzionalit\xe0 di sincronizzazione cloud.","termsDataLocationText":"I log di utilizzo, le chiavi API e la configurazione sono archiviati in","termsSection5Title":"5. Dichiarazione di non responsabilit\xe0","termsSection5Text":"OmniRoute viene fornito \\"cos\xec com\'\xe8\\" senza garanzie di alcun tipo. Non siamo responsabili per eventuali costi sostenuti per l\'utilizzo dell\'API, interruzioni del servizio o perdita di dati. Mantieni sempre i backup della tua configurazione.","termsSection6Title":"6. Sorgente aperta","termsSection6Text":"OmniRoute \xe8 un software open source. Sei libero di esaminarlo, modificarlo e distribuirlo secondo i termini della sua licenza."}}')}};
|