omniroute 2.3.3 → 2.3.6
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/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +38 -38
- package/app/.next/build-manifest.json +2 -2
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +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_client-reference-manifest.js +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/auto-combo/page_client-reference-manifest.js +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 +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +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 +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/.well-known/agent.json/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
- 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 +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/a2a/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/a2a/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/a2a/tasks/[id]/cancel/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/a2a/tasks/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/a2a/tasks/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/acp/agents/route_client-reference-manifest.js +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_client-reference-manifest.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_client-reference-manifest.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 +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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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_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/auto-order/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
- 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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/auto/route_client-reference-manifest.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_client-reference-manifest.js +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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/mcp/audit/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/mcp/audit/stats/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/mcp/sse/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/mcp/stream/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/mcp/tools/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/openrouter-catalog/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/route.js +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 +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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/policies/route_client-reference-manifest.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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/route.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/resilience/route_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/background-degradation/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/model-aliases/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.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_client-reference-manifest.js +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_client-reference-manifest.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_client-reference-manifest.js +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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.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/quota/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/docs/page.js +1 -1
- package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app-paths-manifest.json +38 -38
- package/app/.next/server/chunks/1248.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/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/3371.js +1 -1
- package/app/.next/server/chunks/3911.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/7650.js +1 -1
- package/app/.next/server/chunks/7889.js +1 -1
- 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/9837.js +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/chunks/{5846-42d982547e1caf85.js → 5846-8ad5ab8a1ba62e97.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-8d4d2f071d114b90.js → page-284b636e8d7e33f1.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-62c8c63ebebff9df.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-ee3b3c7b9ecbad30.js → page-4c046dfc5159d2ac.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-adbd858f2a6cd352.js +1 -0
- package/app/package.json +1 -1
- package/app/public/providers/assemblyai.svg +12 -0
- package/app/public/providers/elevenlabs.svg +6 -0
- package/app/public/providers/hyperbolic.svg +13 -0
- package/app/public/providers/inworld.svg +12 -0
- package/app/public/providers/nanobanana.svg +12 -0
- package/app/public/providers/ollama-cloud.png +375 -0
- package/app/public/providers/playht.svg +11 -0
- package/package.json +1 -1
- package/scripts/postinstall.mjs +25 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-7b1037d65eef97a8.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-7341fec78a6818b3.js +0 -1
- /package/app/.next/static/{2-Wq7CYQRUOTZ9PqJz4xL → rkqZOF0zvNBiqtXd_BupR}/_buildManifest.js +0 -0
- /package/app/.next/static/{2-Wq7CYQRUOTZ9PqJz4xL → rkqZOF0zvNBiqtXd_BupR}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=1990,exports.ids=[1990],exports.modules={41990:a=>{a.exports=JSON.parse('{"common":{"save":"Salvar","cancel":"Cancelar","delete":"Excluir","loading":"Carregando...","error":"Ocorreu um erro","success":"Sucesso","confirm":"Tem certeza?","refresh":"Atualizar","close":"Fechar","add":"Adicionar","edit":"Editar","search":"Pesquisar","back":"Voltar","next":"Pr\xf3ximo","submit":"Enviar","reset":"Resetar","copy":"Copiar","copied":"Copiado!","enabled":"Ativado","disabled":"Desativado","active":"Ativo","inactive":"Inativo","noData":"Nenhum dado dispon\xedvel","configure":"Configurar","manage":"Gerenciar","name":"Nome","actions":"A\xe7\xf5es","status":"Status","type":"Tipo","model":"Modelo","models":"modelos","provider":"Provedor","account":"Conta","time":"Tempo","details":"Detalhes","created":"Criado","lastUsed":"\xdaltimo Uso","loadMore":"Carregar Mais","noResults":"Nenhum resultado encontrado","reloadPage":"Recarregar P\xe1gina","connected":"Conectado","disconnected":"Desconectado","notConfigured":"N\xe3o configurado","testConnection":"Testar Conex\xe3o","enable":"Ativar","disable":"Desativar","columns":"Colunas","newest":"Mais Recente","oldest":"Mais Antigo","all":"Todos","none":"Nenhum","yes":"Sim","no":"N\xe3o","warning":"Aviso","note":"Nota","free":"Gratuito","skipToContent":"Pular para conte\xfado"},"sidebar":{"home":"In\xedcio","dashboard":"Painel","providers":"Provedores","combos":"Combos","usage":"Uso","analytics":"An\xe1lises","costs":"Custos","health":"Sa\xfade","limits":"Limites e Cotas","cliTools":"Ferramentas CLI","media":"M\xeddia","settings":"Configura\xe7\xf5es","translator":"Tradutor","docs":"Documenta\xe7\xe3o","issues":"Problemas","apiManager":"Gerenciador API","logs":"Logs","auditLog":"Log de Auditoria","shutdown":"Desligar","restart":"Reiniciar","shutdownConfirm":"Desligar o OmniRoute?","restartConfirm":"Reiniciar o OmniRoute?","version":"v{version}","debug":"Depura\xe7\xe3o","system":"Sistema","help":"Ajuda","serverDisconnected":"Servidor Desconectado","serverDisconnectedMsg":"O servidor proxy foi parado ou est\xe1 reiniciando.","expandSidebar":"Expandir barra lateral","collapseSidebar":"Recolher barra lateral","themes":"Themes","presetColors":"Popular colors","createTheme":"Create theme","chooseColor":"Pick one color","themeCoral":"Coral","themeBlue":"Blue","themeRed":"Red","themeGreen":"Green","themeViolet":"Violet","themeOrange":"Orange","themeCyan":"Cyan","endpoints":"Endpoints","playground":"Playground","agents":"Agentes","cliToolsShort":"Ferramentas"},"themesPage":{"title":"Themes","description":"Choose a preset theme or create your own with a single color","presetColors":"Popular colors","customTheme":"Custom theme","customThemeDesc":"Click create theme and pick one color","createTheme":"Create theme","activePreset":"Active theme"},"header":{"logout":"Sair","language":"Idioma","providers":"Provedores","providerDescription":"Gerencie suas conex\xf5es de provedores de IA","combos":"Combos","comboDescription":"Combos de modelos com fallback","usage":"Uso e An\xe1lises","usageDescription":"Monitore seu uso de API, consumo de tokens e logs de requisi\xe7\xf5es","analytics":"An\xe1lises","analyticsDescription":"Gr\xe1ficos, tend\xeancias e insights de avalia\xe7\xe3o","cliTools":"Ferramentas CLI","cliToolsDescription":"Configurar ferramentas de linha de comando","home":"In\xedcio","homeDescription":"Bem-vindo ao OmniRoute","endpoint":"Endpoints","endpointDescription":"Gerenciar endpoints proxy, MCP, A2A e endpoints de API","settings":"Configura\xe7\xf5es","settingsDescription":"Gerencie suas prefer\xeancias","openaiCompatible":"Compat\xedvel com OpenAI","anthropicCompatible":"Compat\xedvel com Anthropic","media":"M\xeddia","mediaDescription":"Gerar imagens, v\xeddeos e m\xfasicas","themes":"Themes","themesDescription":"Choose a color theme for the whole dashboard panel"},"home":{"quickStart":"In\xedcio R\xe1pido","quickStartDesc":"Comece em 4 passos. Conecte provedores, roteie modelos, monitore tudo.","fullDocs":"Docs Completa","step1Title":"1. Criar chave de API","step1Desc":"V\xe1 em <endpoint>Endpoint</endpoint> -> Chaves Registradas. Gere uma chave por ambiente.","step2Title":"2. Conectar provedores","step2Desc":"Adicione contas em <providers>Provedores</providers>. Suporta OAuth, API Key e planos gratuitos.","step3Title":"3. Apontar seu cliente","step3Desc":"Defina a URL base como {url} no seu IDE ou cliente de API.","step4Title":"4. Monitorar e otimizar","step4Desc":"Acompanhe tokens, custos e erros em <logs>Logs de Requisi\xe7\xf5es</logs> e <analytics>An\xe1lises</analytics>.","providersOverview":"Vis\xe3o Geral dos Provedores","configuredOf":"{configured} configurados de {total} provedores dispon\xedveis","noModelsAvailable":"Nenhum modelo dispon\xedvel para este provedor.","configureFirst":"Configure uma conex\xe3o primeiro em {providers}","configureProvider":"Configurar Provedor","modelAvailable":"{count} modelo dispon\xedvel","modelsAvailable":"{count} modelos dispon\xedveis","connectionsActive":"{count} conex\xe3o ativa","connectionsActivePlural":"{count} conex\xf5es ativas","copyModelName":"Copiar nome do modelo","documentation":"Documenta\xe7\xe3o","healthMonitor":"Monitor de Sa\xfade","reportIssue":"Reportar problema","activeError":"{active} ativo \xb7 {errors} erro","oauthLabel":"OAuth","apiKeyLabel":"Chave de API","requestsShort":"{count} reqs","providerModelsTitle":"{provider} - Modelos","copiedModel":"Copiado: {model}","aliasLabel":"alias"},"analytics":{"title":"An\xe1lises","overviewDescription":"Monitore padr\xf5es de uso da API, consumo de tokens, custos e tend\xeancias de atividade em todos os provedores e modelos.","evalsDescription":"Execute su\xedtes de avalia\xe7\xe3o para testar e validar seus endpoints LLM. Compare qualidade de modelos, detecte regress\xf5es e fa\xe7a benchmarks de lat\xeancia.","overview":"Vis\xe3o Geral","evals":"Avalia\xe7\xf5es"},"apiManager":{"title":"Chaves de API","createKey":"Criar Chave de API","key":"Chave","revokeKey":"Revogar Chave","revokeConfirm":"Tem certeza que deseja revogar esta chave de API?","noKeys":"Nenhuma chave de API ainda","noKeysDesc":"Crie sua primeira chave de API para autenticar requisi\xe7\xf5es ao seu endpoint","keyLabel":"R\xf3tulo da Chave","permissions":"Permiss\xf5es","expiresAt":"Expira","never":"Nunca","revoke":"Revogar","showKey":"Mostrar Chave","hideKey":"Ocultar Chave","copyKey":"Copiar Chave de API","allModels":"Todos os modelos","selectedModels":"Modelos Selecionados","readOnly":"Somente Leitura","fullAccess":"Acesso Total","keyManagement":"Gerenciamento de Chaves de API","keyManagementDesc":"Crie e gerencie chaves de API para autenticar requisi\xe7\xf5es ao seu endpoint","totalKeys":"Total de Chaves","restricted":"Restrita","totalRequests":"Total de Requisi\xe7\xf5es","modelsAvailable":"Modelos Dispon\xedveis","registeredKeys":"Chaves Registradas","keysRegistered":"{count} chaves registradas","keyRegistered":"{count} chave registrada","keysSecurityNote":"Cada chave isola o rastreamento de uso e pode ser revogada independentemente. As chaves s\xe3o mascaradas ap\xf3s a cria\xe7\xe3o por seguran\xe7a.","createFirstKey":"Crie Sua Primeira Chave","name":"Nome","usage":"Uso","created":"Criado","actions":"A\xe7\xf5es","reqs":"reqs","neverUsed":"Nunca usada","deleteConfirm":"Excluir esta chave de API?","usageTips":"Dicas de Uso","tipAuth":"Use chaves de API no cabe\xe7alho Authorization como Bearer SUA_CHAVE","tipSecure":"As chaves s\xe3o mostradas apenas uma vez durante a cria\xe7\xe3o — armazene-as com seguran\xe7a","tipSeparate":"Crie chaves separadas para diferentes clientes ou ambientes","tipRestrict":"Restrinja chaves a modelos espec\xedficos para maior seguran\xe7a e controle de custos","keyName":"Nome da Chave","keyNamePlaceholder":"ex: Chave de Produ\xe7\xe3o, Chave de Desenvolvimento","keyNameDesc":"Escolha um nome descritivo para identificar o prop\xf3sito desta chave","keyCreated":"Chave de API Criada","keyCreatedSuccess":"Chave criada com sucesso!","keyCreatedNote":"Copie e armazene esta chave agora — ela n\xe3o ser\xe1 mostrada novamente.","done":"Pronto","savePermissions":"Salvar Permiss\xf5es","allowAll":"Permitir Tudo","restrict":"Restringir","allowAllInfo":"Esta chave pode acessar todos os modelos dispon\xedveis.","restrictInfo":"Esta chave pode acessar {selected} de {total} modelos.","selected":"{count} selecionados","all":"Todos","clear":"Limpar","searchModels":"Buscar modelos por nome ou provedor...","noModelsFound":"Nenhum modelo encontrado","keyNameRequired":"Nome da chave \xe9 obrigat\xf3rio","keyNameTooLong":"Nome da chave deve ter {max} caracteres ou menos","keyNameInvalid":"Nome da chave pode conter apenas letras, n\xfameros, espa\xe7os, h\xedfens e sublinhados","invalidKeyName":"Nome de chave inv\xe1lido","failedCreateKey":"Falha ao criar chave","failedCreateKeyRetry":"Falha ao criar chave. Tente novamente.","invalidKeyId":"ID de chave inv\xe1lido","failedDeleteKey":"Falha ao excluir chave","failedDeleteKeyRetry":"Falha ao excluir chave. Tente novamente.","invalidModelsSelection":"Sele\xe7\xe3o de modelos inv\xe1lida","cannotSelectMoreThanModels":"N\xe3o \xe9 poss\xedvel selecionar mais de {max} modelos","failedUpdatePermissions":"Falha ao atualizar permiss\xf5es","failedUpdatePermissionsRetry":"Falha ao atualizar permiss\xf5es. Tente novamente.","unknownProvider":"desconhecido","copyMaskedKey":"Copiar chave mascarada","modelsCount":"{count, plural, one {# modelo} other {# modelos}}","lastUsedOn":"\xdaltimo: {date}","editPermissions":"Editar permiss\xf5es","deleteKey":"Excluir chave","model":"{count} modelo","models":"{count} modelos","permissionsTitle":"Permiss\xf5es: {name}","allowAllDesc":"Esta chave pode acessar todos os modelos dispon\xedveis.","restrictDesc":"Esta chave pode acessar {selectedCount} de {totalModels} modelos.","selectedCount":"{count} selecionados"},"auditLog":{"title":"Log de Auditoria","searchPlaceholder":"Buscar a\xe7\xf5es...","action":"A\xe7\xe3o","actor":"Autor","target":"Alvo","ipAddress":"Endere\xe7o IP","timestamp":"Data/Hora","noEntries":"Nenhum registro de auditoria","filterByAction":"Filtrar por a\xe7\xe3o...","filterByActor":"Filtrar por autor...","filterEntriesAria":"Filtrar entradas do log de auditoria","filterByActionTypeAria":"Filtrar por tipo de a\xe7\xe3o","filterByActorAria":"Filtrar por autor","refreshAuditLogAria":"Atualizar log de auditoria","tableAria":"Entradas do log de auditoria","failedFetchAuditLog":"Falha ao carregar log de auditoria","notAvailable":"—","description":"A\xe7\xf5es administrativas e eventos de seguran\xe7a","showing":"Mostrando {count} entradas (offset {offset})","previous":"Anterior"},"media":{"title":"Playground de M\xeddia","subtitle":"Gere imagens, v\xeddeos e m\xfasica","model":"Modelo","prompt":"Prompt","generate":"Gerar","generating":"Gerando...","loadingModels":"Carregando modelos dispon\xedveis...","noModels":"Nenhum modelo dispon\xedvel. Configure provedores com suporte a m\xeddia primeiro.","error":"Falha na Gera\xe7\xe3o","result":"Resultado","imageDescription":"Gere imagens a partir de prompts de texto usando OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI e mais.","videoDescription":"Crie v\xeddeos com AnimateDiff, Stable Video Diffusion via ComfyUI ou SD WebUI.","musicDescription":"Componha m\xfasicas usando Stable Audio Open ou MusicGen via ComfyUI."},"cliTools":{"title":"Ferramentas CLI","noActiveProviders":"Nenhum provedor ativo","noActiveProvidersDesc":"Adicione e conecte provedores primeiro para configurar as ferramentas CLI.","mapModels":"Mapear Modelos","testConnection":"Testar Conex\xe3o","connectionStatus":"Status da Conex\xe3o","configureEndpoint":"Configurar Endpoint","instructions":"Instru\xe7\xf5es","modelMapping":"Mapeamento de Modelos","baseUrl":"URL Base","apiKey":"Chave de API","configured":"Configurado","notConfigured":"N\xe3o configurado","notInstalled":"N\xe3o instalado","custom":"Customizado","unknown":"Desconhecido","lastSavedAt":"\xdaltimo salvamento: {date}","never":"Nunca","justNow":"agora mesmo","minutesAgoShort":"{count} min atr\xe1s","hoursAgoShort":"{count} h atr\xe1s","daysAgoShort":"{count} d atr\xe1s","monthsAgoShort":"{count} m\xeas(es) atr\xe1s","yearsAgoShort":"{count} ano(s) atr\xe1s","runtimeCheckFailed":"Falha ao verificar runtime","yourApiKeyPlaceholder":"sua-api-key","modelPlaceholder":"provedor/modelo-id","configurationSaved":"Configura\xe7\xe3o salva com sucesso.","failedToSave":"Falha ao salvar configura\xe7\xe3o.","noApiKeysCreateOne":"Sem chaves de API - crie uma na p\xe1gina Chaves","defaultOmnirouteKey":"sk_omniroute (padr\xe3o)","selectModel":"Selecionar Modelo","selectModelForAlias":"Selecionar modelo para {alias}","selectModelForTool":"Selecionar Modelo para {tool}","select":"Selecionar","clear":"Limpar","comingSoon":"Em breve","checkingRuntime":"Verificando status de runtime...","guideOnlyIntegration":"Integra\xe7\xe3o apenas por guia (n\xe3o requer runtime local)","cliRuntimeDetected":"Runtime de CLI detectado e pronto","cliFoundNotRunnable":"CLI encontrado, mas n\xe3o execut\xe1vel{reason}","cliRuntimeNotDetected":"Runtime de CLI n\xe3o detectado","binary":"Bin\xe1rio","configPath":"Caminho de config","configPathShort":"Config","failedCheckRuntimeStatus":"Falha ao verificar status de runtime.","copy":"Copiar","copied":"Copiado","copyConfig":"Copiar Config","saveConfig":"Salvar Config","selectionSaved":"Sele\xe7\xe3o salva","guide":"Guia","detected":"Detectado","notReady":"N\xe3o pronto","active":"Ativo","inactive":"Inativo","startMitm":"Iniciar MITM","stopMitm":"Parar MITM","mitmStarted":"MITM iniciado com sucesso!","mitmStopped":"MITM parado com sucesso!","failedStart":"Falha ao iniciar MITM","failedStop":"Falha ao parar MITM","saveMappings":"Salvar Mapeamentos","mappingsSaved":"Mapeamentos salvos!","failedSaveMappings":"Falha ao salvar mapeamentos","howItWorks":"Como funciona:","antigravityHowWorksDesc":"O Antigravity envia requisi\xe7\xf5es para o endpoint do Google. O MITM intercepta e redireciona para o OmniRoute.","antigravityStep1":"1. Inicie o MITM para rotear as requisi\xe7\xf5es pelo OmniRoute.","antigravityStep2Prefix":"2. Adicione","antigravityStep2Suffix":"ao arquivo hosts como 127.0.0.1.","antigravityStep3":"3. Abra o Antigravity e as requisi\xe7\xf5es ser\xe3o proxyadas.","sudoPasswordRequiredTitle":"Senha sudo necess\xe1ria","sudoPasswordHint":"A senha de administrador \xe9 necess\xe1ria para modificar hosts e configura\xe7\xf5es de proxy do sistema.","enterSudoPassword":"Digite a senha sudo","sudoPasswordRequiredError":"A senha sudo \xe9 obrigat\xf3ria.","cancel":"Cancelar","confirm":"Confirmar","settingsApplied":"Configura\xe7\xf5es aplicadas com sucesso!","failedApplySettings":"Falha ao aplicar configura\xe7\xf5es","settingsReset":"Configura\xe7\xf5es resetadas com sucesso!","failedResetSettings":"Falha ao resetar configura\xe7\xf5es","backupRestored":"Backup restaurado!","failedRestore":"Falha ao restaurar","checkingCli":"Verificando CLI {tool}...","cliNotRunnable":"CLI {tool} instalado, mas n\xe3o execut\xe1vel","cliNotInstalled":"CLI {tool} n\xe3o instalado","cliNotDetected":"CLI {tool} n\xe3o detectado","cliDetectedReady":"CLI {tool} detectado e pronto","cliFoundFailedHealthcheck":"CLI {tool} foi encontrado, mas falhou no healthcheck de runtime{reason}.","installCliPrompt":"Instale o CLI {tool} para usar este recurso.","installCodexPrompt":"Instale o Codex CLI para usar a aplica\xe7\xe3o autom\xe1tica.","hide":"Ocultar","howToInstall":"Como instalar","installationGuide":"Guia de instala\xe7\xe3o","platforms":"macOS / Linux / Windows:","afterInstallationRun":"Ap\xf3s a instala\xe7\xe3o, execute","toVerify":"para verificar.","current":"Atual","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Redefinir para padr\xe3o","providerModelPlaceholder":"provedor/modelo-id","apply":"Aplicar","reset":"Resetar","manualConfig":"Configura\xe7\xe3o manual","backups":"Backups","configBackups":"Backups de configura\xe7\xe3o","noBackupsYet":"Ainda n\xe3o h\xe1 backups. Backups s\xe3o criados automaticamente antes de cada Aplicar ou Resetar.","restore":"Restaurar","backupRestoredReloading":"Backup restaurado! Recarregando status...","failedRestoreBackup":"Falha ao restaurar backup","applied":"Aplicado!","failed":"Falhou","resetDone":"Resetado!","omnirouteConfiguredOpenAiCompatible":"OmniRoute est\xe1 configurado como provedor compat\xedvel com OpenAI","provider":"Provedor","model":"Modelo","providers":"Provedores","auth":"Autentica\xe7\xe3o","noApiKeysAvailable":"Nenhuma chave de API dispon\xedvel","usingDefaultOmniroute":"Usando padr\xe3o: sk_omniroute","updateConfig":"Atualizar config","applyConfig":"Aplicar config","noBackupsAvailable":"Nenhum backup dispon\xedvel.","profileSaved":"Perfil \\"{name}\\" salvo!","failedSaveProfile":"Falha ao salvar perfil","profileActivated":"Perfil ativado!","failedActivateProfile":"Falha ao ativar perfil","profiles":"Perfis","savedProfiles":"Perfis salvos","noProfilesYet":"Nenhum perfil salvo ainda. Salve a configura\xe7\xe3o atual como perfil abaixo.","activate":"Ativar","deleteProfile":"Excluir perfil","profileNamePlaceholder":"Nome do perfil (ex: Conta Pessoal)","saveCurrent":"Salvar atual","codexAuthNotePrefix":"Codex usa","codexAuthNoteMiddle":"com","codexAuthNoteSuffix":"Clique em \\"Aplicar\\" para configurar automaticamente.","claudeManualConfiguration":"Claude CLI - Configura\xe7\xe3o manual","codexManualConfiguration":"Codex CLI - Configura\xe7\xe3o manual","droidManualConfiguration":"Factory Droid - Configura\xe7\xe3o manual","openClawManualConfiguration":"Open Claw - Configura\xe7\xe3o manual","clineManualConfiguration":"Configura\xe7\xe3o manual do Cline","kiloManualConfiguration":"Configura\xe7\xe3o manual do Kilo Code","toolDescriptions":{"antigravity":"Google Antigravity IDE com MITM","claude":"CLI Claude Code da Anthropic","codex":"CLI Codex da OpenAI","droid":"Assistente de IA Factory Droid","openclaw":"Assistente de IA Open Claw","cline":"CLI assistente de codifica\xe7\xe3o Cline","kilo":"CLI assistente de IA Kilo Code","cursor":"Editor de c\xf3digo com IA Cursor","continue":"Assistente de IA Continue"},"guides":{"cursor":{"notes":{"0":"Requer conta Cursor Pro para usar este recurso.","1":"O Cursor roteia requisi\xe7\xf5es pelo pr\xf3prio servidor, ent\xe3o endpoint local n\xe3o \xe9 suportado. Ative o Cloud Endpoint em Configura\xe7\xf5es."},"steps":{"1":{"title":"Abrir Configura\xe7\xf5es","desc":"V\xe1 em Configura\xe7\xf5es -> Modelos"},"2":{"title":"Ativar OpenAI API","desc":"Ative a op\xe7\xe3o \\"OpenAI API key\\""},"3":{"title":"URL Base"},"4":{"title":"Chave de API"},"5":{"title":"Adicionar Modelo Customizado","desc":"Clique em \\"View All Model\\" -> \\"Add Custom Model\\""},"6":{"title":"Selecionar Modelo"}}},"continue":{"steps":{"1":{"title":"Abrir Config","desc":"Abra o arquivo de configura\xe7\xe3o do Continue"},"2":{"title":"Chave de API"},"3":{"title":"Selecionar Modelo"},"4":{"title":"Adicionar Config de Modelo","desc":"Adicione a configura\xe7\xe3o abaixo ao array de modelos:"}}}}},"combos":{"title":"Combos","description":"Crie combos de modelos com roteamento ponderado e suporte a fallback","createCombo":"Criar Combo","editCombo":"Editar Combo","deleteCombo":"Excluir Combo","noModels":"Sem modelos","noModelsYet":"Nenhum modelo adicionado","addModel":"Adicionar Modelo","addModelToCombo":"Adicionar Modelo ao Combo","routingStrategy":"Estrat\xe9gia de Roteamento","maxRetries":"M\xe1ximo de Tentativas","timeout":"Timeout (ms)","healthcheck":"Verifica\xe7\xe3o de Sa\xfade","priority":"Prioridade","fallback":"Fallback","roundRobin":"Round Robin","random":"Aleat\xf3rio","leastLatency":"Menor Lat\xeancia","comboName":"Nome do Combo","comboNamePlaceholder":"meu-combo","deleteConfirm":"Excluir este combo?","noCombosYet":"Nenhum combo ainda","comboCreated":"Combo criado com sucesso","comboUpdated":"Combo atualizado com sucesso","comboDeleted":"Combo exclu\xeddo","failedCreate":"Falha ao criar combo","failedUpdate":"Falha ao atualizar combo","errorCreating":"Erro ao criar combo","errorUpdating":"Erro ao atualizar combo","errorDeleting":"Erro ao excluir combo","testFailed":"Requisi\xe7\xe3o de teste falhou","failedToggle":"Falha ao alternar combo","testResults":"Resultados do Teste — {name}","resolvedBy":"Resolvido por:","more":"+{count} mais","reqs":"reqs","success":"sucesso","proxyConfigured":"Proxy configurado","copyComboName":"Copiar nome do combo","enableCombo":"Ativar combo","disableCombo":"Desativar combo","testCombo":"Testar combo","duplicate":"Duplicar","proxyConfig":"Configura\xe7\xe3o de proxy","nameRequired":"Nome \xe9 obrigat\xf3rio","nameInvalid":"Apenas letras, n\xfameros, -, _, / e . permitidos","nameHint":"Letras, n\xfameros, -, _, / e . permitidos","priorityDesc":"Fallback sequencial: tenta modelo 1 primeiro, depois 2, etc.","weightedDesc":"Distribui tr\xe1fego por porcentagem de peso com fallback","roundRobinDesc":"Distribui\xe7\xe3o circular: cada requisi\xe7\xe3o vai para o pr\xf3ximo modelo na rota\xe7\xe3o","randomDesc":"Sele\xe7\xe3o aleat\xf3ria uniforme, depois fallback para modelos restantes","leastUsedDesc":"Escolhe o modelo com menos requisi\xe7\xf5es, equilibrando carga ao longo do tempo","costOptimizedDesc":"Roteia para o modelo mais barato primeiro baseado em pre\xe7os","models":"Modelos","autoBalance":"Auto-balancear","advancedSettings":"Configura\xe7\xf5es Avan\xe7adas","retryDelay":"Intervalo de Tentativa (ms)","concurrencyPerModel":"Concorr\xeancia / Modelo","queueTimeout":"Timeout da Fila (ms)","advancedHint":"Deixe vazio para usar padr\xf5es globais. Estes substituem configura\xe7\xf5es por provedor.","moveUp":"Mover para cima","moveDown":"Mover para baixo","removeModel":"Remover","saving":"Salvando...","weighted":"Ponderado","leastUsed":"Menos Usado","costOpt":"Custo-Otim","strategyGuideTitle":"Como usar esta estrat\xe9gia","strategyGuideWhen":"Quando usar","strategyGuideAvoid":"Evite quando","strategyGuideExample":"Exemplo","strategyGuide":{"priority":{"when":"Voc\xea tem um modelo principal e quer fallback apenas em falha.","avoid":"Voc\xea precisa distribuir requisi\xe7\xf5es entre modelos.","example":"Modelo principal para c\xf3digo e backup mais barato para indisponibilidade."},"weighted":{"when":"Voc\xea precisa dividir tr\xe1fego com percentuais controlados.","avoid":"Voc\xea n\xe3o consegue manter os pesos atualizados.","example":"80% modelo est\xe1vel + 20% modelo can\xe1rio."},"round-robin":{"when":"Voc\xea quer distribui\xe7\xe3o previs\xedvel e equilibrada.","avoid":"Os modelos t\xeam custo ou lat\xeancia muito diferentes.","example":"Mesmo modelo em m\xfaltiplas contas para espalhar throughput."},"random":{"when":"Voc\xea quer distribui\xe7\xe3o simples com baixa configura\xe7\xe3o.","avoid":"Voc\xea precisa de garantias r\xedgidas de distribui\xe7\xe3o.","example":"Prot\xf3tipos r\xe1pidos com modelos equivalentes."},"least-used":{"when":"Voc\xea quer balanceamento adaptativo baseado no uso recente.","avoid":"Seu volume \xe9 baixo e n\xe3o se beneficia dessa adapta\xe7\xe3o.","example":"Workloads mistos onde um modelo tende a ficar sobrecarregado."},"cost-optimized":{"when":"Redu\xe7\xe3o de custo \xe9 a prioridade principal.","avoid":"A base de pre\xe7os est\xe1 ausente ou desatualizada.","example":"Jobs em lote ou segundo plano focados em menor custo."}},"advancedHelp":{"maxRetries":"Quantas tentativas ser\xe3o feitas antes de falhar a requisi\xe7\xe3o.","retryDelay":"Espera inicial entre tentativas. Valores maiores reduzem picos.","timeout":"Tempo m\xe1ximo da requisi\xe7\xe3o antes de cancelar.","healthcheck":"Ignora modelos/provedores n\xe3o saud\xe1veis no roteamento.","concurrencyPerModel":"M\xe1ximo de requisi\xe7\xf5es simult\xe2neas por modelo no round-robin.","queueTimeout":"Tempo m\xe1ximo em fila antes de expirar no round-robin."},"templatesTitle":"Templates r\xe1pidos","templatesDescription":"Aplique um perfil inicial e depois ajuste modelos e configura\xe7\xe3o.","templateApply":"Aplicar template","templateHighAvailability":"Alta disponibilidade","templateHighAvailabilityDesc":"Roteamento por prioridade com healthcheck e retries seguros.","templateCostSaver":"Economia de custo","templateCostSaverDesc":"Roteamento custo-otimizado para workloads com foco em or\xe7amento.","templateBalanced":"Carga balanceada","templateBalancedDesc":"Roteamento por menos uso para distribuir demanda ao longo do tempo.","usageGuideHide":"Ocultar","usageGuideDontShowAgain":"N\xe3o mostrar novamente","usageGuideShow":"Mostrar guia","quickTestTitle":"Combo pronto para validar","quickTestDescription":"Rode um teste agora para confirmar fallback e lat\xeancia.","testNow":"Testar agora","pricingCoverage":"Cobertura de pre\xe7os","pricingCoverageHint":"Custo-otimizado funciona melhor quando todos os modelos t\xeam pre\xe7o configurado.","pricingAvailable":"Pre\xe7o dispon\xedvel","pricingMissing":"Sem pre\xe7o","pricingAvailableShort":"com-pre\xe7o","pricingMissingShort":"sem-pre\xe7o","warningRoundRobinSingleModel":"Round-robin \xe9 mais \xfatil com pelo menos 2 modelos.","warningCostOptimizedPartialPricing":"Apenas {priced} de {total} modelos t\xeam pre\xe7o. O roteamento pode ficar parcialmente orientado a custo.","warningCostOptimizedNoPricing":"N\xe3o h\xe1 dados de pre\xe7o para este combo. Custo-otimizado pode rotear de forma inesperada.","readinessTitle":"Pronto para salvar?","readinessDescription":"Revise a lista de verifica\xe7\xe3o antes de criar ou atualizar este combo.","readinessCheckName":"O nome do combo \xe9 v\xe1lido","readinessCheckModels":"Pelo menos um modelo est\xe1 selecionado","readinessCheckWeights":"O total dos pesos \xe9 100%","readinessCheckWeightsOptional":"Regra de pesos n\xe3o obrigat\xf3ria","readinessCheckPricing":"Dados de pre\xe7os dispon\xedveis","readinessCheckPricingOptional":"Regra de pre\xe7os n\xe3o obrigat\xf3ria","saveBlockedTitle":"O salvamento est\xe1 bloqueado at\xe9 corrigir os itens abaixo:","saveBlockName":"Defina um nome para o combo.","saveBlockModels":"Adicione pelo menos um modelo.","saveBlockWeighted":"Ajuste os pesos para 100% (atual: {total}%).","saveBlockPricing":"Adicione pre\xe7o para pelo menos um modelo ou escolha outra estrat\xe9gia.","recommendationsLabel":"Recommended setup","applyRecommendations":"Apply recommendations","recommendationsUpdated":"Recommendations updated for {strategy}.","recommendationsApplied":"Recommendations applied to this combo.","strategyRecommendations":{"priority":{"title":"Fail-safe baseline","description":"Use one primary model and keep fallback chain short and reliable.","tip1":"Put your most reliable model first.","tip2":"Keep 1-2 backup models with similar quality.","tip3":"Use safe retries to absorb transient provider failures."},"weighted":{"title":"Controlled traffic split","description":"Great for canary rollouts and gradual migration between models.","tip1":"Start with conservative split like 90/10.","tip2":"Keep the total at 100% and auto-balance after changes.","tip3":"Monitor success and latency before increasing canary weight."},"round-robin":{"title":"Predictable load sharing","description":"Best when models are equivalent and you need smooth distribution.","tip1":"Use at least 2 models.","tip2":"Set concurrency limits to avoid burst overload.","tip3":"Use queue timeout to fail fast under saturation."},"random":{"title":"Quick spread with low setup","description":"Use when you need simple distribution without strict guarantees.","tip1":"Use models with similar latency profiles.","tip2":"Keep retries enabled to absorb random misses.","tip3":"Prefer this for experimentation, not strict SLAs."},"least-used":{"title":"Adaptive balancing","description":"Routes to less-used models to reduce hotspots over time.","tip1":"Works better under continuous traffic.","tip2":"Combine with health checks for safer balancing.","tip3":"Track per-model usage to validate distribution gains."},"cost-optimized":{"title":"Budget-first routing","description":"Routes to lower-cost models when pricing metadata is available.","tip1":"Ensure pricing coverage for all selected models.","tip2":"Keep a quality fallback for hard prompts.","tip3":"Use for batch/background jobs where cost is the main KPI."}}},"costs":{"title":"Custos","budget":"Or\xe7amento","totalCost":"Custo Total","breakdown":"Detalhamento de Custos","noData":"Sem dados de custo","byModel":"Por Modelo","byProvider":"Por Provedor"},"endpoint":{"title":"Endpoint da API","available":"Endpoints Dispon\xedveis","cloudProxy":"Proxy na Nuvem","disableConfirm":"Tem certeza que deseja desativar o proxy na nuvem?","baseUrl":"URL Base","apiKeyLabel":"Chave de API","registeredKeys":"Chaves Registradas","chatCompletions":"Chat Completions","responses":"Respostas","listModels":"Listar Modelos","usingCloudProxy":"Usando Proxy na Nuvem","usingLocalServer":"Usando Servidor Local","machineId":"ID da M\xe1quina: {id}...","disableCloud":"Desativar Nuvem","enableCloud":"Ativar Nuvem","modelsAcrossEndpoints":"{models} modelos em {endpoints} endpoints","chatDesc":"Chat streaming e n\xe3o-streaming com todos os provedores","embeddings":"Embeddings","embeddingsDesc":"Embeddings de texto para busca e pipelines RAG","imageGeneration":"Gera\xe7\xe3o de Imagens","imageDesc":"Gerar imagens a partir de prompts de texto","rerank":"Rerank","rerankDesc":"Reordenar documentos por relev\xe2ncia a uma consulta","audioTranscription":"Transcri\xe7\xe3o de \xc1udio","audioTranscriptionDesc":"Transcrever arquivos de \xe1udio para texto (Whisper)","textToSpeech":"Texto para Fala","textToSpeechDesc":"Converter texto em fala natural","moderations":"Modera\xe7\xf5es","moderationsDesc":"Modera\xe7\xe3o de conte\xfado e classifica\xe7\xe3o de seguran\xe7a","responsesDesc":"API Responses do OpenAI para Codex e fluxos de trabalho ag\xeanticos avan\xe7ados","listModelsDesc":"Listar todos os modelos dispon\xedveis em todos os provedores conectados","settingsApiDesc":"Ler e modificar a configura\xe7\xe3o do OmniRoute via API","settingsApi":"Settings API","categoryCore":"APIs Principais","categoryMedia":"M\xeddia e Multi-Modal","categoryUtility":"Utilidades e Gerenciamento","enableCloudTitle":"Ativar Proxy na Nuvem","whatYouGet":"O que voc\xea ter\xe1","cloudBenefitAccess":"Acesse sua API de qualquer lugar do mundo","cloudBenefitShare":"Compartilhe o endpoint com sua equipe facilmente","cloudBenefitPorts":"Sem necessidade de abrir portas ou configurar firewall","cloudBenefitEdge":"Rede de borda global r\xe1pida","cloudSessionNote":"A nuvem manter\xe1 sua sess\xe3o de autentica\xe7\xe3o por 1 dia. Se n\xe3o usada, ser\xe1 automaticamente exclu\xedda.","cloudUnstableNote":"A nuvem est\xe1 atualmente inst\xe1vel com Claude Code OAuth em alguns casos.","cloudConnected":"Proxy na Nuvem conectado!","connectingToCloud":"Conectando \xe0 nuvem...","verifyingConnection":"Verificando conex\xe3o...","connecting":"Conectando...","verifying":"Verificando...","connected":"Conectado!","disableCloudTitle":"Desativar Proxy na Nuvem","disableWarning":"Todas as sess\xf5es de autentica\xe7\xe3o ser\xe3o exclu\xeddas da nuvem.","syncingData":"Sincronizando dados mais recentes...","disablingCloud":"Desativando nuvem...","syncing":"Sincronizando...","disabling":"Desativando...","cloudConnectedVerified":"Proxy na Nuvem conectado e verificado!","connectedVerificationPending":"Conectado — verifica\xe7\xe3o pendente","connectedVerificationPendingWithError":"Conectado — verifica\xe7\xe3o pendente: {error}","cloudDisabledSuccess":"Nuvem desativada com sucesso","syncedSuccess":"Sincronizado com sucesso","failedDisable":"Falha ao desativar nuvem","failedEnable":"Falha ao ativar nuvem","cloudRequestTimeout":"Tempo limite da requisi\xe7\xe3o em nuvem","cloudRequestFailed":"Falha na requisi\xe7\xe3o em nuvem","cloudWorkerUnreachable":"N\xe3o foi poss\xedvel alcan\xe7ar o worker de nuvem. Verifique se o servi\xe7o cloud est\xe1 rodando (npm run dev em /cloud).","connectionFailed":"Falha na conex\xe3o","syncFailed":"Falha ao sincronizar dados da nuvem","providerModelsTitle":"{provider} — Modelos","noModelsForProvider":"Nenhum modelo dispon\xedvel para este provedor.","chat":"Chat","embedding":"Embedding","image":"Imagem","custom":"custom","modelsCount":"{count, plural, one {# modelo} other {# modelos}}","sectionTitle":"Superf\xedcie de Integra\xe7\xe3o","sectionDescription":"APIs compat\xedveis com OpenAI e endpoints operacionais de protocolos","tabApis":"APIs compat\xedveis com OpenAI","tabProtocols":"Protocolos","tabsAria":"Se\xe7\xf5es de endpoint","protocolsTitle":"Protocolos","protocolsDescription":"MCP e A2A s\xe3o endpoints de primeira classe com observabilidade e controles dedicados.","mcpCardTitle":"Servidor MCP","mcpCardDescription":"Model Context Protocol via stdio","a2aCardTitle":"Servidor A2A","a2aCardDescription":"Endpoint Agent2Agent JSON-RPC","protocolToolsLabel":"Ferramentas","protocolTasksLabel":"Tarefas","protocolActiveStreamsLabel":"Streams ativos","protocolLastActivity":"\xdaltima atividade","quickStart":"In\xedcio r\xe1pido","openMcpDashboard":"Abrir gest\xe3o MCP","openA2aDashboard":"Abrir gest\xe3o A2A","mcpQuickStartTitle":"MCP In\xedcio r\xe1pido","mcpQuickStartStep1":"Inicie o servidor MCP com `omniroute --mcp`.","mcpQuickStartStep2":"Configure o cliente MCP para conectar por transporte stdio.","mcpQuickStartStep3":"Execute ferramentas como `omniroute_get_health` e `omniroute_list_combos`.","a2aQuickStartTitle":"A2A In\xedcio r\xe1pido","a2aQuickStartStep1":"Descubra o agent card em `/.well-known/agent.json`.","a2aQuickStartStep2":"Envie requisi\xe7\xf5es JSON-RPC para `POST /a2a` usando `message/send` ou `message/stream`.","a2aQuickStartStep3":"Acompanhe e controle tarefas com `tasks/get` e `tasks/cancel`."},"mcpDashboard":{"loading":"Carregando painel MCP...","activate":"ativar","deactivate":"desativar","confirmSwitchCombo":"Confirmar {action} combo \\"{combo}\\"?","switchComboFailed":"Falha ao alternar estado do combo.","switchComboSuccess":"Combo \\"{combo}\\" atualizado.","confirmApplyProfile":"Aplicar perfil de resili\xeancia \\"{profile}\\"?","applyProfileFailed":"Falha ao aplicar perfil de resili\xeancia.","applyProfileSuccess":"Perfil \\"{profile}\\" aplicado.","confirmResetBreakers":"Resetar todos os circuit breakers?","resetBreakersFailed":"Falha ao resetar circuit breakers.","resetBreakersSuccess":"Circuit breakers resetados.","processStatus":"Status do processo","online":"Online","offline":"Offline","pid":"PID","sessionUptime":"Uptime da sess\xe3o","lastHeartbeat":"\xdaltimo heartbeat","activity24h":"Atividade (24h)","totalCalls":"Total de chamadas","successRate":"Taxa de sucesso","avgLatency":"Lat\xeancia m\xe9dia","topTools":"Top ferramentas","noToolCalls24h":"Sem chamadas de ferramenta nas \xfaltimas 24 horas.","runtimeDetails":"Detalhes de runtime","transport":"Transporte","scopesEnforced":"Scopes aplicados","yes":"sim","no":"n\xe3o","lastCall":"\xdaltima chamada","heartbeatPath":"Caminho do heartbeat","operationalControls":"Controles operacionais","switchCombo":"Trocar combo","inactive":"inativo","active":"ativo","activateCombo":"Ativar combo","deactivateCombo":"Desativar combo","applyResilienceProfile":"Aplicar perfil de resili\xeancia","profileAggressive":"agressivo","profileBalanced":"balanceado","profileConservative":"conservador","applyProfile":"Aplicar perfil","resetCircuitBreakers":"Resetar circuit breakers","resetCircuitBreakersHelp":"Limpa o estado atual de breaker e os contadores de falha dos provedores.","resetAllBreakers":"Resetar todos os breakers","toolsAndScopes":"Ferramentas e scopes","tableTool":"Ferramenta","tableScopes":"Scopes","tablePhase":"Fase","tableAudit":"Auditoria","auditLog":"Log de auditoria","auditSummary":"Chamadas: {total} | p\xe1gina {page} de {totalPages}","allTools":"Todas as ferramentas","allResults":"Todos os resultados","success":"Sucesso","failure":"Falha","apiKeyIdPlaceholder":"apiKeyId","loadingAuditEntries":"Carregando registros de auditoria...","noAuditEntriesForFilters":"Nenhum registro de auditoria para os filtros atuais.","tableTimestamp":"Timestamp","tableDuration":"Dura\xe7\xe3o","tableResult":"Resultado","tableApiKey":"Chave API","failed":"falhou","previous":"Anterior","next":"Pr\xf3xima"},"a2aDashboard":{"loading":"Carregando painel A2A...","confirmCancelTask":"Cancelar tarefa {taskId}?","cancelTaskFailed":"Falha ao cancelar tarefa.","cancelTaskSuccess":"Tarefa {taskId} cancelada.","smokeSendFailed":"Falha no smoke test de message/send.","smokeSendSuccessWithTask":"message/send ok (tarefa {taskId}).","smokeSendSuccess":"message/send ok.","smokeStreamFailed":"Falha no smoke test de message/stream.","smokeStreamSuccessWithTask":"message/stream ok (tarefa {taskId}{stateSuffix}).","smokeStreamNoTaskId":"message/stream finalizado sem task id.","health":"Sa\xfade","ok":"ok","totalTasks":"Total de tarefas","activeStreams":"Streams ativos","lastTask":"\xdaltima tarefa","taskStateOverview":"Vis\xe3o de estados das tarefas","state":{"submitted":"submetida","working":"executando","completed":"conclu\xedda","failed":"falhou","cancelled":"cancelada"},"agentCard":"Cart\xe3o do agente","version":"Vers\xe3o","url":"URL","capabilities":"Capacidades","agentCardNotAvailable":"Cart\xe3o do agente indispon\xedvel.","quickValidation":"Valida\xe7\xe3o r\xe1pida","quickValidationDescription":"Executa chamadas de smoke pelo endpoint `/a2a` em produ\xe7\xe3o.","runMessageSend":"Executar message/send","runMessageStream":"Executar message/stream","taskManagement":"Gest\xe3o de tarefas","taskSummary":"{total} tarefas | p\xe1gina {page} de {totalPages}","allStates":"todos","allSkills":"todas as skills","loadingTasks":"Carregando tarefas...","noTasksForFilters":"Nenhuma tarefa encontrada para os filtros atuais.","tableTask":"Tarefa","tableSkill":"Skill","tableState":"Estado","tableUpdated":"Atualizada","tableActions":"A\xe7\xf5es","view":"Ver","cancel":"Cancelar","previous":"Anterior","next":"Pr\xf3xima","taskDetail":"Detalhe da tarefa","close":"Fechar","metadata":"Metadados","events":"Eventos","artifacts":"Artefatos"},"health":{"title":"Sa\xfade do Sistema","description":"Monitoramento em tempo real da sua inst\xe2ncia OmniRoute","healthy":"Saud\xe1vel","degraded":"Degradado","down":"Offline","uptime":"Tempo Ativo","memory":"Mem\xf3ria","memoryRss":"Mem\xf3ria (RSS)","heap":"Heap","cpu":"CPU","database":"Banco de Dados","version":"Vers\xe3o","lastCheck":"\xdaltima Verifica\xe7\xe3o","providerHealth":"Sa\xfade dos Provedores","systemMetrics":"M\xe9tricas do Sistema","tokenHealth":"Sa\xfade dos Tokens","refreshAll":"Atualizar Tudo","checkNow":"Verificar Agora","loadingHealth":"Carregando dados de sa\xfade...","failedToLoad":"Falha ao carregar dados de sa\xfade: {error}","retry":"Tentar Novamente","allOperational":"Todos os sistemas operacionais","issuesDetected":"Problemas detectados no sistema","updatedAt":"Atualizado {time}","latency":"Lat\xeancia","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Total de requisi\xe7\xf5es","noDataYet":"Sem dados ainda","promptCache":"Cache de Prompt","entries":"Entradas","hitRate":"Taxa de Acerto","hitsMisses":"Acertos / Erros","signatureCache":"Cache de Assinatura","signatureDefaults":"Padr\xf5es","signatureTool":"Ferramenta","signatureFamily":"Fam\xedlia","signatureSession":"Sess\xe3o","recovering":"Recuperando","noCBData":"Nenhum dado de circuit breaker dispon\xedvel. Fa\xe7a algumas requisi\xe7\xf5es primeiro.","providerHealthStatusAria":"Status de sa\xfade dos provedores","issuesLabel":"Problemas Detectados","operational":"Operacional","providers":"Provedores","healthyCount":"{count} saud\xe1veis","nodeVersion":"Node {version}","failures":"{count} falha","failuresPlural":"{count} falhas","lastFailure":"\xdaltima","rateLimitStatus":"Status de Limite de Taxa","activeLimiters":"{count} limitador ativo","activeLimitersPlural":"{count} limitadores ativos","queued":"Na Fila","queuedCount":"{count} na fila","running":"executando","runningCount":"{count} executando","ok":"OK","activeLockouts":"Bloqueios Ativos","resetConfirm":"Resetar todos os circuit breakers para estado saud\xe1vel? Isso limpar\xe1 todos os contadores de falha e restaurar\xe1 todos os provedores ao status operacional.","resetAllTitle":"Resetar todos os circuit breakers para estado saud\xe1vel","resetting":"Resetando...","resetAll":"Resetar Tudo","until":"At\xe9 {time}"},"limits":{"title":"Limites e Cotas","rateLimit":"Limite de Taxa","remaining":"Restante","requestsPerMinute":"Requisi\xe7\xf5es/min","tokensPerMinute":"Tokens/min","dailyLimit":"Limite Di\xe1rio"},"logs":{"title":"Logs","requestLogs":"Logs de Requisi\xe7\xf5es","proxyLogs":"Logs do Proxy","auditLog":"Log de Auditoria","console":"Console","auditLogDesc":"A\xe7\xf5es administrativas e eventos de seguran\xe7a","loading":"Carregando...","refresh":"Atualizar","filterByAction":"Filtrar por a\xe7\xe3o...","filterByActor":"Filtrar por ator...","filterEntriesAria":"Filtrar entradas do log de auditoria","filterByActionTypeAria":"Filtrar por tipo de a\xe7\xe3o","filterByActorAria":"Filtrar por ator","refreshAuditLogAria":"Atualizar log de auditoria","tableAria":"Entradas do log de auditoria","failedFetchAuditLog":"Falha ao carregar log de auditoria","showing":"Mostrando {count} entradas (offset {offset})","search":"Buscar","timestamp":"Data/Hora","action":"A\xe7\xe3o","actor":"Ator","target":"Alvo","details":"Detalhes","ipAddress":"Endere\xe7o IP","notAvailable":"—","noEntries":"Nenhuma entrada de log de auditoria encontrada","previous":"Anterior","next":"Pr\xf3ximo"},"onboarding":{"welcome":"Bem-vindo","security":"Seguran\xe7a","test":"Teste","ready":"Pronto!","setPassword":"Definir Senha","addProvider":"Adicione seu primeiro provedor","getStarted":"Come\xe7ar","skip":"Pular","skipWizard":"Pular assistente completamente","skipPassword":"Pular configura\xe7\xe3o de senha","skipAndContinue":"Pular e Continuar","passwordLabel":"Senha","confirmPassword":"Confirmar Senha","enterPassword":"Digite a senha","confirmPasswordPlaceholder":"Confirme a senha","passwordsMismatch":"As senhas n\xe3o coincidem","setupComplete":"Configura\xe7\xe3o Conclu\xedda!","goToDashboard":"Ir para o Painel →","welcomeDesc":"OmniRoute \xe9 seu proxy local de API de IA. Ele roteia requisi\xe7\xf5es para m\xfaltiplos provedores de IA com balanceamento de carga, failover e rastreamento de uso.","multiProvider":"Multi-Provedor","usageTracking":"Rastreamento de Uso","apiKeyMgmt":"Ger. de Chaves API","securityDesc":"Defina uma senha para proteger seu painel, ou pule por enquanto.","providerDesc":"Conecte seu primeiro provedor de IA. Voc\xea pode adicionar mais depois.","apiKeyRequired":"Chave de API (obrigat\xf3rio)","customUrlOptional":"URL personalizada (opcional)","testDesc":"Vamos verificar se a conex\xe3o com seu provedor funciona.","runTest":"Executar Teste de Conex\xe3o","testingConnection":"Testando conex\xe3o...","connectionSuccessful":"Conex\xe3o bem-sucedida! Seu provedor est\xe1 pronto.","noProviderFound":"Nenhum provedor encontrado. Voc\xea pode adicionar um pelo painel depois.","testFailed":"Teste falhou, mas voc\xea pode configurar isso depois.","couldNotTest":"N\xe3o foi poss\xedvel testar agora. Voc\xea pode testar pelo painel.","doneDesc":"Tudo pronto! Sua inst\xe2ncia OmniRoute est\xe1 configurada e pronta para rotear requisi\xe7\xf5es de IA.","yourEndpoint":"Seu endpoint:","continue":"Continuar","retry":"Tentar Novamente","failedSetPassword":"Falha ao definir senha. Tente novamente.","failedAddProvider":"Falha ao adicionar provedor. Tente novamente.","connectionError":"Erro de conex\xe3o. Tente novamente.","provider":"Provedor"},"providers":{"title":"Provedores","addProvider":"Adicionar Provedor","editProvider":"Editar Provedor","deleteProvider":"Excluir Provedor","noProviders":"Nenhum provedor configurado","modelAvailability":"Disponibilidade de Modelos","accounts":"Contas","newAccount":"Nova Conta","deleteConfirm":"Tem certeza que deseja excluir este provedor?","testing":"Testando...","testConnection":"Testar conex\xe3o","testSuccess":"Conex\xe3o bem-sucedida","testFailed":"Falha na conex\xe3o","available":"Dispon\xedvel","cooldown":"Cooldown","unavailable":"Indispon\xedvel","unknown":"Desconhecido","oauthLabel":"OAuth","compatibleLabel":"Compat\xedvel","chat":"Chat","responses":"Responses","messages":"Mensagens","oauthProviders":"Provedores OAuth","freeProviders":"Provedores Gratuitos","apiKeyProviders":"Provedores por Chave de API","compatibleProviders":"Provedores Compat\xedveis por Chave de API","testAll":"Testar Todos","testAllOAuth":"Testar todas as conex\xf5es OAuth","testAllFree":"Testar todas as conex\xf5es gratuitas","testAllApiKey":"Testar todas as conex\xf5es por chave de API","testAllCompatible":"Testar todas as conex\xf5es compat\xedveis","connected":"{count} Conectado(s)","errorCount":"{count} Erro ({code})","errorCountNoCode":"{count} Erro","noConnections":"Sem conex\xf5es","disabled":"Desativado","enableProvider":"Ativar provedor","disableProvider":"Desativar provedor","testResults":"Resultados do Teste","noCompatibleYet":"Nenhum provedor compat\xedvel adicionado","compatibleHint":"Use os bot\xf5es acima para adicionar endpoints compat\xedveis com OpenAI ou Anthropic","addOpenAICompatible":"Adicionar Compat\xedvel OpenAI","addAnthropicCompatible":"Adicionar Compat\xedvel Anthropic","addNewProvider":"Adicionar Novo Provedor","backToProviders":"Voltar para Provedores","configureNewProvider":"Configure um novo provedor de IA para usar com suas aplica\xe7\xf5es.","providerLabel":"Provedor","selectProvider":"Selecione um provedor","selectedProvider":"Provedor selecionado","authMethod":"M\xe9todo de Autentica\xe7\xe3o","apiKeyLabel":"Chave de API","apiKeyRequired":"Chave de API \xe9 obrigat\xf3ria","selectProviderRequired":"Selecione um provedor","enterApiKey":"Digite sua chave de API","apiKeySecure":"Sua chave de API ser\xe1 criptografada e armazenada com seguran\xe7a.","oauth2Connect":"Conectar com OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Conecte sua conta usando autentica\xe7\xe3o OAuth2.","displayName":"Nome de Exibi\xe7\xe3o","displayNamePlaceholder":"ex.: API de Produ\xe7\xe3o, Ambiente Dev","displayNameHint":"Opcional. Um nome amig\xe1vel para identificar esta configura\xe7\xe3o.","active":"Ativo","activeDescription":"Habilitar este provedor para uso em suas aplica\xe7\xf5es","cancel":"Cancelar","createProvider":"Criar Provedor","failedCreate":"Falha ao criar provedor","errorOccurred":"Ocorreu um erro. Tente novamente.","modelStatus":"Status dos Modelos","allModelsOperational":"Todos os modelos operacionais","modelsWithIssues":"{count} modelo(s) com problemas","allModelsNormal":"Todos os modelos est\xe3o respondendo normalmente.","cooldownCleared":"Cooldown limpo para {model}","failedClearCooldown":"Falha ao limpar cooldown","loadingAvailability":"Carregando disponibilidade dos modelos...","clearCooldown":"Limpar","clearing":"Limpando...","until":"At\xe9 {time}","providerTestFailed":"Teste de provedor falhou","modeTest":"Teste {mode}","passedCount":"{count} passaram","failedCount":"{count} falharam","testedCount":"{count} testados","millisecondsAbbr":"{value}ms","okShort":"OK","errorShort":"ERRO","noActiveConnectionsInGroup":"Nenhuma conex\xe3o ativa encontrada para este grupo.","allTestsPassed":"Todos os {total} testes passaram","testSummary":"{passed}/{total} passaram, {failed} falharam","nameLabel":"Nome","prefixLabel":"Prefixo","baseUrlLabel":"URL Base","apiTypeLabel":"Tipo de API","prefixHint":"Obrigat\xf3rio. Prefixo \xfanico para nomes de modelos.","nameHint":"Obrigat\xf3rio. Um r\xf3tulo amig\xe1vel para este n\xf3.","baseUrlHint":"Obrigat\xf3rio. URL base da API do provedor.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Validar Conex\xe3o","validating":"Validando...","connectionValid":"Conex\xe3o v\xe1lida!","connectionFailed":"Falha na conex\xe3o. Verifique URL e chave.","testKeyLabel":"Chave de API de Teste","testKeyPlaceholder":"sk-... (apenas para valida\xe7\xe3o)","providerNotFound":"Provedor n\xe3o encontrado","deleteConnectionConfirm":"Excluir esta conex\xe3o?","failedSetAlias":"Falha ao definir alias","failedSaveConnection":"Falha ao salvar conex\xe3o","failedSaveConnectionRetry":"Falha ao salvar conex\xe3o. Tente novamente.","failedRetestConnection":"Falha ao retestar conex\xe3o","deleteCompatibleNodeConfirm":"Excluir este n\xf3 Compat\xedvel com {type}?","anthropicCompatibleDetails":"Detalhes Compat\xedvel Anthropic","openaiCompatibleDetails":"Detalhes Compat\xedvel OpenAI","messagesApi":"API de Mensagens","responsesApi":"API de Respostas","chatCompletions":"Chat Completions","importingModels":"Importando...","importFromModels":"Importar de /models","addConnectionToImport":"Adicione uma conex\xe3o para habilitar importa\xe7\xe3o.","noModelsConfigured":"Nenhum modelo configurado","connectionCount":"{count} conex\xe3o(\xf5es)","fetchingModels":"Buscando modelos dispon\xedveis...","failedFetchModels":"Falha ao buscar modelos","noModelsFound":"Nenhum modelo encontrado","importFailed":"Falha na importa\xe7\xe3o","noNewModelsAdded":"Nenhum novo modelo foi adicionado.","adding":"Adicionando...","importingModelsTitle":"Importando Modelos","copyModel":"Copiar modelo","removeModel":"Remover modelo","rateLimitProtected":"Protegido","rateLimitUnprotected":"Desprotegido","enableRateLimitProtection":"Clique para habilitar prote\xe7\xe3o de limite de taxa","disableRateLimitProtection":"Clique para desabilitar prote\xe7\xe3o de limite de taxa","productionKey":"Chave de Produ\xe7\xe3o","enterNewApiKey":"Insira a nova chave API","optional":"Opcional","anthropicCompatibleName":"Compat\xedvel Anthropic","openaiCompatibleName":"Compat\xedvel OpenAI","failedImportModels":"Falha ao importar modelos","noModelsReturnedFromEndpoint":"Nenhum modelo retornado do endpoint /models.","importingModelsProgress":"Importando {current} de {total} modelos...","foundModelsStartingImport":"{count} modelos encontrados. Iniciando importa\xe7\xe3o...","importingModelById":"Importando {modelId}...","importSuccessCount":"Importa\xe7\xe3o conclu\xedda com sucesso: {count, plural, one {# modelo} other {# modelos}}!","noNewModelsAddedExisting":"Nenhum novo modelo foi adicionado (todos j\xe1 existem).","importDoneCount":"✓ Conclu\xeddo! {count, plural, one {# modelo importado.} other {# modelos importados.}}","unexpectedErrorOccurred":"Ocorreu um erro inesperado","connectionCountLabel":"{count, plural, one {# conex\xe3o} other {# conex\xf5es}}","messagesPath":"messages","responsesPath":"responses","chatCompletionsPath":"chat/completions","add":"Adicionar","edit":"Editar","delete":"Excluir","anthropic":"Anthropic","openai":"OpenAI","singleConnectionPerCompatible":"Apenas uma conex\xe3o \xe9 permitida por n\xf3 compat\xedvel. Adicione outro n\xf3 se precisar de mais conex\xf5es.","connections":"Conex\xf5es","providerProxyTitleConfigured":"Proxy do provedor: {host}","configured":"configurado","providerProxyConfigureHint":"Configurar proxy para todas as conex\xf5es deste provedor","providerProxy":"Proxy do Provedor","noConnectionsYet":"Ainda n\xe3o h\xe1 conex\xf5es","addFirstConnectionHint":"Adicione sua primeira conex\xe3o para come\xe7ar","addConnection":"Adicionar Conex\xe3o","availableModels":"Modelos Dispon\xedveis","pageAutoRefresh":"A p\xe1gina ser\xe1 atualizada automaticamente...","statusDisabled":"desativado","statusConnected":"conectado","statusRuntimeIssue":"problema local","statusAuthFailed":"falha de autentica\xe7\xe3o","statusRateLimited":"limite de taxa atingido","statusNetworkIssue":"problema de rede","statusTestUnsupported":"teste n\xe3o suportado","statusUnavailable":"indispon\xedvel","statusFailed":"falhou","statusError":"erro","oauthAccount":"Conta OAuth","errorTypeRuntime":"Runtime local","errorTypeUpstreamAuth":"Auth upstream","errorTypeMissingCredential":"Credencial ausente","errorTypeRefreshFailed":"Falha ao renovar","errorTypeTokenExpired":"Token expirado","errorTypeRateLimited":"Rate limited","errorTypeUpstreamUnavailable":"Upstream indispon\xedvel","errorTypeNetworkError":"Erro de rede","errorTypeTestUnsupported":"Teste n\xe3o suportado","errorTypeUpstreamError":"Erro upstream","proxySourceGlobal":"Global","proxySourceProvider":"Provedor","proxySourceKey":"Chave","proxyConfiguredBySource":"Proxy ({source}): {host}","autoPriority":"Auto: {priority}","proxy":"Proxy","retestAuthentication":"Retestar autentica\xe7\xe3o","retest":"Retestar","disableConnection":"Desativar conex\xe3o","enableConnection":"Ativar conex\xe3o","reauthenticateConnection":"Reautenticar esta conex\xe3o","proxyConfig":"Configura\xe7\xe3o de proxy","aliasExistsAlert":"O alias \\"{alias}\\" j\xe1 existe. Use um modelo diferente ou edite o alias existente.","openRouterAnyModelHint":"OpenRouter suporta qualquer modelo. Adicione modelos e crie aliases para acesso r\xe1pido.","modelIdFromOpenRouter":"ID do Modelo (do OpenRouter)","openRouterModelPlaceholder":"anthropic/claude-3-opus","customModels":"Modelos Personalizados","customModelsHint":"Adicione IDs de modelo que n\xe3o est\xe3o na lista padr\xe3o. Eles ficar\xe3o dispon\xedveis para roteamento.","modelId":"ID do Modelo","customModelPlaceholder":"ex.: gpt-4.5-turbo","loading":"Carregando...","removeCustomModel":"Remover modelo personalizado","noCustomModels":"Nenhum modelo personalizado adicionado ainda.","allSuggestedAliasesExist":"Todos os aliases sugeridos j\xe1 existem. Escolha um modelo diferente ou remova aliases conflitantes.","failedSaveCustomModel":"Falha ao salvar modelo personalizado","modelAddedSuccess":"Modelo {modelId} adicionado com sucesso","failedAddModelTryAgain":"Falha ao adicionar modelo. Tente novamente.","failedSaveImportedModel":"Falha ao salvar modelo importado no banco de modelos personalizados","failedImportModelsTryAgain":"Falha ao importar modelos. Tente novamente.","failedRemoveModelFromDatabase":"Falha ao remover modelo do banco de dados","modelRemovedSuccess":"Modelo removido com sucesso","failedDeleteModelTryAgain":"Falha ao excluir modelo. Tente novamente.","compatibleModelsDescription":"Adicione modelos compat\xedveis com {type} manualmente ou importe-os do endpoint /models.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"A valida\xe7\xe3o da chave de API falhou. Verifique sua chave e tente novamente.","addProviderApiKeyTitle":"Adicionar Chave de API de {provider}","checking":"Verificando...","check":"Verificar","valid":"V\xe1lido","invalid":"Inv\xe1lido","creating":"Criando...","validationChecksAnthropicCompatible":"A valida\xe7\xe3o verifica {provider} conferindo a chave de API.","validationChecksOpenAiCompatible":"A valida\xe7\xe3o verifica {provider} via /models na sua URL base.","priorityLabel":"Prioridade","saving":"Salvando...","save":"Salvar","editConnection":"Editar Conex\xe3o","accountName":"Nome da conta","email":"Email","healthCheckMinutes":"Health Check (min)","healthCheckHint":"Intervalo proativo de renova\xe7\xe3o de token. 0 = desativado.","failedTestConnection":"Falha ao testar conex\xe3o","failed":"Falhou","leaveBlankKeepCurrentApiKey":"Deixe em branco para manter a chave de API atual.","editCompatibleTitle":"Editar Compat\xedvel {type}","compatibleBaseUrlHint":"Use a URL base (terminando em /v1) para sua API compat\xedvel com {type}.","apiKeyForCheck":"Chave de API (para verifica\xe7\xe3o)","compatibleProdPlaceholder":"{type} Compat\xedvel (Prod)"},"settings":{"title":"Configura\xe7\xf5es","general":"Geral","security":"Seguran\xe7a","appearance":"Apar\xeancia","routing":"Roteamento","cache":"Cache","resilience":"Resili\xeancia","systemPrompt":"Prompt do Sistema","thinkingBudget":"Or\xe7amento de Racioc\xednio","proxy":"Proxy","pricing":"Pre\xe7os","storage":"Armazenamento","policies":"Pol\xedticas","ipFilter":"Filtro de IP","comboDefaults":"Padr\xf5es de Combo","fallbackChains":"Cadeias de Fallback","changePassword":"Alterar Senha","enablePassword":"Ativar Senha","darkMode":"Modo Escuro","lightMode":"Modo Claro","systemTheme":"Tema do Sistema","enableCache":"Ativar Cache","cacheTTL":"TTL do Cache","maxCacheSize":"Tamanho M\xe1ximo do Cache","clearCache":"Limpar Cache","cacheHits":"Acertos de Cache","cacheMisses":"Erros de Cache","hitRate":"Taxa de Acerto","cacheEntries":"Entradas no Cache","circuitBreaker":"Disjuntor","retryPolicy":"Pol\xedtica de Retentativa","maxRetries":"M\xe1ximo de Tentativas","retryDelay":"Intervalo de Retentativa","timeoutMs":"Timeout (ms)","enableSystemPrompt":"Ativar Prompt do Sistema","systemPromptText":"Texto do Prompt do Sistema","enableThinking":"Ativar Racioc\xednio","maxThinkingTokens":"M\xe1ximo de Tokens de Racioc\xednio","enableProxy":"Ativar Proxy","proxyUrl":"URL do Proxy","pricingRates":"Formato de Taxas de Pre\xe7o","currentPricing":"Vis\xe3o Geral de Pre\xe7os Atual","loadingPricing":"Carregando dados de pre\xe7os...","noPricing":"Nenhum dado de pre\xe7o dispon\xedvel","input":"Entrada","output":"Sa\xedda","cached":"Em Cache","reasoning":"Racioc\xednio","cacheCreation":"Cria\xe7\xe3o de Cache","customPricing":"Pre\xe7os Personalizados","databaseSize":"Tamanho do Banco de Dados","backupDb":"Backup do Banco de Dados","restoreDb":"Restaurar Banco de Dados","exportData":"Exportar Dados","importData":"Importar Dados","clearData":"Limpar Todos os Dados","clearDataConfirm":"Isso excluir\xe1 permanentemente todos os dados. Tem certeza?","enableRequestLogs":"Ativar Logs de Requisi\xe7\xe3o","logRetention":"Reten\xe7\xe3o de Logs","ipWhitelist":"Lista de IPs Permitidos","ipBlacklist":"Lista de IPs Bloqueados","addIP":"Adicionar IP","savedSuccessfully":"Configura\xe7\xf5es salvas com sucesso","ai":"IA","advanced":"Avan\xe7ado","localMode":"Modo Local — Todos os dados armazenados na sua m\xe1quina","settingsSectionsAria":"Se\xe7\xf5es de configura\xe7\xf5es","switchThemes":"Alternar entre temas claro e escuro","themeSelectionAria":"Sele\xe7\xe3o de tema","themeLight":"Claro","themeDark":"Escuro","themeSystem":"Sistema","hideHealthLogs":"Ocultar Logs de Health Check","hideHealthLogsDesc":"Quando ATIVADO, suprime mensagens [HealthCheck] no console do servidor","themeAccent":"Cor do tema","themeAccentDesc":"Escolha uma cor predefinida ou crie seu pr\xf3prio tema com uma cor","themeCreate":"Criar tema","themeCustom":"Tema personalizado","themeBlue":"Azul","themeRed":"Vermelho","themeGreen":"Verde","themeViolet":"Violeta","themeOrange":"Laranja","themeCyan":"Ciano","promptCache":"Cache de Prompt","flushCache":"Limpar Cache","flushing":"Limpando…","size":"Tamanho","hits":"Acertos","evictions":"Remo\xe7\xf5es","loadingCacheStats":"Carregando estat\xedsticas do cache…","globalProxy":"Proxy Global","globalProxyDesc":"Configure um proxy de sa\xedda global para todas as chamadas de API. Provedores individuais, combos e chaves podem sobrescrever.","noGlobalProxy":"Nenhum proxy global configurado","globalLabel":"Global","configure":"Configurar","globalSystemPrompt":"Prompt de Sistema Global","systemPromptDesc":"Injetado em todas as requisi\xe7\xf5es no n\xedvel do proxy","saved":"Salvo","systemPromptPlaceholder":"Digite o prompt de sistema para injetar em todas as requisi\xe7\xf5es...","systemPromptHint":"Este prompt \xe9 adicionado antes da mensagem de sistema de cada requisi\xe7\xe3o. Use para instru\xe7\xf5es globais, diretrizes de seguran\xe7a ou regras de formata\xe7\xe3o.","chars":"{count} caracteres","thinkingBudgetTitle":"Or\xe7amento de Racioc\xednio","thinkingBudgetDesc":"Controle o uso de tokens de racioc\xednio da IA em todas as requisi\xe7\xf5es","passthrough":"Passagem Direta","passthroughDesc":"Sem altera\xe7\xf5es — cliente controla or\xe7amento de racioc\xednio","auto":"Autom\xe1tico","autoDesc":"Remove toda configura\xe7\xe3o de racioc\xednio — provedor decide","custom":"Personalizado","customDesc":"Define um or\xe7amento fixo de tokens para todas as requisi\xe7\xf5es","adaptive":"Adaptativo","adaptiveDesc":"Escala or\xe7amento baseado na complexidade da requisi\xe7\xe3o","effortNone":"Nenhum (0 tokens)","effortLow":"Baixo (1K tokens)","effortMedium":"M\xe9dio (10K tokens)","effortHigh":"Alto (128K tokens)","tokenBudget":"Or\xe7amento de Tokens","tokens":"tokens","baseEffortLevel":"N\xedvel de Esfor\xe7o Base","adaptiveHint":"Modo adaptativo escala a partir deste n\xedvel base baseado na quantidade de mensagens, uso de ferramentas e tamanho do prompt.","requireLogin":"Exigir login","requireLoginDesc":"Quando ATIVADO, dashboard exige senha. Quando DESATIVADO, acesso sem login.","currentPassword":"Senha Atual","enterCurrentPassword":"Digite a senha atual","newPassword":"Nova Senha","enterNewPassword":"Digite a nova senha","confirmPassword":"Confirmar Nova Senha","confirmPasswordPlaceholder":"Confirme a nova senha","passwordsNoMatch":"As senhas n\xe3o coincidem","passwordUpdated":"Senha atualizada com sucesso","failedUpdatePassword":"Falha ao atualizar senha","errorOccurred":"Ocorreu um erro","updatePassword":"Atualizar Senha","setPassword":"Definir Senha","apiEndpointProtection":"Prote\xe7\xe3o de Endpoint da API","requireAuthModels":"Exigir chave de API para /models","requireAuthModelsDesc":"Quando ATIVADO, o endpoint /v1/models retorna 404 para requisi\xe7\xf5es n\xe3o autenticadas. Impede descoberta de modelos por usu\xe1rios n\xe3o autorizados.","blockedProviders":"Provedores Bloqueados","blockedProvidersDesc":"Ocultar provedores espec\xedficos da resposta /v1/models. Provedores bloqueados n\xe3o aparecer\xe3o nas listagens de modelos.","providersBlocked":"{count} provedor(es) bloqueado(s) do /models","blockProviderTitle":"Bloquear {provider}","unblockProviderTitle":"Desbloquear {provider}","cliFingerprint":"Assinatura Digital CLI","cliFingerprintDesc":"Reproduz a assinatura digital dos CLIs nativos ao fazer proxy. Reorganiza headers e campos do body para parecer id\xeantico \xe0s ferramentas CLI oficiais. O IP do proxy \xe9 preservado.","cliFingerprintEnabled":"{count} provider(s) com fingerprint CLI ativo","enableFingerprintTitle":"Ativar fingerprint para {provider}","disableFingerprintTitle":"Desativar fingerprint para {provider}","routingStrategy":"Estrat\xe9gia de Roteamento","fillFirst":"Preencher Primeiro","fillFirstDesc":"Usar contas em ordem de prioridade","roundRobin":"Round Robin","roundRobinDesc":"Ciclar entre todas as contas","p2c":"P2C","p2cDesc":"Escolher 2 aleat\xf3rias, usar a mais saud\xe1vel","random":"Aleat\xf3rio","randomDesc":"Conta aleat\xf3ria em cada requisi\xe7\xe3o","leastUsed":"Menos Usado","leastUsedDesc":"Escolher a conta usada menos recentemente","costOpt":"Custo Otimizado","costOptDesc":"Preferir conta mais barata dispon\xedvel","stickyLimit":"Limite Fixo","stickyLimitDesc":"Chamadas por conta antes de trocar","modelAliases":"Aliases de Modelo","modelAliasesTitle":"Aliases de Modelo","modelAliasesDesc":"Padr\xf5es coringa para remapear nomes de modelos • Use * e ?","addCustomAlias":"Adicionar Alias Personalizado","deprecatedModelId":"ID do modelo depreciado","newModelId":"Novo ID do modelo","customAliases":"Aliases Personalizados","builtInAliases":"Aliases Integrados","backgroundDegradationTitle":"Degrada\xe7\xe3o de Tarefas em Background","backgroundDegradationDesc":"Detecta automaticamente tarefas em background (t\xedtulos, resumos) e roteia para modelos mais baratos","enableDegradation":"Ativar Degrada\xe7\xe3o em Background","enableDegradationHint":"Quando ativado, tarefas em background como gera\xe7\xe3o de t\xedtulos e resumos s\xe3o roteadas automaticamente para modelos mais baratos","tasksDetected":"Tarefas detectadas","degradationMap":"Mapa de Degrada\xe7\xe3o de Modelos","premiumModel":"Modelo premium","cheapModel":"Modelo barato","detectionPatterns":"Padr\xf5es de Detec\xe7\xe3o","newPattern":"ex: \\"gerar um t\xedtulo\\"","aliasPatternPlaceholder":"claude-sonnet-*","aliasTargetPlaceholder":"claude-sonnet-4-20250514","pattern":"Padr\xe3o","targetModel":"Modelo Alvo","add":"+ Adicionar","session":"Sess\xe3o","sessionDetailsAria":"Detalhes da sess\xe3o","status":"Status","authenticated":"Autenticado","guest":"Visitante","loginTime":"Hora do Login","sessionAge":"Dura\xe7\xe3o da Sess\xe3o","browser":"Navegador","clearLocalData":"Limpar Dados Locais","logout":"Sair","clearLocalDataConfirm":"Limpar todos os dados locais? Isso redefinir\xe1 suas prefer\xeancias.","unknown":"Desconhecido","systemActor":"sistema","ipAccessControl":"Controle de Acesso por IP","ipAccessControlDesc":"Bloquear ou permitir endere\xe7os IP espec\xedficos","ipModeDisabled":"Desativado","ipModeBlacklist":"Lista de Bloqueio","ipModeWhitelist":"Lista de Permiss\xe3o","ipModeWhitelistPriority":"Permiss\xe3o Priorit\xe1ria","addIpAddress":"Adicionar Endere\xe7o IP","ipAddressPlaceholder":"192.168.1.0/24 ou 10.0.*.*","block":"+ Bloquear","allow":"+ Permitir","blocked":"Bloqueados ({count})","allowed":"Permitidos ({count})","temporaryBans":"Banimentos Tempor\xe1rios ({count})","minLeft":"{min}m restantes","auditLog":"Log de Auditoria","searchAuditLogs":"Buscar logs de auditoria...","failedLoadAuditLog":"Falha ao carregar log de auditoria","noAuditEvents":"Nenhum evento de auditoria encontrado","action":"A\xe7\xe3o","actor":"Ator","details":"Detalhes","time":"Hora","fallbackChainsTitle":"Cadeias de Fallback","fallbackChainsDesc":"Definir ordem de fallback de provedores por modelo","addChain":"+ Adicionar Cadeia","modelName":"Nome do Modelo","modelNamePlaceholder":"claude-sonnet-4-20250514","providersCommaSeparated":"Provedores (separados por v\xedrgula, em ordem de prioridade)","providersCommaSeparatedPlaceholder":"anthropic, openai, gemini","createChain":"Criar Cadeia","noFallbackChains":"Sem Cadeias de Fallback","noFallbackChainsDesc":"Crie uma cadeia para definir a ordem de fallback de provedores para um modelo.","loadingFallbackChains":"Carregando cadeias de fallback...","deleteChainConfirm":"Excluir cadeia de fallback para \\"{model}\\"?","chainCreated":"Cadeia criada para {model}","chainDeleted":"Cadeia exclu\xedda para {model}","failedCreateChain":"Falha ao criar cadeia","failedDeleteChain":"Falha ao excluir cadeia","deleteChain":"Excluir cadeia","fillModelAndProviders":"Preencha o nome do modelo e os provedores","addAtLeastOneProvider":"Adicione pelo menos um provedor","comboDefaultsTitle":"Padr\xf5es de Combo","globalComboConfig":"Configura\xe7\xe3o global de combos","defaultStrategy":"Estrat\xe9gia Padr\xe3o","defaultStrategyDesc":"Aplicada a novos combos sem estrat\xe9gia expl\xedcita","comboStrategyAria":"Estrat\xe9gia de combo","priority":"Prioridade","weighted":"Ponderado","maxRetriesLabel":"M\xe1x. Tentativas","retryDelayLabel":"Atraso entre Tentativas (ms)","timeoutLabel":"Timeout (ms)","healthCheck":"Verifica\xe7\xe3o de Sa\xfade","healthCheckDesc":"Verificar disponibilidade do provedor antes","trackMetrics":"Rastrear M\xe9tricas","trackMetricsDesc":"Registrar m\xe9tricas de requisi\xe7\xe3o por combo","providerOverrides":"Sobrescritas por Provedor","providerOverridesDesc":"Substituir timeout e tentativas por provedor. Configura\xe7\xf5es do provedor substituem os padr\xf5es globais.","providerMaxRetriesAria":"{provider} tentativas m\xe1ximas","providerTimeoutAria":"timeout de {provider} em ms","removeProviderOverrideAria":"Remover sobrescrita de {provider}","newProviderNamePlaceholder":"ex.: google, openai...","newProviderNameAria":"Nome do novo provedor","retries":"tentativas","ms":"ms","saveComboDefaults":"Salvar Padr\xf5es de Combo","maxNestingDepth":"Profundidade M\xe1x. de Aninhamento","concurrencyPerModel":"Concorr\xeancia / Modelo","queueTimeout":"Timeout da Fila (ms)","providerProfiles":"Perfis de Provedor","providerProfilesDesc":"Configura\xe7\xf5es de resili\xeancia separadas para provedores OAuth (baseados em sess\xe3o) e API Key (medidos). Provedores OAuth t\xeam limites mais rigorosos devido a taxas mais baixas.","oauthProviders":"Provedores OAuth","apiKeyProviders":"Provedores API Key","transientCooldown":"Cooldown Transit\xf3rio","rateLimitCooldown":"Cooldown de Rate Limit","maxBackoffLevel":"N\xedvel M\xe1x. de Backoff","cbThreshold":"Limiar do CB","cbResetTime":"Tempo de Reset do CB","rateLimiting":"Limita\xe7\xe3o de Taxa","rateLimitingDesc":"Provedores API Key s\xe3o automaticamente limitados com padr\xf5es seguros. Limites s\xe3o aprendidos dos cabe\xe7alhos de resposta e se adaptam ao longo do tempo.","defaultSafetyNet":"Rede de Seguran\xe7a Padr\xe3o","rpm":"RPM","minGap":"Intervalo M\xedn.","maxConcurrent":"M\xe1x. Concorrentes","activeLimiters":"Limitadores Ativos","noActiveLimiters":"Nenhum limitador de taxa ativo ainda.","reservoir":"Reservat\xf3rio","running":"Em Execu\xe7\xe3o","queued":"Na Fila","circuitBreakers":"Disjuntores","breakerStateClosed":"Fechado","breakerStateOpen":"Aberto","breakerStateHalfOpen":"Semiaberto","tripped":"{count} aberto(s)","healthy":"{count} saud\xe1vel(is)","resetAll":"Resetar Todos","noCircuitBreakers":"Nenhum disjuntor ativo ainda. Eles s\xe3o criados automaticamente quando requisi\xe7\xf5es passam pelo pipeline de combos.","failures":"{count} falha(s)","policiesLocked":"Pol\xedticas e Identificadores Bloqueados","allOperational":"Todos os sistemas operacionais — sem bloqueios ou disjuntores ativados","loadingPolicies":"Carregando pol\xedticas...","lockedIdentifiers":"Identificadores Bloqueados","unlockedIdentifier":"Desbloqueado: {identifier}","sinceDate":"desde {date}","forceUnlock":"For\xe7ar Desbloqueio","unlocking":"Desbloqueando...","failedUnlock":"Falha ao desbloquear","failedLoadWithStatus":"Falha ao carregar: {status}","failedLoadResilience":"Falha ao carregar status de resili\xeancia","saveFailed":"Falha ao salvar","resetFailed":"Falha ao resetar","loadingResilience":"Carregando status de resili\xeancia...","retry":"Tentar Novamente","systemStorage":"Sistema e Armazenamento","allDataLocal":"Todos os dados armazenados localmente na sua m\xe1quina","databasePath":"Caminho do Banco de Dados","exportDatabase":"Exportar Banco de Dados","exportAll":"Exportar Tudo (.tar.gz)","importDatabase":"Importar Banco de Dados","confirmDbImport":"Confirmar Importa\xe7\xe3o do Banco","confirmDbImportDesc":"Isso substituir\xe1 todos os dados atuais pelo conte\xfado de {file}. Um backup ser\xe1 criado automaticamente antes da importa\xe7\xe3o.","yesImport":"Sim, Importar","lastBackup":"\xdaltimo Backup","noBackupYet":"Nenhum backup ainda","backupNow":"Backup Agora","backupRestore":"Backup e Restaura\xe7\xe3o","viewBackups":"Ver Backups","hide":"Ocultar","backupRetentionDesc":"Snapshots do banco s\xe3o criados automaticamente antes da restaura\xe7\xe3o e a cada 15 minutos quando h\xe1 altera\xe7\xf5es. Reten\xe7\xe3o: 24 hor\xe1rios + 30 di\xe1rios com rota\xe7\xe3o inteligente.","loadingBackups":"Carregando backups...","noBackupsYet":"Nenhum backup dispon\xedvel ainda. Backups ser\xe3o criados automaticamente quando houver altera\xe7\xf5es.","backupsAvailable":"{count} backup(s) dispon\xedvel(is)","refresh":"Atualizar","confirm":"Confirmar?","yes":"Sim","no":"N\xe3o","restore":"Restaurar","invalidFileType":"Tipo de arquivo inv\xe1lido. Apenas arquivos .sqlite s\xe3o aceitos.","exportFailed":"Falha na exporta\xe7\xe3o","exportFailedWithError":"Falha na exporta\xe7\xe3o: {error}","fullExportFailedWithError":"Falha na exporta\xe7\xe3o completa: {error}","backupCreated":"Backup criado: {file}","restoreSuccess":"Restaurado! {connections} conex\xf5es, {nodes} n\xf3s, {combos} combos, {apiKeys} chaves de API.","importSuccess":"Banco importado! {connections} conex\xf5es, {nodes} n\xf3s, {combos} combos, {apiKeys} chaves de API.","justNow":"agora mesmo","minutesAgo":"{count}m atr\xe1s","hoursAgo":"{count}h atr\xe1s","daysAgo":"{count}d atr\xe1s","backupReasonManual":"manual","backupReasonPreRestore":"pr\xe9-restaura\xe7\xe3o","connectionsCount":"{count, plural, one {# conex\xe3o} other {# conex\xf5es}}","noChangesSinceBackup":"Sem altera\xe7\xf5es desde o \xfaltimo backup","backupFailed":"Falha no backup","restoreFailed":"Falha na restaura\xe7\xe3o","importFailed":"Falha na importa\xe7\xe3o","errorDuringRestore":"Ocorreu um erro durante a restaura\xe7\xe3o","errorDuringImport":"Ocorreu um erro durante a importa\xe7\xe3o","modelPricing":"Pre\xe7os de Modelos","modelPricingDesc":"Configure taxas de custo por modelo • Todas as taxas em $/1M tokens","providers":"Provedores","registry":"Registro","priced":"Com Pre\xe7o","searchProvidersModels":"Buscar provedores ou modelos...","showAll":"Mostrar Todos","noProvidersMatch":"Nenhum provedor corresponde \xe0 sua busca.","howPricingWorks":"Como os Pre\xe7os Funcionam","cacheWrite":"Escrita em Cache","unsaved":"n\xe3o salvo","resetDefaults":"Restaurar Padr\xf5es","saveProvider":"Salvar Provedor","saving":"Salvando...","model":"Modelo","models":"modelos","moreProviders":"{count} provedores adicionais","withPricing":"com pre\xe7o configurado","policiesCircuitBreakers":"Pol\xedticas e Disjuntores","activeIssuesDetected":"Problemas ativos detectados","off":"Desligado","resetPricingConfirm":"Resetar todos os pre\xe7os de {provider} para os padr\xf5es?","pricingDescInput":"Input: tokens enviados ao modelo","pricingDescOutput":"Output: tokens gerados","pricingDescCached":"Cached: input reutilizado (~50% da taxa de input)","pricingDescReasoning":"Reasoning: tokens de racioc\xednio (fallback para Output)","pricingDescCacheWrite":"Cache Write: cria\xe7\xe3o de entradas de cache (fallback para Input)","pricingDescFormula":"Custo = (input \xd7 taxa_input) + (output \xd7 taxa_output) + (cached \xd7 taxa_cached) por milh\xe3o de tokens.","pricingSettingsTitle":"Configura\xe7\xf5es de Pre\xe7os","totalModels":"Total de Modelos","active":"Ativo","costCalculation":"C\xe1lculo de Custo","costCalculationDesc":"Custos s\xe3o calculados com base no uso de tokens e taxas de pre\xe7o configuradas para cada modelo.","pricingFormat":"Formato de Pre\xe7os","pricingFormatDesc":"Todas as taxas s\xe3o em $/1M tokens (d\xf3lares por milh\xe3o de tokens).","tokenTypes":"Tipos de Token","inputTokenDesc":"Tokens de prompt padr\xe3o","outputTokenDesc":"Tokens de conclus\xe3o/resposta","cachedTokenDesc":"Tokens de input em cache (tipicamente 50% da taxa de input)","reasoningTokenDesc":"Tokens especiais de racioc\xednio (fallback para taxa de output)","cacheCreationTokenDesc":"Tokens usados para criar entradas de cache (fallback para taxa de input)","customPricingNote":"Voc\xea pode sobrescrever pre\xe7os padr\xe3o para modelos espec\xedficos. Sobrescritas personalizadas t\xeam prioridade sobre pre\xe7os detectados automaticamente.","editPricing":"Editar Pre\xe7os","viewFullDetails":"Ver Detalhes Completos","themeCoral":"Coral"},"translator":{"title":"Tradutor","metaTitle":"Playground do Tradutor | OmniRoute","metaDescription":"Depure, teste e visualize tradu\xe7\xf5es de formatos de API entre provedores","playgroundTitle":"Playground do Tradutor","playground":"Playground","realtime":"Atividade de Tradu\xe7\xe3o em Tempo Real","chatTester":"Testador de Chat","testBench":"Bancada de Testes","liveMonitor":"Monitor ao Vivo","modeDescriptionPlayground":"Cole qualquer corpo de requisi\xe7\xe3o de API e veja como o OmniRoute traduz entre formatos de provedores (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)","modeDescriptionChatTester":"Envie requisi\xe7\xf5es reais de chat pelo OmniRoute e inspecione o ciclo completo: entrada, requisi\xe7\xe3o traduzida, resposta do provedor e sa\xedda traduzida.","modeDescriptionTestBench":"Execute cen\xe1rios predefinidos e compare compatibilidade entre provedores e modelos.","modeDescriptionLiveMonitor":"Acompanhe eventos de tradu\xe7\xe3o em tempo real conforme as requisi\xe7\xf5es passam pelo OmniRoute.","modeDescriptionFallback":"Depure, teste e visualize como o OmniRoute traduz requisi\xe7\xf5es de API entre provedores.","recentTranslations":"Tradu\xe7\xf5es Recentes","noTranslations":"Nenhuma tradu\xe7\xe3o ainda","source":"Origem","target":"Destino","time":"Hora","model":"Modelo","status":"Status","latency":"Lat\xeancia","totalTranslations":"Total de Tradu\xe7\xf5es","successful":"Sucesso","errors":"Erros","avgLatency":"Lat\xeancia M\xe9dia","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Ao vivo — atualizando automaticamente","paused":"Pausado","eventsAppearHint":"Os eventos de tradu\xe7\xe3o aparecem aqui conforme as requisi\xe7\xf5es passam pelo OmniRoute. Use qualquer um destes m\xe9todos para gerar eventos:","chatTesterTab":"Aba Testador de Chat","testBenchTab":"Aba Bancada de Testes","externalApiCalls":"Chamadas de API externas","ideCliIntegrations":"Integra\xe7\xf5es IDE/CLI","inMemoryNote":"Nota: os eventos s\xe3o armazenados em mem\xf3ria e reiniciados quando o servidor reinicia.","ok":"OK","errorShort":"ERR","formatConverter":"Conversor de Formato","formatConverterDescription":"Cole ou digite um corpo de requisi\xe7\xe3o JSON. O tradutor detectar\xe1 automaticamente o formato de origem e converter\xe1 para o formato de destino. Use isso para depurar como o OmniRoute traduz requisi\xe7\xf5es entre formatos (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Entrada","output":"Sa\xedda","auto":"Auto","swapFormats":"Trocar formatos","translateAction":"Traduzir","clear":"Limpar","inputPlaceholder":"Cole um corpo de requisi\xe7\xe3o aqui ou selecione um modelo abaixo...","exampleTemplates":"Modelos de Exemplo","exampleTemplatesHint":"— Clique para carregar","templateLoadHint":"O modelo carrega a requisi\xe7\xe3o no formato {format}. Altere o Formato de Origem para carregar em outro formato.","compatibilityTester":"Testador de Compatibilidade","compatibilityReport":"Relat\xf3rio de Compatibilidade","testBenchDescription":"Execute cen\xe1rios predefinidos (Chat Simples, Chamada de Ferramenta, etc.) para validar tradu\xe7\xe3o e compatibilidade do provedor. Selecione um formato de origem e o provedor de destino, depois execute todos os testes para ver a porcentagem de compatibilidade.","targetProvider":"Provedor de destino","runAllTests":"Executar todos os testes","runTest":"Executar teste","reRun":"Executar novamente","running":"Executando...","passed":"aprovados","failed":"falharam","passedIconLabel":"✅ Aprovado","chunks":"chunks","scenarioSimpleChat":"Chat Simples","scenarioToolCalling":"Chamada de Ferramenta","scenarioMultiTurn":"Multiturno","scenarioThinking":"Racioc\xednio","scenarioSystemPrompt":"Prompt de Sistema","scenarioStreaming":"Streaming","templateNames":{"simple-chat":"Chat Simples","tool-calling":"Chamada de Ferramenta","multi-turn":"Multiturno","thinking":"Racioc\xednio","system-prompt":"Prompt de Sistema","streaming":"Streaming"},"templateDescriptions":{"simple-chat":"Mensagem de texto b\xe1sica","tool-calling":"Invoca\xe7\xe3o de fun\xe7\xe3o/ferramenta","multi-turn":"Conversa com hist\xf3rico","thinking":"Racioc\xednio estendido","system-prompt":"Instru\xe7\xf5es de sistema complexas","streaming":"Requisi\xe7\xe3o de streaming SSE"},"templatePayloads":{"simpleChat":{"system":"Voc\xea \xe9 um assistente prestativo.","userGreeting":"Ol\xe1! Como voc\xea est\xe1 hoje?"},"toolCalling":{"userWeather":"Como est\xe1 o tempo em S\xe3o Paulo?","toolDescription":"Obt\xe9m o clima atual para uma localidade","cityNameDescription":"Nome da cidade"},"multiTurn":{"system":"Voc\xea \xe9 um assistente de programa\xe7\xe3o.","userInitial":"Escreva uma fun\xe7\xe3o para ordenar um array em Python.","assistantExample":"Aqui est\xe1 uma fun\xe7\xe3o simples de ordena\xe7\xe3o:\\n\\n```python\\ndef sort_array(arr):\\n return sorted(arr)\\n```","userFollowUp":"Agora fa\xe7a para ordenar em ordem decrescente."},"thinking":{"question":"Qual \xe9 a soma dos 100 primeiros n\xfameros primos?"},"systemPrompt":{"systemInstruction":"Voc\xea \xe9 um engenheiro de software s\xeanior especializado em sistemas distribu\xeddos. Responda de forma concisa usando boas pr\xe1ticas de mercado. Sempre forne\xe7a exemplos de c\xf3digo quando relevante. Formate suas respostas usando markdown.","question":"Como implemento o padr\xe3o circuit breaker?"},"streaming":{"prompt":"Conte uma hist\xf3ria curta sobre um rob\xf4 aprendendo a pintar."}},"openaiCompatibleLabel":"Compat\xedvel com OpenAI","anthropicCompatibleLabel":"Compat\xedvel com Anthropic","noTemplateForFormat":"Sem modelo para este formato","translationFailed":"Falha na tradu\xe7\xe3o: {error}","pipelineDebugger":"Depurador de Pipeline","translationPipeline":"Pipeline de Tradu\xe7\xe3o","pipelineVisualization":"Visualiza\xe7\xe3o do pipeline","pipelineVisualizationHint":"Envie uma mensagem para ver como sua requisi\xe7\xe3o flui por detec\xe7\xe3o → tradu\xe7\xe3o → chamada ao provedor.","chatTesterDescription":"Envie mensagens em um formato espec\xedfico de cliente e inspecione cada etapa do pipeline de tradu\xe7\xe3o.","chatTesterFlow":"Requisi\xe7\xe3o do Cliente → Detec\xe7\xe3o de Formato → Intermedi\xe1rio OpenAI → Formato do Provedor → Resposta","clickStepToInspect":"Clique em qualquer etapa para inspecionar os dados naquele ponto.","clientFormat":"Formato do cliente","provider":"Provedor","modelPlaceholder":"Selecione ou digite um nome de modelo...","sendMessageToSeePipeline":"Envie uma mensagem para ver o pipeline de tradu\xe7\xe3o","chatMessageHintPrefix":"Sua mensagem ser\xe1 formatada como uma requisi\xe7\xe3o no formato","chatMessageHintSuffix":"traduzida pelo pipeline e enviada ao provedor selecionado.","youWithFormat":"Voc\xea ({format})","assistant":"Assistente","typeMessage":"Digite uma mensagem...","send":"Enviar","clientRequest":"Requisi\xe7\xe3o do Cliente","clientRequestDescription":"O corpo de requisi\xe7\xe3o como seu cliente enviaria","formatDetected":"Formato Detectado","formatDetectedDescription":"O OmniRoute detecta automaticamente o formato da API a partir da estrutura da requisi\xe7\xe3o","openaiIntermediate":"Intermedi\xe1rio OpenAI","openaiIntermediateDescription":"Todos os formatos s\xe3o primeiro normalizados para o formato OpenAI (ponte universal)","providerFormat":"Formato do Provedor","providerFormatDescription":"O formato OpenAI \xe9 traduzido para o formato nativo do provedor","providerResponse":"Resposta do Provedor","providerResponseRawDescription":"A resposta bruta da API do provedor","providerResponseSseDescription":"O stream SSE bruto da API do provedor","unexpectedError":"Ocorreu um erro inesperado","error":"Erro","errorMessage":"Erro: {message}","requestFailed":"Falha na requisi\xe7\xe3o","noTextExtracted":"(Nenhum texto extra\xeddo)","liveMonitorDescriptionPrefix":"Mostra eventos de tradu\xe7\xe3o conforme chamadas de API passam pelo OmniRoute. Os eventos v\xeam do buffer em mem\xf3ria (reinicia ao reiniciar o servidor). Use","liveMonitorDescriptionSuffix":", ou chamadas de API externas para gerar eventos."},"usage":{"title":"Uso","loggerTab":"Logger","proxyTab":"Proxy","budgetManagement":"Gerenciamento de Or\xe7amento","budgetSaved":"Limites de or\xe7amento salvos","budgetSaveFailed":"Falha ao salvar limites de or\xe7amento","loadingBudgetData":"Carregando dados de or\xe7amento...","noApiKeysTitle":"Nenhuma Chave de API","noApiKeysDescription":"Adicione chaves de API primeiro para configurar limites de or\xe7amento.","apiKey":"Chave de API","todaysSpend":"Gasto de hoje","thisMonth":"Este M\xeas","setLimits":"Definir Limites","dailyLimitUsd":"Limite di\xe1rio (USD)","monthlyLimitUsd":"Limite mensal (USD)","warningThresholdPercent":"Limite de aviso (%)","dailyLimitPlaceholder":"ex.: 5.00","monthlyLimitPlaceholder":"ex.: 50.00","warningThresholdPlaceholder":"80","saveLimits":"Salvar limites","budgetOk":"Or\xe7amento OK — {remaining} restantes","budgetExceeded":"Or\xe7amento excedido — requisi\xe7\xf5es podem ser bloqueadas","totalRequests":"Total de requisi\xe7\xf5es","noDataYet":"Sem dados ainda","latency":"Lat\xeancia","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","promptCache":"Cache de Prompt","systemHealth":"Sa\xfade do Sistema","entries":"Entradas","activeCount":"{count, plural, one {# ativo} other {# ativos}}","openCircuitBreakersDetected":"Disjuntores abertos detectados","hitRate":"Taxa de Acerto","hitsMisses":"Acertos / Erros","circuitBreakers":"Disjuntores","lockedIPs":"IPs Bloqueados","lockoutsAutoRefreshHint":"Bloqueios por limite de taxa por modelo • Atualiza\xe7\xe3o autom\xe1tica 10s","lockedCount":"{count, plural, one {# bloqueado} other {# bloqueados}}","timeLeft":"{time} restantes","howItWorks":"Como Funciona","howItWorksSubtitle":"Entenda como as avalia\xe7\xf5es validam as respostas do seu LLM","define":"Definir","defineStepDescription":"Crie casos de teste com prompts de entrada e crit\xe9rios de sa\xedda esperados usando estrat\xe9gias como contains, regex ou correspond\xeancia exata.","run":"Executar","runStepDescription":"Execute casos de teste contra seus endpoints de LLM via OmniRoute. Cada caso \xe9 enviado como uma requisi\xe7\xe3o real de API.","evaluate":"Avaliar","evaluateStepDescription":"As respostas s\xe3o comparadas com os crit\xe9rios esperados. Veja aprovado/reprovado por caso com m\xe9tricas de lat\xeancia e feedback detalhado.","evalSuites":"Su\xedtes de Avalia\xe7\xe3o","evalSuitesHint":"Clique em uma su\xedte para ver os casos de teste e execute para avaliar seus endpoints de LLM","evalsLoading":"Carregando su\xedtes de avalia\xe7\xe3o...","noEvalSuitesFound":"Nenhuma su\xedte de avalia\xe7\xe3o encontrada","noEvalSuitesDescription":"As su\xedtes de avalia\xe7\xe3o podem ser definidas via API ou em c\xf3digo. Elas testam sa\xeddas de modelos contra resultados esperados usando estrat\xe9gias como contains, regex, correspond\xeancia exata e fun\xe7\xf5es customizadas.","columnCase":"Caso","columnStatus":"Status","columnLatency":"Lat\xeancia","columnDetails":"Detalhes","columnModel":"Modelo","columnStrategy":"Estrat\xe9gia","columnExpected":"Esperado","statsSuites":"Su\xedtes","statsTestCases":"Casos de Teste","statsModels":"Modelos","statsCoverage":"Cobertura","statsStrategiesCount":"{count} estrat\xe9gias","evaluationStrategies":"Estrat\xe9gias de Avalia\xe7\xe3o","modelsUnderTest":"Modelos em Teste","searchSuitesPlaceholder":"Buscar su\xedtes...","passSuffix":"de aprova\xe7\xe3o","casesCount":"{count, plural, one {# caso} other {# casos}}","runEval":"Executar avalia\xe7\xe3o","runningProgress":"Executando {current}/{total}...","passRate":"taxa de aprova\xe7\xe3o","summaryBreakdown":"{passed} aprovados \xb7 {failed} falharam \xb7 {total} total","passedIconLabel":"✅ Aprovado","failedIconLabel":"❌ Falhou","detailsContains":"Cont\xe9m: \\"{term}\\"","detailsRegex":"Regex: {pattern}","detailsExpected":"Esperado: \\"{expected}\\"","noResultsYet":"Sem resultados ainda","testCasesCount":"Casos de Teste ({count})","noTestCasesDefined":"Nenhum caso de teste definido","runEvalHint":"Clique em \\"Executar avalia\xe7\xe3o\\" para executar todos os casos contra seu endpoint de LLM. Cada teste envia uma requisi\xe7\xe3o real pelo OmniRoute.","notifyNoTestCases":"Nenhum caso de teste definido para esta su\xedte","notifyAllCasesPassed":"Todos os {total} casos passaram ✅","notifySomeCasesFailed":"{passed}/{total} passaram, {failed} falharam","notifyEvalRunFailed":"Falha na execu\xe7\xe3o da avalia\xe7\xe3o","notifyEvalTitle":"Avalia\xe7\xe3o: {name}","modelEvals":"Avalia\xe7\xf5es de Modelos","evalsHeroDescription":"Teste e valide seus endpoints de LLM executando su\xedtes de avalia\xe7\xe3o predefinidas. Cada su\xedte cont\xe9m casos de teste que enviam prompts reais pelo OmniRoute e comparam respostas com crit\xe9rios esperados — ajudando voc\xea a detectar regress\xf5es, comparar modelos e garantir qualidade de resposta entre provedores.","qualityValidation":"Valida\xe7\xe3o de Qualidade","modelComparison":"Compara\xe7\xe3o de Modelos","regressionDetection":"Detec\xe7\xe3o de Regress\xe3o","latencyBenchmarks":"Benchmarks de Lat\xeancia","modelLockouts":"Bloqueios de Modelo","noLockouts":"Nenhum modelo bloqueado","activeSessions":"Sess\xf5es Ativas","noSessions":"Sem sess\xf5es ativas","sessionsHint":"Sess\xf5es aparecem conforme requisi\xe7\xf5es passam pelo proxy","sessionsTrackedHint":"Rastreado por fingerprint de requisi\xe7\xf5es • Atualiza\xe7\xe3o autom\xe1tica 5s","session":"Sess\xe3o","age":"Idade","requests":"Requisi\xe7\xf5es","connection":"Conex\xe3o","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Limites do Provedor","noProviders":"Nenhum Provedor Conectado","connectProvidersForQuota":"Conecte provedores com OAuth para acompanhar limites e uso de cota da API.","accountsCount":"{count, plural, one {# conta} other {# contas}}","filteredFromCount":"(filtrado de {count})","autoRefresh":"Atualiza\xe7\xe3o autom\xe1tica","refreshAll":"Atualizar tudo","loadingQuotas":"Carregando...","account":"Conta","modelQuotas":"Cotas de Modelo","lastUsed":"\xdaltimo uso","actions":"A\xe7\xf5es","refreshQuota":"Atualizar cota","today":"Hoje","tomorrow":"Amanh\xe3","dayTimeFormat":"{day}, {time}","inDuration":"em {duration}","notApplicable":"N/D","rawPlanWithValue":"Plano bruto: {plan}","noPlanFromProvider":"Sem plano do provedor","noQuotaData":"Sem dados de cota","noQuotaDataAvailable":"Nenhum dado de cota dispon\xedvel","noAccountsForTierFilter":"Nenhuma conta encontrada para o filtro de plano","tierAll":"Todos","tierEnterprise":"Enterprise","tierTeam":"Team","tierBusiness":"Business","tierUltra":"Ultra","tierPro":"Pro","tierPlus":"Plus","tierFree":"Free","tierUnknown":"Desconhecido"},"modals":{"waitingAuth":"Aguardando Autoriza\xe7\xe3o","verificationUrl":"URL de Verifica\xe7\xe3o","yourCode":"Seu C\xf3digo","remoteAccess":"Acesso remoto:","connectedSuccess":"Conectado com Sucesso!","connectionFailed":"Falha na Conex\xe3o","chooseAuthMethod":"Escolha seu m\xe9todo de autentica\xe7\xe3o:","awsBuilderId":"AWS Builder ID","awsIamIdentity":"AWS IAM Identity Center","googleAccount":"Conta Google","githubAccount":"Conta GitHub","importToken":"Importar Token","pasteToken":"Cole o refresh token do Kiro IDE.","awsRegion":"Regi\xe3o AWS","autoDetecting":"Detectando tokens automaticamente...","readingFromCache":"Lendo do cache AWS SSO","readingFromCursor":"Lendo do banco de dados do Cursor IDE","initializing":"Inicializando...","pricingConfig":"Configura\xe7\xe3o de Pre\xe7os","loadingPricing":"Carregando dados de pre\xe7os...","pricingRatesFormat":"Formato de Taxas de Pre\xe7o","noPricingData":"Nenhum dado de pre\xe7o dispon\xedvel","noModelsFound":"Nenhum modelo encontrado"},"loggers":{"allProviders":"Todos os Provedores","allModels":"Todos os Modelos","allAccounts":"Todas as Contas","allApiKeys":"Todas as Chaves de API","allTypes":"Todos os Tipos","allLevels":"Todos os N\xedveis","modelAZ":"Modelo A-Z","modelZA":"Modelo Z-A","loadingLogs":"Carregando logs...","loadingProxyLogs":"Carregando logs do proxy...","noLogEntries":"Nenhuma entrada de log encontrada","noPayloadData":"Nenhum dado de payload dispon\xedvel para esta entrada.","proxyEvent":"Evento do Proxy","proxy":"Proxy","level":"N\xedvel","directNative":"Direto (nativo)","combo":"Combo","inputTokens":"E:","outputTokens":"S:"},"stats":{"usageOverview":"Vis\xe3o Geral de Uso","outputTokens":"Tokens de Sa\xedda","totalCost":"Custo Total","usageByModel":"Uso por Modelo","usageByAccount":"Uso por Conta","failedToLoad":"Falha ao carregar estat\xedsticas de uso.","tokenHealth":"Sa\xfade dos Tokens","totalOAuth":"Total OAuth","healthy":"Saud\xe1vel","warning":"Aviso","errored":"Com Erro","lastCheck":"\xdaltima verifica\xe7\xe3o","noData":"Sem dados","share":"Compartilhar","unableToLoad":"N\xe3o foi poss\xedvel carregar m\xe9tricas do sistema","product":"Produto","resources":"Recursos","company":"Empresa"},"auth":{"welcome":"Bem-vindo","signIn":"Entrar","enterPassword":"Digite sua senha para continuar","password":"Senha","unifiedProxy":"Proxy Unificado de API de IA","unifiedAiApiProxy":"Proxy Unificado de API de IA","unifiedAiApiProxyDesc":"Roteie requisi\xe7\xf5es para m\xfaltiplos provedores de IA por um \xfanico endpoint. Balanceamento de carga, failover e rastreamento de uso integrados.","passwordNotEnabled":"Prote\xe7\xe3o por senha n\xe3o est\xe1 ativada","loading":"Carregando...","invalidPassword":"Senha inv\xe1lida","errorOccurredRetry":"Ocorreu um erro. Tente novamente.","configureInstance":"Vamos configurar sua inst\xe2ncia OmniRoute","runOnboardingWizard":"Execute o assistente de onboarding para definir sua senha e conectar seu primeiro provedor de IA.","startOnboarding":"Iniciar Onboarding","secureYourInstance":"Proteja sua Inst\xe2ncia","setPasswordDescription":"Defina uma senha para proteger seu painel e garantir que seus endpoints de API n\xe3o sejam acessados sem autoriza\xe7\xe3o.","configurePassword":"Configurar Senha","continue":"Continuar","windowWillClose":"Esta janela ser\xe1 fechada automaticamente...","closeTabNow":"Voc\xea j\xe1 pode fechar esta aba.","copyUrlManual":"Copie a URL da barra de endere\xe7os e cole no aplicativo.","accessDeniedDescription":"Voc\xea n\xe3o tem permiss\xe3o para acessar este recurso. Verifique sua chave de API ou contate o administrador.","goToDashboard":"Ir para o Painel","featureMultiProviderTitle":"Multi-Provedor","featureMultiProviderDesc":"OpenAI, Anthropic, Google e outros","featureLoadBalancingTitle":"Balanceamento de Carga","featureLoadBalancingDesc":"Distribua requisi\xe7\xf5es de forma inteligente","featureUsageTrackingTitle":"Rastreamento de Uso","featureUsageTrackingDesc":"Monitore custos e tokens","resetPassword":"Redefinir Senha","resetDescription":"Escolha um m\xe9todo para recuperar acesso ao painel","stopServer":"Pare o servidor OmniRoute","processing":"Processando...","pleaseWait":"Aguarde enquanto completamos a autoriza\xe7\xe3o.","authSuccess":"Autoriza\xe7\xe3o bem-sucedida!","copyUrl":"Copiar esta URL","accessDenied":"Acesso Negado","methodCliTitle":"M\xe9todo 1: Reset via CLI","methodCliDescription":"Execute o comando abaixo no servidor onde o OmniRoute est\xe1 em execu\xe7\xe3o:","methodCliHint":"Isso solicitar\xe1 que voc\xea defina uma nova senha. O servidor deve ser parado antes.","methodManualTitle":"M\xe9todo 2: Reset Manual","methodManualDescription":"Remova a senha do banco de dados e defina uma nova na inicializa\xe7\xe3o:","setPasswordInYour":"Defina uma nova senha no seu","fileLabelSuffix":"arquivo:","newPasswordPlaceholder":"sua_nova_senha","deleteSettingsFile":"Exclua","orRemovePasswordHashField":"ou remova o campo passwordHash","restartServerWithNewPassword":"Reinicie o servidor - ele usar\xe1 a nova senha","backToLogin":"Voltar para o Login","forgotPassword":"Esqueceu a senha?"},"landing":{"brandName":"OmniRoute","navigateHome":"Navegar para a p\xe1gina inicial","toggleMenu":"Alternar menu","featuresLink":"Recursos","docsLink":"Docs","github":"GitHub","versionLive":"v1.0 j\xe1 est\xe1 no ar","oneEndpoint":"Um Endpoint para","allProviders":"Todos os Provedores de IA","heroDescription":"Proxy de endpoint de IA com painel web - uma vers\xe3o em JavaScript do CLIProxyAPI. Funciona perfeitamente com Claude Code, OpenAI Codex, Cline, RooCode e outras ferramentas CLI.","getStarted":"Come\xe7ar","viewOnGithub":"Ver no GitHub","powerfulFeatures":"Recursos Poderosos","featuresSubtitle":"Tudo que voc\xea precisa para gerenciar sua infraestrutura de IA em um s\xf3 lugar, preparado para escala.","featureUnifiedEndpointTitle":"Endpoint Unificado","featureUnifiedEndpointDesc":"Acesse todos os provedores por uma \xfanica URL de API padr\xe3o.","featureEasySetupTitle":"Configura\xe7\xe3o F\xe1cil","featureEasySetupDesc":"Fique pronto em minutos com o comando npx.","featureModelFallbackTitle":"Fallback de Modelo","featureModelFallbackDesc":"Alterne automaticamente entre provedores em caso de falha ou alta lat\xeancia.","featureUsageTrackingTitle":"Rastreamento de Uso","featureUsageTrackingDesc":"An\xe1lises detalhadas e monitoramento de custos em todos os modelos.","featureOAuthApiKeysTitle":"OAuth e Chaves de API","featureOAuthApiKeysDesc":"Gerencie credenciais com seguran\xe7a em um \xfanico cofre.","featureCloudSyncTitle":"Sincroniza\xe7\xe3o em Nuvem","featureCloudSyncDesc":"Sincronize suas configura\xe7\xf5es entre dispositivos instantaneamente.","featureCliSupportTitle":"Suporte a CLI","featureCliSupportDesc":"Funciona com Claude Code, Codex, Cline, Cursor e mais.","featureDashboardTitle":"Painel","featureDashboardDesc":"Painel visual para an\xe1lise de tr\xe1fego em tempo real.","howItWorks":"Como o OmniRoute Funciona","howItWorksDescription":"Os dados fluem de forma cont\xednua da sua aplica\xe7\xe3o pela nossa camada de roteamento inteligente at\xe9 o melhor provedor para cada tarefa.","howItWorksStep1Title":"1. CLI e SDKs","howItWorksStep1Description":"Suas requisi\xe7\xf5es come\xe7am nas suas ferramentas favoritas ou no nosso SDK unificado. Basta trocar a URL base.","howItWorksStep2Title":"2. Hub OmniRoute","howItWorksStep2Description":"Nosso mecanismo analisa o prompt, verifica a sa\xfade dos provedores e roteia para menor lat\xeancia ou custo.","howItWorksStep3Title":"3. Provedores de IA","howItWorksStep3Description":"A requisi\xe7\xe3o \xe9 atendida por OpenAI, Anthropic, Gemini ou outros provedores instantaneamente.","getStartedIn30Seconds":"Comece em 30 segundos","getStartedDescription":"Instale o OmniRoute, configure seus provedores pelo painel web e comece a rotear requisi\xe7\xf5es de IA.","installOmniRoute":"Instalar o OmniRoute","installStepDescription":"Execute o comando npx para iniciar o servidor instantaneamente","openDashboard":"Abrir Painel","openDashboardStepDescription":"Configure provedores e chaves de API pela interface web","routeRequests":"Rotear Requisi\xe7\xf5es","routeRequestsStepDescription":"Aponte suas ferramentas CLI para {endpoint}","terminal":"terminal","copy":"Copiar","copied":"✓ Copiado","startingOmniRoute":"Iniciando OmniRoute...","serverRunningOnLabel":"Servidor em execu\xe7\xe3o em","dashboardLabel":"Painel","readyToRoute":"Pronto para rotear! ✓","configureProvidersNote":"\uD83D\uDCDD Configure provedores no painel ou use vari\xe1veis de ambiente","dataLocation":"Local dos Dados:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Windows:","product":"Produto","dashboardLink":"Painel","changelog":"Changelog","resources":"Recursos","documentation":"Documenta\xe7\xe3o","npm":"NPM","legal":"Legal","mitLicense":"Licen\xe7a MIT","footerTagline":"O endpoint unificado para gera\xe7\xe3o de IA. Conecte, roteie e gerencie seus provedores de IA com facilidade.","copyright":"\xa9 {year} OmniRoute. Todos os direitos reservados.","flowToolClaudeCode":"Claude Code","flowToolOpenAICodex":"OpenAI Codex","flowToolCline":"Cline","flowToolCursor":"Cursor","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Anthropic","flowProviderGemini":"Gemini","flowProviderGithubCopilot":"GitHub Copilot","interactiveDiagram":"Diagrama interativo vis\xedvel no desktop","ctaTitle":"Pronto para simplificar sua infraestrutura de IA?","ctaDescription":"Junte-se a desenvolvedores que est\xe3o simplificando suas integra\xe7\xf5es de IA com o OmniRoute. Open source e gr\xe1tis para come\xe7ar.","startFree":"Come\xe7ar gr\xe1tis","readDocumentation":"Ler documenta\xe7\xe3o"},"docs":{"title":"Documenta\xe7\xe3o","quickStart":"In\xedcio R\xe1pido","features":"Recursos","supportedProviders":"Provedores Suportados","supportedProvidersToc":"Provedores","commonUseCases":"Casos de Uso Comuns","clientCompatibility":"Compatibilidade de Clientes","protocolsToc":"Protocolos","apiReference":"Refer\xeancia da API","method":"M\xe9todo","path":"Caminho","notes":"Notas","modelPrefixes":"Prefixos de Modelo","prefix":"Prefixo","troubleshooting":"Solu\xe7\xe3o de Problemas","supportsChat":"Suporta endpoints de chat e responses.","oauthAutoRefresh":"Conex\xe3o OAuth com atualiza\xe7\xe3o autom\xe1tica de token.","fullStreaming":"Suporte completo a streaming para todos os modelos.","docsLabel":"Docs","docsHeroDescription":"Gateway de IA para LLMs multi-provedor. Um endpoint para OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor e mais de 20 provedores.","openDashboard":"Abrir Painel","endpointPage":"P\xe1gina de Endpoint","github":"GitHub","reportIssue":"Reportar Problema","onThisPage":"Nesta p\xe1gina","documentationVersion":"Documenta\xe7\xe3o - v{version}","quickStartStep1Title":"1. Instale e execute","quickStartStep1Prefix":"Execute","quickStartStep1Middle":"ou clone do GitHub e execute","quickStartStep2Title":"2. Crie uma chave de API","quickStartStep2Text":"V\xe1 em Endpoint -> Chaves Registradas. Gere uma chave por ambiente.","quickStartStep3Title":"3. Conecte provedores","quickStartStep3Text":"Adicione contas de provedores via login OAuth, chave de API ou conex\xe3o autom\xe1tica de plano gratuito.","quickStartStep4Title":"4. Defina a URL base do cliente","quickStartStep4Prefix":"Aponte sua IDE ou cliente de API para","quickStartStep4Suffix":"Use prefixo de provedor, por exemplo","featureRoutingTitle":"Roteamento Multi-Provedor","featureRoutingText":"Roteie requisi\xe7\xf5es para mais de 30 provedores de IA por um \xfanico endpoint compat\xedvel com OpenAI. Suporta APIs de chat, responses, \xe1udio e imagem.","featureCombosTitle":"Combos e Balanceamento","featureCombosText":"Crie combos de modelos com cadeias de fallback e estrat\xe9gias de balanceamento: round-robin, prioridade, aleat\xf3rio, menos usado e otimizado por custo.","featureUsageTitle":"Rastreamento de Uso e Custo","featureUsageText":"Contagem de tokens em tempo real, c\xe1lculo de custo por provedor/modelo e detalhamento de uso por chave de API e conta.","featureAnalyticsTitle":"Painel de Analytics","featureAnalyticsText":"An\xe1lises visuais com gr\xe1ficos de requisi\xe7\xf5es, tokens, erros, lat\xeancia, custos e popularidade de modelos ao longo do tempo.","featureHealthTitle":"Monitoramento de Sa\xfade","featureHealthText":"Health checks em tempo real, status de provedores, estados de circuit breaker e detec\xe7\xe3o autom\xe1tica de rate limit com backoff exponencial.","featureCliTitle":"Ferramentas CLI","featureCliText":"Gerencie configura\xe7\xf5es de IDE, exporte/importe backups, descubra perfis de codex e configure op\xe7\xf5es pelo painel.","featureSecurityTitle":"Seguran\xe7a e Pol\xedticas","featureSecurityText":"Autentica\xe7\xe3o por chave de API, filtragem de IP, prote\xe7\xe3o contra prompt injection, pol\xedticas de dom\xednio, gerenciamento de sess\xf5es e auditoria.","featureCloudSyncTitle":"Sincroniza\xe7\xe3o em Nuvem","featureCloudSyncText":"Sincronize sua configura\xe7\xe3o com Cloudflare Workers para acesso remoto com credenciais criptografadas e failover autom\xe1tico.","providersAcrossConnectionTypes":"{count} provedores em tr\xeas tipos de conex\xe3o.","manageProviders":"Gerenciar Provedores","providersCount":"{count} provedores","providerTypeFree":"Plano Gratuito","providerTypeOAuth":"OAuth","providerTypeApiKey":"Chave de API","useCaseSingleEndpointTitle":"Um endpoint para muitos provedores","useCaseSingleEndpointText":"Aponte clientes para uma \xfanica URL base e roteie por prefixo de modelo (por exemplo: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Fallback e troca de modelo com combos","useCaseFallbackText":"Crie modelos combo no painel e mantenha a configura\xe7\xe3o do cliente est\xe1vel enquanto os provedores giram internamente.","useCaseUsageVisibilityTitle":"Visibilidade de uso, custo e debug","useCaseUsageVisibilityText":"Acompanhe tokens e custo por provedor, conta e chave de API nas abas de Uso e Analytics.","clientCherryStudioTitle":"Cherry Studio","baseUrlLabel":"URL Base","chatEndpointLabel":"Endpoint de chat","modelRecommendationLabel":"Recomenda\xe7\xe3o de modelo: prefixo expl\xedcito","clientCodexTitle":"Modelos Codex / GitHub Copilot","clientCodexBullet1":"Use IDs de modelo com prefixo","clientCodexBullet2":"Modelos da fam\xedlia Codex s\xe3o roteados automaticamente para","clientCodexBullet3":"Modelos n\xe3o-Codex continuam em","clientCursorTitle":"Cursor IDE","clientCursorBullet1":"Use o prefixo","clientCursorBullet1Suffix":"para modelos do Cursor.","clientCursorBullet2":"Conex\xe3o OAuth - fa\xe7a login na p\xe1gina de Provedores.","clientClaudeTitle":"Claude Code / Antigravity","clientClaudeBullet1Prefix":"Use","clientClaudeBullet1Middle":"(Claude) ou","clientClaudeBullet1Suffix":"(Antigravity) como prefixo.","protocolsTitle":"Protocolos: MCP e A2A","protocolsDescription":"O OmniRoute exp\xf5e dois protocolos operacionais al\xe9m das APIs compat\xedveis com OpenAI: MCP para execu\xe7\xe3o de ferramentas e A2A para fluxos agente-para-agente.","protocolMcpTitle":"MCP (Model Context Protocol)","protocolMcpDesc":"Use MCP via stdio para permitir descoberta e execu\xe7\xe3o de ferramentas OmniRoute com visibilidade de auditoria.","protocolMcpStep1":"Inicie o transporte MCP com `omniroute --mcp`.","protocolMcpStep2":"Aponte seu cliente MCP para transporte stdio.","protocolMcpStep3":"Chame `omniroute_get_health` e `omniroute_list_combos` para validar conectividade.","protocolA2aTitle":"A2A (Agent2Agent)","protocolA2aDesc":"Use A2A JSON-RPC para submeter tarefas de forma s\xedncrona ou via SSE streaming.","protocolA2aStep1":"Leia `/.well-known/agent.json` para descoberta do agente.","protocolA2aStep2":"Envie `message/send` ou `message/stream` para `POST /a2a`.","protocolA2aStep3":"Gerencie ciclo de vida das tarefas com `tasks/get` e `tasks/cancel`.","protocolTroubleshootingTitle":"Troubleshooting de protocolos","protocolTroubleshooting1":"Se o status MCP estiver offline, verifique se o processo stdio est\xe1 rodando e atualizando o heartbeat.","protocolTroubleshooting2":"Se tarefas A2A ficarem em `working`, inspecione `/api/a2a/tasks/:id` e os eventos de stream at\xe9 estado terminal.","protocolTroubleshooting3":"Use `/dashboard/mcp` e `/dashboard/a2a` para controles operacionais e visibilidade de auditoria.","endpointChatNote":"Endpoint de chat compat\xedvel com OpenAI (padr\xe3o).","endpointResponsesNote":"Endpoint da API Responses (Codex, o-series).","endpointModelsNote":"Cat\xe1logo de modelos para todos os provedores conectados.","endpointAudioNote":"Transcri\xe7\xe3o de \xe1udio (Deepgram, AssemblyAI).","endpointImagesNote":"Gera\xe7\xe3o de imagens (NanoBanana).","endpointRewriteChatNote":"Auxiliar de reescrita para clientes sem /v1.","endpointRewriteResponsesNote":"Auxiliar de reescrita para Responses sem /v1.","endpointRewriteModelsNote":"Auxiliar de reescrita para descoberta de modelos sem /v1.","modelPrefixesDescriptionStart":"Use o prefixo do provedor antes do nome do modelo para rotear para um provedor espec\xedfico. Exemplo:","modelPrefixesDescriptionEnd":"roteia para o GitHub Copilot.","provider":"Provedor","type":"Tipo","troubleshootingModelRouting":"Se o cliente falhar no roteamento de modelo, use provedor/modelo expl\xedcito (por exemplo: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Se voc\xea receber erros de modelo amb\xedguo, escolha um prefixo de provedor em vez de um ID de modelo sem prefixo.","troubleshootingCodexFamily":"Para modelos da fam\xedlia GitHub Codex, mantenha o modelo como gh/codex-model; o roteador seleciona /responses automaticamente.","troubleshootingTestConnection":"Use Painel > Provedores > Testar Conex\xe3o antes de testar por IDEs ou clientes externos.","troubleshootingCircuitBreaker":"Se um provedor mostrar circuit breaker aberto, aguarde o cooldown ou verifique a p\xe1gina Health para detalhes.","troubleshootingOAuth":"Para provedores OAuth, autentique novamente se os tokens expirarem. Verifique o indicador de status no card do provedor."},"legal":{"privacyPolicy":"Pol\xedtica de Privacidade","termsOfService":"Termos de Servi\xe7o","providerConfigurations":"Configura\xe7\xf5es de provedores","apiKeys":"Chaves de API","usageLogs":"Logs de uso","applicationSettings":"Configura\xe7\xf5es do aplicativo","viewExportAnalytics":"Visualizar e exportar an\xe1lises de uso","clearHistory":"Limpar hist\xf3rico de uso a qualquer momento","configureRetention":"Configurar pol\xedticas de reten\xe7\xe3o de logs","backupRestore":"Fazer backup e restaurar seu banco de dados","privacyMetadataTitle":"Pol\xedtica de Privacidade | OmniRoute","privacyMetadataDescription":"Pol\xedtica de privacidade do roteador proxy de API de IA OmniRoute.","termsMetadataTitle":"Termos de Servi\xe7o | OmniRoute","termsMetadataDescription":"Termos de servi\xe7o do roteador proxy de API de IA OmniRoute.","backToHome":"Voltar para a home","lastUpdated":"\xdaltima atualiza\xe7\xe3o: {date}","policyLastUpdatedDate":"13 de fevereiro de 2026","listSeparator":"-","questionsVisit":"D\xfavidas? Visite nosso","githubRepository":"reposit\xf3rio no GitHub","privacySection1Title":"1. Arquitetura Local-First","privacySection1Text":"O OmniRoute foi projetado como uma aplica\xe7\xe3o local-first. Todo processamento e armazenamento de dados ocorre inteiramente na sua m\xe1quina. N\xe3o existe servidor centralizado coletando suas informa\xe7\xf5es.","privacySection2Title":"2. Dados que Armazenamos","privacyDataStoredIn":"Os dados a seguir s\xe3o armazenados localmente em","privacyDataProviderConfigurationsDesc":"URLs de conex\xe3o, tipos de provedor e configura\xe7\xf5es de prioridade","privacyDataApiKeysDesc":"criptografadas e armazenadas localmente para autenticar com provedores de IA","privacyDataUsageLogsDesc":"contagem de requisi\xe7\xf5es, uso de tokens, nomes de modelos, timestamps e tempos de resposta","privacyDataApplicationSettingsDesc":"prefer\xeancias de tema, estrat\xe9gia de roteamento e configura\xe7\xf5es de combos","privacySection3Title":"3. Sem Telemetria","privacySection3Text":"O OmniRoute n\xe3o coleta telemetria, analytics ou relat\xf3rios de falha. Nenhum dado \xe9 enviado para n\xf3s ou para terceiros. Seus padr\xf5es de uso, chamadas de API e configura\xe7\xf5es permanecem totalmente privados.","privacySection4Title":"4. Provedores de IA de Terceiros","privacySection4Text":"Quando voc\xea faz chamadas de API pelo OmniRoute, suas requisi\xe7\xf5es s\xe3o encaminhadas aos provedores de IA configurados (por exemplo: OpenAI, Anthropic, Google). Esses provedores possuem suas pr\xf3prias pol\xedticas de privacidade que regem como tratam seus dados. Consulte:","privacyOpenAiPolicy":"Pol\xedtica de Privacidade da OpenAI","privacyAnthropicPolicy":"Pol\xedtica de Privacidade da Anthropic","privacyGooglePolicy":"Pol\xedtica de Privacidade do Google","privacySection5Title":"5. Sincroniza\xe7\xe3o em Nuvem (Opcional)","privacySection5Text":"Se voc\xea ativar o recurso opcional de sincroniza\xe7\xe3o em nuvem, configura\xe7\xf5es de provedores e chaves de API podem ser transmitidas para um endpoint de nuvem configurado. Esse recurso vem desativado por padr\xe3o e exige opt-in expl\xedcito.","privacySection6Title":"6. Logs","privacyLoggingIntro":"Os logs de requisi\xe7\xe3o podem ser configurados nas configura\xe7\xf5es do painel. Voc\xea pode:","privacySection7Title":"7. Seus Direitos","privacySection7TextStart":"Como todos os dados s\xe3o armazenados localmente, voc\xea tem controle total. Voc\xea pode excluir seus dados a qualquer momento removendo o diret\xf3rio","privacySection7TextEnd":"ou usando os recursos de backup e restaura\xe7\xe3o do banco de dados no painel.","termsSection1Title":"1. Vis\xe3o Geral","termsSection1Text":"O OmniRoute \xe9 um roteador proxy de API de IA local-first que roda inteiramente na sua m\xe1quina. Ele roteia requisi\xe7\xf5es para m\xfaltiplos provedores de IA com balanceamento de carga, failover e rastreamento de uso.","termsSection2Title":"2. Responsabilidades do Usu\xe1rio","termsResponsibilityApiKeys":"Voc\xea \xe9 o \xfanico respons\xe1vel por gerenciar suas pr\xf3prias chaves de API e credenciais para provedores de IA de terceiros (OpenAI, Anthropic, Google etc.).","termsResponsibilityCompliance":"Voc\xea deve cumprir os termos de servi\xe7o de cada provedor de IA cuja API acessar atrav\xe9s do OmniRoute.","termsResponsibilitySecurity":"Voc\xea \xe9 respons\xe1vel pela seguran\xe7a da sua instala\xe7\xe3o local do OmniRoute, incluindo definir uma senha e restringir acesso de rede.","termsSection3Title":"3. Como Funciona","termsSection3Text":"O OmniRoute atua como um proxy intermedi\xe1rio. As chamadas de API enviadas ao OmniRoute s\xe3o traduzidas e encaminhadas para seus provedores de IA configurados. O OmniRoute n\xe3o modifica o conte\xfado das suas requisi\xe7\xf5es ou respostas al\xe9m da tradu\xe7\xe3o de protocolo necess\xe1ria.","termsSection4Title":"4. Tratamento de Dados","termsDataStoredLocally":"Todos os dados s\xe3o armazenados localmente na sua m\xe1quina em um banco SQLite.","termsNoTransmission":"O OmniRoute n\xe3o transmite dados para servidores externos, a menos que voc\xea ative explicitamente recursos de sincroniza\xe7\xe3o em nuvem.","termsDataLocationText":"Logs de uso, chaves de API e configura\xe7\xf5es s\xe3o armazenados em","termsSection5Title":"5. Isen\xe7\xe3o de Responsabilidade","termsSection5Text":"O OmniRoute \xe9 fornecido \\"como est\xe1\\", sem garantia de qualquer tipo. N\xe3o somos respons\xe1veis por custos incorridos por uso de API, interrup\xe7\xf5es de servi\xe7o ou perda de dados. Sempre mantenha backups da sua configura\xe7\xe3o.","termsSection6Title":"6. C\xf3digo Aberto","termsSection6Text":"O OmniRoute \xe9 um software de c\xf3digo aberto. Voc\xea pode inspecionar, modificar e distribu\xed-lo de acordo com os termos da licen\xe7a."},"endpoints":{"tabProxy":"Endpoint Proxy","tabApiEndpoints":"Endpoints de API","apiEndpointsTitle":"Endpoints de API","apiEndpointsDescription":"Endpoints de API backend que podem ser consumidos por outras aplica\xe7\xf5es e servi\xe7os.","comingSoon":"Em Breve","plannedFeatures":"Funcionalidades Planejadas","featureRestApi":"Cat\xe1logo de endpoints REST API com documenta\xe7\xe3o interativa","featureWebhooks":"Configura\xe7\xe3o de webhooks e assinaturas de eventos","featureSwagger":"Gera\xe7\xe3o autom\xe1tica de specs OpenAPI / Swagger","featureAuth":"Gest\xe3o de chaves API e escopos OAuth por endpoint"},"agents":{"title":"Agentes CLI","description":"Descubra agentes CLI instalados no seu sistema. Adicione agentes customizados para auto-detec\xe7\xe3o.","refresh":"Atualizar","installed":"Instalado","notFound":"N\xe3o encontrado","builtIn":"Nativo","custom":"Customizado","remove":"Remover","addCustomAgent":"Adicionar Agente Customizado","addCustomAgentDesc":"Registre qualquer ferramenta CLI para detec\xe7\xe3o. Ela ser\xe1 verificada automaticamente ao atualizar.","agentName":"Nome do Agente","binaryName":"Nome do Bin\xe1rio","versionCommand":"Comando de Vers\xe3o","spawnArgs":"Argumentos","addAgent":"Adicionar Agente"}}')}};
|
|
1
|
+
"use strict";exports.id=1990,exports.ids=[1990],exports.modules={41990:a=>{a.exports=JSON.parse('{"common":{"save":"Salvar","cancel":"Cancelar","delete":"Excluir","loading":"Carregando...","error":"Ocorreu um erro","success":"Sucesso","confirm":"Tem certeza?","refresh":"Atualizar","close":"Fechar","add":"Adicionar","edit":"Editar","search":"Pesquisar","back":"Voltar","next":"Pr\xf3ximo","submit":"Enviar","reset":"Resetar","copy":"Copiar","copied":"Copiado!","enabled":"Ativado","disabled":"Desativado","active":"Ativo","inactive":"Inativo","noData":"Nenhum dado dispon\xedvel","configure":"Configurar","manage":"Gerenciar","name":"Nome","actions":"A\xe7\xf5es","status":"Status","type":"Tipo","model":"Modelo","models":"modelos","provider":"Provedor","account":"Conta","time":"Tempo","details":"Detalhes","created":"Criado","lastUsed":"\xdaltimo Uso","loadMore":"Carregar Mais","noResults":"Nenhum resultado encontrado","reloadPage":"Recarregar P\xe1gina","connected":"Conectado","disconnected":"Desconectado","notConfigured":"N\xe3o configurado","testConnection":"Testar Conex\xe3o","enable":"Ativar","disable":"Desativar","columns":"Colunas","newest":"Mais Recente","oldest":"Mais Antigo","all":"Todos","none":"Nenhum","yes":"Sim","no":"N\xe3o","warning":"Aviso","note":"Nota","free":"Gratuito","skipToContent":"Pular para conte\xfado"},"sidebar":{"home":"In\xedcio","dashboard":"Painel","providers":"Provedores","combos":"Combos","usage":"Uso","analytics":"An\xe1lises","costs":"Custos","health":"Sa\xfade","limits":"Limites e Cotas","cliTools":"Ferramentas CLI","media":"M\xeddia","settings":"Configura\xe7\xf5es","translator":"Tradutor","docs":"Documenta\xe7\xe3o","issues":"Problemas","apiManager":"Gerenciador API","logs":"Logs","auditLog":"Log de Auditoria","shutdown":"Desligar","restart":"Reiniciar","shutdownConfirm":"Desligar o OmniRoute?","restartConfirm":"Reiniciar o OmniRoute?","version":"v{version}","debug":"Depura\xe7\xe3o","system":"Sistema","help":"Ajuda","serverDisconnected":"Servidor Desconectado","serverDisconnectedMsg":"O servidor proxy foi parado ou est\xe1 reiniciando.","expandSidebar":"Expandir barra lateral","collapseSidebar":"Recolher barra lateral","themes":"Themes","presetColors":"Popular colors","createTheme":"Create theme","chooseColor":"Pick one color","themeCoral":"Coral","themeBlue":"Blue","themeRed":"Red","themeGreen":"Green","themeViolet":"Violet","themeOrange":"Orange","themeCyan":"Cyan","endpoints":"Endpoints","playground":"Playground","agents":"Agentes","cliToolsShort":"Ferramentas"},"themesPage":{"title":"Themes","description":"Choose a preset theme or create your own with a single color","presetColors":"Popular colors","customTheme":"Custom theme","customThemeDesc":"Click create theme and pick one color","createTheme":"Create theme","activePreset":"Active theme"},"header":{"logout":"Sair","language":"Idioma","providers":"Provedores","providerDescription":"Gerencie suas conex\xf5es de provedores de IA","combos":"Combos","comboDescription":"Combos de modelos com fallback","usage":"Uso e An\xe1lises","usageDescription":"Monitore seu uso de API, consumo de tokens e logs de requisi\xe7\xf5es","analytics":"An\xe1lises","analyticsDescription":"Gr\xe1ficos, tend\xeancias e insights de avalia\xe7\xe3o","cliTools":"Ferramentas CLI","cliToolsDescription":"Configurar ferramentas de linha de comando","home":"In\xedcio","homeDescription":"Bem-vindo ao OmniRoute","endpoint":"Endpoints","endpointDescription":"Gerenciar endpoints proxy, MCP, A2A e endpoints de API","settings":"Configura\xe7\xf5es","settingsDescription":"Gerencie suas prefer\xeancias","openaiCompatible":"Compat\xedvel com OpenAI","anthropicCompatible":"Compat\xedvel com Anthropic","media":"M\xeddia","mediaDescription":"Gerar imagens, v\xeddeos e m\xfasicas","themes":"Themes","themesDescription":"Choose a color theme for the whole dashboard panel","mcp":"MCP","mcpDescription":"Model Context Protocol server management and tools","a2a":"A2A","a2aDescription":"Agent-to-Agent protocol tasks and observability"},"home":{"quickStart":"In\xedcio R\xe1pido","quickStartDesc":"Comece em 4 passos. Conecte provedores, roteie modelos, monitore tudo.","fullDocs":"Docs Completa","step1Title":"1. Criar chave de API","step1Desc":"V\xe1 em <endpoint>Endpoint</endpoint> -> Chaves Registradas. Gere uma chave por ambiente.","step2Title":"2. Conectar provedores","step2Desc":"Adicione contas em <providers>Provedores</providers>. Suporta OAuth, API Key e planos gratuitos.","step3Title":"3. Apontar seu cliente","step3Desc":"Defina a URL base como {url} no seu IDE ou cliente de API.","step4Title":"4. Monitorar e otimizar","step4Desc":"Acompanhe tokens, custos e erros em <logs>Logs de Requisi\xe7\xf5es</logs> e <analytics>An\xe1lises</analytics>.","providersOverview":"Vis\xe3o Geral dos Provedores","configuredOf":"{configured} configurados de {total} provedores dispon\xedveis","noModelsAvailable":"Nenhum modelo dispon\xedvel para este provedor.","configureFirst":"Configure uma conex\xe3o primeiro em {providers}","configureProvider":"Configurar Provedor","modelAvailable":"{count} modelo dispon\xedvel","modelsAvailable":"{count} modelos dispon\xedveis","connectionsActive":"{count} conex\xe3o ativa","connectionsActivePlural":"{count} conex\xf5es ativas","copyModelName":"Copiar nome do modelo","documentation":"Documenta\xe7\xe3o","healthMonitor":"Monitor de Sa\xfade","reportIssue":"Reportar problema","activeError":"{active} ativo \xb7 {errors} erro","oauthLabel":"OAuth","apiKeyLabel":"Chave de API","requestsShort":"{count} reqs","providerModelsTitle":"{provider} - Modelos","copiedModel":"Copiado: {model}","aliasLabel":"alias"},"analytics":{"title":"An\xe1lises","overviewDescription":"Monitore padr\xf5es de uso da API, consumo de tokens, custos e tend\xeancias de atividade em todos os provedores e modelos.","evalsDescription":"Execute su\xedtes de avalia\xe7\xe3o para testar e validar seus endpoints LLM. Compare qualidade de modelos, detecte regress\xf5es e fa\xe7a benchmarks de lat\xeancia.","overview":"Vis\xe3o Geral","evals":"Avalia\xe7\xf5es"},"apiManager":{"title":"Chaves de API","createKey":"Criar Chave de API","key":"Chave","revokeKey":"Revogar Chave","revokeConfirm":"Tem certeza que deseja revogar esta chave de API?","noKeys":"Nenhuma chave de API ainda","noKeysDesc":"Crie sua primeira chave de API para autenticar requisi\xe7\xf5es ao seu endpoint","keyLabel":"R\xf3tulo da Chave","permissions":"Permiss\xf5es","expiresAt":"Expira","never":"Nunca","revoke":"Revogar","showKey":"Mostrar Chave","hideKey":"Ocultar Chave","copyKey":"Copiar Chave de API","allModels":"Todos os modelos","selectedModels":"Modelos Selecionados","readOnly":"Somente Leitura","fullAccess":"Acesso Total","keyManagement":"Gerenciamento de Chaves de API","keyManagementDesc":"Crie e gerencie chaves de API para autenticar requisi\xe7\xf5es ao seu endpoint","totalKeys":"Total de Chaves","restricted":"Restrita","totalRequests":"Total de Requisi\xe7\xf5es","modelsAvailable":"Modelos Dispon\xedveis","registeredKeys":"Chaves Registradas","keysRegistered":"{count} chaves registradas","keyRegistered":"{count} chave registrada","keysSecurityNote":"Cada chave isola o rastreamento de uso e pode ser revogada independentemente. As chaves s\xe3o mascaradas ap\xf3s a cria\xe7\xe3o por seguran\xe7a.","createFirstKey":"Crie Sua Primeira Chave","name":"Nome","usage":"Uso","created":"Criado","actions":"A\xe7\xf5es","reqs":"reqs","neverUsed":"Nunca usada","deleteConfirm":"Excluir esta chave de API?","usageTips":"Dicas de Uso","tipAuth":"Use chaves de API no cabe\xe7alho Authorization como Bearer SUA_CHAVE","tipSecure":"As chaves s\xe3o mostradas apenas uma vez durante a cria\xe7\xe3o — armazene-as com seguran\xe7a","tipSeparate":"Crie chaves separadas para diferentes clientes ou ambientes","tipRestrict":"Restrinja chaves a modelos espec\xedficos para maior seguran\xe7a e controle de custos","keyName":"Nome da Chave","keyNamePlaceholder":"ex: Chave de Produ\xe7\xe3o, Chave de Desenvolvimento","keyNameDesc":"Escolha um nome descritivo para identificar o prop\xf3sito desta chave","keyCreated":"Chave de API Criada","keyCreatedSuccess":"Chave criada com sucesso!","keyCreatedNote":"Copie e armazene esta chave agora — ela n\xe3o ser\xe1 mostrada novamente.","done":"Pronto","savePermissions":"Salvar Permiss\xf5es","allowAll":"Permitir Tudo","restrict":"Restringir","allowAllInfo":"Esta chave pode acessar todos os modelos dispon\xedveis.","restrictInfo":"Esta chave pode acessar {selected} de {total} modelos.","selected":"{count} selecionados","all":"Todos","clear":"Limpar","searchModels":"Buscar modelos por nome ou provedor...","noModelsFound":"Nenhum modelo encontrado","keyNameRequired":"Nome da chave \xe9 obrigat\xf3rio","keyNameTooLong":"Nome da chave deve ter {max} caracteres ou menos","keyNameInvalid":"Nome da chave pode conter apenas letras, n\xfameros, espa\xe7os, h\xedfens e sublinhados","invalidKeyName":"Nome de chave inv\xe1lido","failedCreateKey":"Falha ao criar chave","failedCreateKeyRetry":"Falha ao criar chave. Tente novamente.","invalidKeyId":"ID de chave inv\xe1lido","failedDeleteKey":"Falha ao excluir chave","failedDeleteKeyRetry":"Falha ao excluir chave. Tente novamente.","invalidModelsSelection":"Sele\xe7\xe3o de modelos inv\xe1lida","cannotSelectMoreThanModels":"N\xe3o \xe9 poss\xedvel selecionar mais de {max} modelos","failedUpdatePermissions":"Falha ao atualizar permiss\xf5es","failedUpdatePermissionsRetry":"Falha ao atualizar permiss\xf5es. Tente novamente.","unknownProvider":"desconhecido","copyMaskedKey":"Copiar chave mascarada","modelsCount":"{count, plural, one {# modelo} other {# modelos}}","lastUsedOn":"\xdaltimo: {date}","editPermissions":"Editar permiss\xf5es","deleteKey":"Excluir chave","model":"{count} modelo","models":"{count} modelos","permissionsTitle":"Permiss\xf5es: {name}","allowAllDesc":"Esta chave pode acessar todos os modelos dispon\xedveis.","restrictDesc":"Esta chave pode acessar {selectedCount} de {totalModels} modelos.","selectedCount":"{count} selecionados"},"auditLog":{"title":"Log de Auditoria","searchPlaceholder":"Buscar a\xe7\xf5es...","action":"A\xe7\xe3o","actor":"Autor","target":"Alvo","ipAddress":"Endere\xe7o IP","timestamp":"Data/Hora","noEntries":"Nenhum registro de auditoria","filterByAction":"Filtrar por a\xe7\xe3o...","filterByActor":"Filtrar por autor...","filterEntriesAria":"Filtrar entradas do log de auditoria","filterByActionTypeAria":"Filtrar por tipo de a\xe7\xe3o","filterByActorAria":"Filtrar por autor","refreshAuditLogAria":"Atualizar log de auditoria","tableAria":"Entradas do log de auditoria","failedFetchAuditLog":"Falha ao carregar log de auditoria","notAvailable":"—","description":"A\xe7\xf5es administrativas e eventos de seguran\xe7a","showing":"Mostrando {count} entradas (offset {offset})","previous":"Anterior"},"media":{"title":"Playground de M\xeddia","subtitle":"Gere imagens, v\xeddeos e m\xfasica","model":"Modelo","prompt":"Prompt","generate":"Gerar","generating":"Gerando...","loadingModels":"Carregando modelos dispon\xedveis...","noModels":"Nenhum modelo dispon\xedvel. Configure provedores com suporte a m\xeddia primeiro.","error":"Falha na Gera\xe7\xe3o","result":"Resultado","imageDescription":"Gere imagens a partir de prompts de texto usando OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI e mais.","videoDescription":"Crie v\xeddeos com AnimateDiff, Stable Video Diffusion via ComfyUI ou SD WebUI.","musicDescription":"Componha m\xfasicas usando Stable Audio Open ou MusicGen via ComfyUI."},"cliTools":{"title":"Ferramentas CLI","noActiveProviders":"Nenhum provedor ativo","noActiveProvidersDesc":"Adicione e conecte provedores primeiro para configurar as ferramentas CLI.","mapModels":"Mapear Modelos","testConnection":"Testar Conex\xe3o","connectionStatus":"Status da Conex\xe3o","configureEndpoint":"Configurar Endpoint","instructions":"Instru\xe7\xf5es","modelMapping":"Mapeamento de Modelos","baseUrl":"URL Base","apiKey":"Chave de API","configured":"Configurado","notConfigured":"N\xe3o configurado","notInstalled":"N\xe3o instalado","custom":"Customizado","unknown":"Desconhecido","lastSavedAt":"\xdaltimo salvamento: {date}","never":"Nunca","justNow":"agora mesmo","minutesAgoShort":"{count} min atr\xe1s","hoursAgoShort":"{count} h atr\xe1s","daysAgoShort":"{count} d atr\xe1s","monthsAgoShort":"{count} m\xeas(es) atr\xe1s","yearsAgoShort":"{count} ano(s) atr\xe1s","runtimeCheckFailed":"Falha ao verificar runtime","yourApiKeyPlaceholder":"sua-api-key","modelPlaceholder":"provedor/modelo-id","configurationSaved":"Configura\xe7\xe3o salva com sucesso.","failedToSave":"Falha ao salvar configura\xe7\xe3o.","noApiKeysCreateOne":"Sem chaves de API - crie uma na p\xe1gina Chaves","defaultOmnirouteKey":"sk_omniroute (padr\xe3o)","selectModel":"Selecionar Modelo","selectModelForAlias":"Selecionar modelo para {alias}","selectModelForTool":"Selecionar Modelo para {tool}","select":"Selecionar","clear":"Limpar","comingSoon":"Em breve","checkingRuntime":"Verificando status de runtime...","guideOnlyIntegration":"Integra\xe7\xe3o apenas por guia (n\xe3o requer runtime local)","cliRuntimeDetected":"Runtime de CLI detectado e pronto","cliFoundNotRunnable":"CLI encontrado, mas n\xe3o execut\xe1vel{reason}","cliRuntimeNotDetected":"Runtime de CLI n\xe3o detectado","binary":"Bin\xe1rio","configPath":"Caminho de config","configPathShort":"Config","failedCheckRuntimeStatus":"Falha ao verificar status de runtime.","copy":"Copiar","copied":"Copiado","copyConfig":"Copiar Config","saveConfig":"Salvar Config","selectionSaved":"Sele\xe7\xe3o salva","guide":"Guia","detected":"Detectado","notReady":"N\xe3o pronto","active":"Ativo","inactive":"Inativo","startMitm":"Iniciar MITM","stopMitm":"Parar MITM","mitmStarted":"MITM iniciado com sucesso!","mitmStopped":"MITM parado com sucesso!","failedStart":"Falha ao iniciar MITM","failedStop":"Falha ao parar MITM","saveMappings":"Salvar Mapeamentos","mappingsSaved":"Mapeamentos salvos!","failedSaveMappings":"Falha ao salvar mapeamentos","howItWorks":"Como funciona:","antigravityHowWorksDesc":"O Antigravity envia requisi\xe7\xf5es para o endpoint do Google. O MITM intercepta e redireciona para o OmniRoute.","antigravityStep1":"1. Inicie o MITM para rotear as requisi\xe7\xf5es pelo OmniRoute.","antigravityStep2Prefix":"2. Adicione","antigravityStep2Suffix":"ao arquivo hosts como 127.0.0.1.","antigravityStep3":"3. Abra o Antigravity e as requisi\xe7\xf5es ser\xe3o proxyadas.","sudoPasswordRequiredTitle":"Senha sudo necess\xe1ria","sudoPasswordHint":"A senha de administrador \xe9 necess\xe1ria para modificar hosts e configura\xe7\xf5es de proxy do sistema.","enterSudoPassword":"Digite a senha sudo","sudoPasswordRequiredError":"A senha sudo \xe9 obrigat\xf3ria.","cancel":"Cancelar","confirm":"Confirmar","settingsApplied":"Configura\xe7\xf5es aplicadas com sucesso!","failedApplySettings":"Falha ao aplicar configura\xe7\xf5es","settingsReset":"Configura\xe7\xf5es resetadas com sucesso!","failedResetSettings":"Falha ao resetar configura\xe7\xf5es","backupRestored":"Backup restaurado!","failedRestore":"Falha ao restaurar","checkingCli":"Verificando CLI {tool}...","cliNotRunnable":"CLI {tool} instalado, mas n\xe3o execut\xe1vel","cliNotInstalled":"CLI {tool} n\xe3o instalado","cliNotDetected":"CLI {tool} n\xe3o detectado","cliDetectedReady":"CLI {tool} detectado e pronto","cliFoundFailedHealthcheck":"CLI {tool} foi encontrado, mas falhou no healthcheck de runtime{reason}.","installCliPrompt":"Instale o CLI {tool} para usar este recurso.","installCodexPrompt":"Instale o Codex CLI para usar a aplica\xe7\xe3o autom\xe1tica.","hide":"Ocultar","howToInstall":"Como instalar","installationGuide":"Guia de instala\xe7\xe3o","platforms":"macOS / Linux / Windows:","afterInstallationRun":"Ap\xf3s a instala\xe7\xe3o, execute","toVerify":"para verificar.","current":"Atual","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Redefinir para padr\xe3o","providerModelPlaceholder":"provedor/modelo-id","apply":"Aplicar","reset":"Resetar","manualConfig":"Configura\xe7\xe3o manual","backups":"Backups","configBackups":"Backups de configura\xe7\xe3o","noBackupsYet":"Ainda n\xe3o h\xe1 backups. Backups s\xe3o criados automaticamente antes de cada Aplicar ou Resetar.","restore":"Restaurar","backupRestoredReloading":"Backup restaurado! Recarregando status...","failedRestoreBackup":"Falha ao restaurar backup","applied":"Aplicado!","failed":"Falhou","resetDone":"Resetado!","omnirouteConfiguredOpenAiCompatible":"OmniRoute est\xe1 configurado como provedor compat\xedvel com OpenAI","provider":"Provedor","model":"Modelo","providers":"Provedores","auth":"Autentica\xe7\xe3o","noApiKeysAvailable":"Nenhuma chave de API dispon\xedvel","usingDefaultOmniroute":"Usando padr\xe3o: sk_omniroute","updateConfig":"Atualizar config","applyConfig":"Aplicar config","noBackupsAvailable":"Nenhum backup dispon\xedvel.","profileSaved":"Perfil \\"{name}\\" salvo!","failedSaveProfile":"Falha ao salvar perfil","profileActivated":"Perfil ativado!","failedActivateProfile":"Falha ao ativar perfil","profiles":"Perfis","savedProfiles":"Perfis salvos","noProfilesYet":"Nenhum perfil salvo ainda. Salve a configura\xe7\xe3o atual como perfil abaixo.","activate":"Ativar","deleteProfile":"Excluir perfil","profileNamePlaceholder":"Nome do perfil (ex: Conta Pessoal)","saveCurrent":"Salvar atual","codexAuthNotePrefix":"Codex usa","codexAuthNoteMiddle":"com","codexAuthNoteSuffix":"Clique em \\"Aplicar\\" para configurar automaticamente.","claudeManualConfiguration":"Claude CLI - Configura\xe7\xe3o manual","codexManualConfiguration":"Codex CLI - Configura\xe7\xe3o manual","droidManualConfiguration":"Factory Droid - Configura\xe7\xe3o manual","openClawManualConfiguration":"Open Claw - Configura\xe7\xe3o manual","clineManualConfiguration":"Configura\xe7\xe3o manual do Cline","kiloManualConfiguration":"Configura\xe7\xe3o manual do Kilo Code","toolDescriptions":{"antigravity":"Google Antigravity IDE com MITM","claude":"CLI Claude Code da Anthropic","codex":"CLI Codex da OpenAI","droid":"Assistente de IA Factory Droid","openclaw":"Assistente de IA Open Claw","cline":"CLI assistente de codifica\xe7\xe3o Cline","kilo":"CLI assistente de IA Kilo Code","cursor":"Editor de c\xf3digo com IA Cursor","continue":"Assistente de IA Continue","opencode":"OpenCode AI coding agent (Terminal)","kiro":"Amazon Kiro — AI-powered IDE"},"guides":{"cursor":{"notes":{"0":"Requer conta Cursor Pro para usar este recurso.","1":"O Cursor roteia requisi\xe7\xf5es pelo pr\xf3prio servidor, ent\xe3o endpoint local n\xe3o \xe9 suportado. Ative o Cloud Endpoint em Configura\xe7\xf5es."},"steps":{"1":{"title":"Abrir Configura\xe7\xf5es","desc":"V\xe1 em Configura\xe7\xf5es -> Modelos"},"2":{"title":"Ativar OpenAI API","desc":"Ative a op\xe7\xe3o \\"OpenAI API key\\""},"3":{"title":"URL Base"},"4":{"title":"Chave de API"},"5":{"title":"Adicionar Modelo Customizado","desc":"Clique em \\"View All Model\\" -> \\"Add Custom Model\\""},"6":{"title":"Selecionar Modelo"}}},"continue":{"steps":{"1":{"title":"Abrir Config","desc":"Abra o arquivo de configura\xe7\xe3o do Continue"},"2":{"title":"Chave de API"},"3":{"title":"Selecionar Modelo"},"4":{"title":"Adicionar Config de Modelo","desc":"Adicione a configura\xe7\xe3o abaixo ao array de modelos:"}}},"opencode":{"steps":{"1":{"title":"Install OpenCode","desc":"Install via npm: npm install -g opencode-ai"},"2":{"title":"API Key"},"3":{"title":"Set Base URL","desc":"opencode config set baseUrl {{baseUrl}}"},"4":{"title":"Select Model"}}},"kiro":{"steps":{"1":{"title":"Open Kiro Settings","desc":"Go to Settings → AI Provider"},"2":{"title":"Base URL","desc":"Paste your OmniRoute endpoint URL"},"3":{"title":"API Key"},"4":{"title":"Select Model"}}}}},"combos":{"title":"Combos","description":"Crie combos de modelos com roteamento ponderado e suporte a fallback","createCombo":"Criar Combo","editCombo":"Editar Combo","deleteCombo":"Excluir Combo","noModels":"Sem modelos","noModelsYet":"Nenhum modelo adicionado","addModel":"Adicionar Modelo","addModelToCombo":"Adicionar Modelo ao Combo","routingStrategy":"Estrat\xe9gia de Roteamento","maxRetries":"M\xe1ximo de Tentativas","timeout":"Timeout (ms)","healthcheck":"Verifica\xe7\xe3o de Sa\xfade","priority":"Prioridade","fallback":"Fallback","roundRobin":"Round Robin","random":"Aleat\xf3rio","leastLatency":"Menor Lat\xeancia","comboName":"Nome do Combo","comboNamePlaceholder":"meu-combo","deleteConfirm":"Excluir este combo?","noCombosYet":"Nenhum combo ainda","comboCreated":"Combo criado com sucesso","comboUpdated":"Combo atualizado com sucesso","comboDeleted":"Combo exclu\xeddo","failedCreate":"Falha ao criar combo","failedUpdate":"Falha ao atualizar combo","errorCreating":"Erro ao criar combo","errorUpdating":"Erro ao atualizar combo","errorDeleting":"Erro ao excluir combo","testFailed":"Requisi\xe7\xe3o de teste falhou","failedToggle":"Falha ao alternar combo","testResults":"Resultados do Teste — {name}","resolvedBy":"Resolvido por:","more":"+{count} mais","reqs":"reqs","success":"sucesso","proxyConfigured":"Proxy configurado","copyComboName":"Copiar nome do combo","enableCombo":"Ativar combo","disableCombo":"Desativar combo","testCombo":"Testar combo","duplicate":"Duplicar","proxyConfig":"Configura\xe7\xe3o de proxy","nameRequired":"Nome \xe9 obrigat\xf3rio","nameInvalid":"Apenas letras, n\xfameros, -, _, / e . permitidos","nameHint":"Letras, n\xfameros, -, _, / e . permitidos","priorityDesc":"Fallback sequencial: tenta modelo 1 primeiro, depois 2, etc.","weightedDesc":"Distribui tr\xe1fego por porcentagem de peso com fallback","roundRobinDesc":"Distribui\xe7\xe3o circular: cada requisi\xe7\xe3o vai para o pr\xf3ximo modelo na rota\xe7\xe3o","randomDesc":"Sele\xe7\xe3o aleat\xf3ria uniforme, depois fallback para modelos restantes","leastUsedDesc":"Escolhe o modelo com menos requisi\xe7\xf5es, equilibrando carga ao longo do tempo","costOptimizedDesc":"Roteia para o modelo mais barato primeiro baseado em pre\xe7os","models":"Modelos","autoBalance":"Auto-balancear","advancedSettings":"Configura\xe7\xf5es Avan\xe7adas","retryDelay":"Intervalo de Tentativa (ms)","concurrencyPerModel":"Concorr\xeancia / Modelo","queueTimeout":"Timeout da Fila (ms)","advancedHint":"Deixe vazio para usar padr\xf5es globais. Estes substituem configura\xe7\xf5es por provedor.","moveUp":"Mover para cima","moveDown":"Mover para baixo","removeModel":"Remover","saving":"Salvando...","weighted":"Ponderado","leastUsed":"Menos Usado","costOpt":"Custo-Otim","strategyGuideTitle":"Como usar esta estrat\xe9gia","strategyGuideWhen":"Quando usar","strategyGuideAvoid":"Evite quando","strategyGuideExample":"Exemplo","strategyGuide":{"priority":{"when":"Voc\xea tem um modelo principal e quer fallback apenas em falha.","avoid":"Voc\xea precisa distribuir requisi\xe7\xf5es entre modelos.","example":"Modelo principal para c\xf3digo e backup mais barato para indisponibilidade."},"weighted":{"when":"Voc\xea precisa dividir tr\xe1fego com percentuais controlados.","avoid":"Voc\xea n\xe3o consegue manter os pesos atualizados.","example":"80% modelo est\xe1vel + 20% modelo can\xe1rio."},"round-robin":{"when":"Voc\xea quer distribui\xe7\xe3o previs\xedvel e equilibrada.","avoid":"Os modelos t\xeam custo ou lat\xeancia muito diferentes.","example":"Mesmo modelo em m\xfaltiplas contas para espalhar throughput."},"random":{"when":"Voc\xea quer distribui\xe7\xe3o simples com baixa configura\xe7\xe3o.","avoid":"Voc\xea precisa de garantias r\xedgidas de distribui\xe7\xe3o.","example":"Prot\xf3tipos r\xe1pidos com modelos equivalentes."},"least-used":{"when":"Voc\xea quer balanceamento adaptativo baseado no uso recente.","avoid":"Seu volume \xe9 baixo e n\xe3o se beneficia dessa adapta\xe7\xe3o.","example":"Workloads mistos onde um modelo tende a ficar sobrecarregado."},"cost-optimized":{"when":"Redu\xe7\xe3o de custo \xe9 a prioridade principal.","avoid":"A base de pre\xe7os est\xe1 ausente ou desatualizada.","example":"Jobs em lote ou segundo plano focados em menor custo."}},"advancedHelp":{"maxRetries":"Quantas tentativas ser\xe3o feitas antes de falhar a requisi\xe7\xe3o.","retryDelay":"Espera inicial entre tentativas. Valores maiores reduzem picos.","timeout":"Tempo m\xe1ximo da requisi\xe7\xe3o antes de cancelar.","healthcheck":"Ignora modelos/provedores n\xe3o saud\xe1veis no roteamento.","concurrencyPerModel":"M\xe1ximo de requisi\xe7\xf5es simult\xe2neas por modelo no round-robin.","queueTimeout":"Tempo m\xe1ximo em fila antes de expirar no round-robin."},"templatesTitle":"Templates r\xe1pidos","templatesDescription":"Aplique um perfil inicial e depois ajuste modelos e configura\xe7\xe3o.","templateApply":"Aplicar template","templateHighAvailability":"Alta disponibilidade","templateHighAvailabilityDesc":"Roteamento por prioridade com healthcheck e retries seguros.","templateCostSaver":"Economia de custo","templateCostSaverDesc":"Roteamento custo-otimizado para workloads com foco em or\xe7amento.","templateBalanced":"Carga balanceada","templateBalancedDesc":"Roteamento por menos uso para distribuir demanda ao longo do tempo.","usageGuideHide":"Ocultar","usageGuideDontShowAgain":"N\xe3o mostrar novamente","usageGuideShow":"Mostrar guia","quickTestTitle":"Combo pronto para validar","quickTestDescription":"Rode um teste agora para confirmar fallback e lat\xeancia.","testNow":"Testar agora","pricingCoverage":"Cobertura de pre\xe7os","pricingCoverageHint":"Custo-otimizado funciona melhor quando todos os modelos t\xeam pre\xe7o configurado.","pricingAvailable":"Pre\xe7o dispon\xedvel","pricingMissing":"Sem pre\xe7o","pricingAvailableShort":"com-pre\xe7o","pricingMissingShort":"sem-pre\xe7o","warningRoundRobinSingleModel":"Round-robin \xe9 mais \xfatil com pelo menos 2 modelos.","warningCostOptimizedPartialPricing":"Apenas {priced} de {total} modelos t\xeam pre\xe7o. O roteamento pode ficar parcialmente orientado a custo.","warningCostOptimizedNoPricing":"N\xe3o h\xe1 dados de pre\xe7o para este combo. Custo-otimizado pode rotear de forma inesperada.","readinessTitle":"Pronto para salvar?","readinessDescription":"Revise a lista de verifica\xe7\xe3o antes de criar ou atualizar este combo.","readinessCheckName":"O nome do combo \xe9 v\xe1lido","readinessCheckModels":"Pelo menos um modelo est\xe1 selecionado","readinessCheckWeights":"O total dos pesos \xe9 100%","readinessCheckWeightsOptional":"Regra de pesos n\xe3o obrigat\xf3ria","readinessCheckPricing":"Dados de pre\xe7os dispon\xedveis","readinessCheckPricingOptional":"Regra de pre\xe7os n\xe3o obrigat\xf3ria","saveBlockedTitle":"O salvamento est\xe1 bloqueado at\xe9 corrigir os itens abaixo:","saveBlockName":"Defina um nome para o combo.","saveBlockModels":"Adicione pelo menos um modelo.","saveBlockWeighted":"Ajuste os pesos para 100% (atual: {total}%).","saveBlockPricing":"Adicione pre\xe7o para pelo menos um modelo ou escolha outra estrat\xe9gia.","recommendationsLabel":"Recommended setup","applyRecommendations":"Apply recommendations","recommendationsUpdated":"Recommendations updated for {strategy}.","recommendationsApplied":"Recommendations applied to this combo.","strategyRecommendations":{"priority":{"title":"Fail-safe baseline","description":"Use one primary model and keep fallback chain short and reliable.","tip1":"Put your most reliable model first.","tip2":"Keep 1-2 backup models with similar quality.","tip3":"Use safe retries to absorb transient provider failures."},"weighted":{"title":"Controlled traffic split","description":"Great for canary rollouts and gradual migration between models.","tip1":"Start with conservative split like 90/10.","tip2":"Keep the total at 100% and auto-balance after changes.","tip3":"Monitor success and latency before increasing canary weight."},"round-robin":{"title":"Predictable load sharing","description":"Best when models are equivalent and you need smooth distribution.","tip1":"Use at least 2 models.","tip2":"Set concurrency limits to avoid burst overload.","tip3":"Use queue timeout to fail fast under saturation."},"random":{"title":"Quick spread with low setup","description":"Use when you need simple distribution without strict guarantees.","tip1":"Use models with similar latency profiles.","tip2":"Keep retries enabled to absorb random misses.","tip3":"Prefer this for experimentation, not strict SLAs."},"least-used":{"title":"Adaptive balancing","description":"Routes to less-used models to reduce hotspots over time.","tip1":"Works better under continuous traffic.","tip2":"Combine with health checks for safer balancing.","tip3":"Track per-model usage to validate distribution gains."},"cost-optimized":{"title":"Budget-first routing","description":"Routes to lower-cost models when pricing metadata is available.","tip1":"Ensure pricing coverage for all selected models.","tip2":"Keep a quality fallback for hard prompts.","tip3":"Use for batch/background jobs where cost is the main KPI."}}},"costs":{"title":"Custos","budget":"Or\xe7amento","totalCost":"Custo Total","breakdown":"Detalhamento de Custos","noData":"Sem dados de custo","byModel":"Por Modelo","byProvider":"Por Provedor"},"endpoint":{"title":"Endpoint da API","available":"Endpoints Dispon\xedveis","cloudProxy":"Proxy na Nuvem","disableConfirm":"Tem certeza que deseja desativar o proxy na nuvem?","baseUrl":"URL Base","apiKeyLabel":"Chave de API","registeredKeys":"Chaves Registradas","chatCompletions":"Chat Completions","responses":"Respostas","listModels":"Listar Modelos","usingCloudProxy":"Usando Proxy na Nuvem","usingLocalServer":"Usando Servidor Local","machineId":"ID da M\xe1quina: {id}...","disableCloud":"Desativar Nuvem","enableCloud":"Ativar Nuvem","modelsAcrossEndpoints":"{models} modelos em {endpoints} endpoints","chatDesc":"Chat streaming e n\xe3o-streaming com todos os provedores","embeddings":"Embeddings","embeddingsDesc":"Embeddings de texto para busca e pipelines RAG","imageGeneration":"Gera\xe7\xe3o de Imagens","imageDesc":"Gerar imagens a partir de prompts de texto","rerank":"Rerank","rerankDesc":"Reordenar documentos por relev\xe2ncia a uma consulta","audioTranscription":"Transcri\xe7\xe3o de \xc1udio","audioTranscriptionDesc":"Transcrever arquivos de \xe1udio para texto (Whisper)","textToSpeech":"Texto para Fala","textToSpeechDesc":"Converter texto em fala natural","moderations":"Modera\xe7\xf5es","moderationsDesc":"Modera\xe7\xe3o de conte\xfado e classifica\xe7\xe3o de seguran\xe7a","responsesDesc":"API Responses do OpenAI para Codex e fluxos de trabalho ag\xeanticos avan\xe7ados","listModelsDesc":"Listar todos os modelos dispon\xedveis em todos os provedores conectados","settingsApiDesc":"Ler e modificar a configura\xe7\xe3o do OmniRoute via API","settingsApi":"Settings API","categoryCore":"APIs Principais","categoryMedia":"M\xeddia e Multi-Modal","categoryUtility":"Utilidades e Gerenciamento","enableCloudTitle":"Ativar Proxy na Nuvem","whatYouGet":"O que voc\xea ter\xe1","cloudBenefitAccess":"Acesse sua API de qualquer lugar do mundo","cloudBenefitShare":"Compartilhe o endpoint com sua equipe facilmente","cloudBenefitPorts":"Sem necessidade de abrir portas ou configurar firewall","cloudBenefitEdge":"Rede de borda global r\xe1pida","cloudSessionNote":"A nuvem manter\xe1 sua sess\xe3o de autentica\xe7\xe3o por 1 dia. Se n\xe3o usada, ser\xe1 automaticamente exclu\xedda.","cloudUnstableNote":"A nuvem est\xe1 atualmente inst\xe1vel com Claude Code OAuth em alguns casos.","cloudConnected":"Proxy na Nuvem conectado!","connectingToCloud":"Conectando \xe0 nuvem...","verifyingConnection":"Verificando conex\xe3o...","connecting":"Conectando...","verifying":"Verificando...","connected":"Conectado!","disableCloudTitle":"Desativar Proxy na Nuvem","disableWarning":"Todas as sess\xf5es de autentica\xe7\xe3o ser\xe3o exclu\xeddas da nuvem.","syncingData":"Sincronizando dados mais recentes...","disablingCloud":"Desativando nuvem...","syncing":"Sincronizando...","disabling":"Desativando...","cloudConnectedVerified":"Proxy na Nuvem conectado e verificado!","connectedVerificationPending":"Conectado — verifica\xe7\xe3o pendente","connectedVerificationPendingWithError":"Conectado — verifica\xe7\xe3o pendente: {error}","cloudDisabledSuccess":"Nuvem desativada com sucesso","syncedSuccess":"Sincronizado com sucesso","failedDisable":"Falha ao desativar nuvem","failedEnable":"Falha ao ativar nuvem","cloudRequestTimeout":"Tempo limite da requisi\xe7\xe3o em nuvem","cloudRequestFailed":"Falha na requisi\xe7\xe3o em nuvem","cloudWorkerUnreachable":"N\xe3o foi poss\xedvel alcan\xe7ar o worker de nuvem. Verifique se o servi\xe7o cloud est\xe1 rodando (npm run dev em /cloud).","connectionFailed":"Falha na conex\xe3o","syncFailed":"Falha ao sincronizar dados da nuvem","providerModelsTitle":"{provider} — Modelos","noModelsForProvider":"Nenhum modelo dispon\xedvel para este provedor.","chat":"Chat","embedding":"Embedding","image":"Imagem","custom":"custom","modelsCount":"{count, plural, one {# modelo} other {# modelos}}","sectionTitle":"Superf\xedcie de Integra\xe7\xe3o","sectionDescription":"APIs compat\xedveis com OpenAI e endpoints operacionais de protocolos","tabApis":"APIs compat\xedveis com OpenAI","tabProtocols":"Protocolos","tabsAria":"Se\xe7\xf5es de endpoint","protocolsTitle":"Protocolos","protocolsDescription":"MCP e A2A s\xe3o endpoints de primeira classe com observabilidade e controles dedicados.","mcpCardTitle":"Servidor MCP","mcpCardDescription":"Model Context Protocol via stdio","a2aCardTitle":"Servidor A2A","a2aCardDescription":"Endpoint Agent2Agent JSON-RPC","protocolToolsLabel":"Ferramentas","protocolTasksLabel":"Tarefas","protocolActiveStreamsLabel":"Streams ativos","protocolLastActivity":"\xdaltima atividade","quickStart":"In\xedcio r\xe1pido","openMcpDashboard":"Abrir gest\xe3o MCP","openA2aDashboard":"Abrir gest\xe3o A2A","mcpQuickStartTitle":"MCP In\xedcio r\xe1pido","mcpQuickStartStep1":"Inicie o servidor MCP com `omniroute --mcp`.","mcpQuickStartStep2":"Configure o cliente MCP para conectar por transporte stdio.","mcpQuickStartStep3":"Execute ferramentas como `omniroute_get_health` e `omniroute_list_combos`.","a2aQuickStartTitle":"A2A In\xedcio r\xe1pido","a2aQuickStartStep1":"Descubra o agent card em `/.well-known/agent.json`.","a2aQuickStartStep2":"Envie requisi\xe7\xf5es JSON-RPC para `POST /a2a` usando `message/send` ou `message/stream`.","a2aQuickStartStep3":"Acompanhe e controle tarefas com `tasks/get` e `tasks/cancel`."},"mcpDashboard":{"loading":"Carregando painel MCP...","activate":"ativar","deactivate":"desativar","confirmSwitchCombo":"Confirmar {action} combo \\"{combo}\\"?","switchComboFailed":"Falha ao alternar estado do combo.","switchComboSuccess":"Combo \\"{combo}\\" atualizado.","confirmApplyProfile":"Aplicar perfil de resili\xeancia \\"{profile}\\"?","applyProfileFailed":"Falha ao aplicar perfil de resili\xeancia.","applyProfileSuccess":"Perfil \\"{profile}\\" aplicado.","confirmResetBreakers":"Resetar todos os circuit breakers?","resetBreakersFailed":"Falha ao resetar circuit breakers.","resetBreakersSuccess":"Circuit breakers resetados.","processStatus":"Status do processo","online":"Online","offline":"Offline","pid":"PID","sessionUptime":"Uptime da sess\xe3o","lastHeartbeat":"\xdaltimo heartbeat","activity24h":"Atividade (24h)","totalCalls":"Total de chamadas","successRate":"Taxa de sucesso","avgLatency":"Lat\xeancia m\xe9dia","topTools":"Top ferramentas","noToolCalls24h":"Sem chamadas de ferramenta nas \xfaltimas 24 horas.","runtimeDetails":"Detalhes de runtime","transport":"Transporte","scopesEnforced":"Scopes aplicados","yes":"sim","no":"n\xe3o","lastCall":"\xdaltima chamada","heartbeatPath":"Caminho do heartbeat","operationalControls":"Controles operacionais","switchCombo":"Trocar combo","inactive":"inativo","active":"ativo","activateCombo":"Ativar combo","deactivateCombo":"Desativar combo","applyResilienceProfile":"Aplicar perfil de resili\xeancia","profileAggressive":"agressivo","profileBalanced":"balanceado","profileConservative":"conservador","applyProfile":"Aplicar perfil","resetCircuitBreakers":"Resetar circuit breakers","resetCircuitBreakersHelp":"Limpa o estado atual de breaker e os contadores de falha dos provedores.","resetAllBreakers":"Resetar todos os breakers","toolsAndScopes":"Ferramentas e scopes","tableTool":"Ferramenta","tableScopes":"Scopes","tablePhase":"Fase","tableAudit":"Auditoria","auditLog":"Log de auditoria","auditSummary":"Chamadas: {total} | p\xe1gina {page} de {totalPages}","allTools":"Todas as ferramentas","allResults":"Todos os resultados","success":"Sucesso","failure":"Falha","apiKeyIdPlaceholder":"apiKeyId","loadingAuditEntries":"Carregando registros de auditoria...","noAuditEntriesForFilters":"Nenhum registro de auditoria para os filtros atuais.","tableTimestamp":"Timestamp","tableDuration":"Dura\xe7\xe3o","tableResult":"Resultado","tableApiKey":"Chave API","failed":"falhou","previous":"Anterior","next":"Pr\xf3xima"},"a2aDashboard":{"loading":"Carregando painel A2A...","confirmCancelTask":"Cancelar tarefa {taskId}?","cancelTaskFailed":"Falha ao cancelar tarefa.","cancelTaskSuccess":"Tarefa {taskId} cancelada.","smokeSendFailed":"Falha no smoke test de message/send.","smokeSendSuccessWithTask":"message/send ok (tarefa {taskId}).","smokeSendSuccess":"message/send ok.","smokeStreamFailed":"Falha no smoke test de message/stream.","smokeStreamSuccessWithTask":"message/stream ok (tarefa {taskId}{stateSuffix}).","smokeStreamNoTaskId":"message/stream finalizado sem task id.","health":"Sa\xfade","ok":"ok","totalTasks":"Total de tarefas","activeStreams":"Streams ativos","lastTask":"\xdaltima tarefa","taskStateOverview":"Vis\xe3o de estados das tarefas","state":{"submitted":"submetida","working":"executando","completed":"conclu\xedda","failed":"falhou","cancelled":"cancelada"},"agentCard":"Cart\xe3o do agente","version":"Vers\xe3o","url":"URL","capabilities":"Capacidades","agentCardNotAvailable":"Cart\xe3o do agente indispon\xedvel.","quickValidation":"Valida\xe7\xe3o r\xe1pida","quickValidationDescription":"Executa chamadas de smoke pelo endpoint `/a2a` em produ\xe7\xe3o.","runMessageSend":"Executar message/send","runMessageStream":"Executar message/stream","taskManagement":"Gest\xe3o de tarefas","taskSummary":"{total} tarefas | p\xe1gina {page} de {totalPages}","allStates":"todos","allSkills":"todas as skills","loadingTasks":"Carregando tarefas...","noTasksForFilters":"Nenhuma tarefa encontrada para os filtros atuais.","tableTask":"Tarefa","tableSkill":"Skill","tableState":"Estado","tableUpdated":"Atualizada","tableActions":"A\xe7\xf5es","view":"Ver","cancel":"Cancelar","previous":"Anterior","next":"Pr\xf3xima","taskDetail":"Detalhe da tarefa","close":"Fechar","metadata":"Metadados","events":"Eventos","artifacts":"Artefatos"},"health":{"title":"Sa\xfade do Sistema","description":"Monitoramento em tempo real da sua inst\xe2ncia OmniRoute","healthy":"Saud\xe1vel","degraded":"Degradado","down":"Offline","uptime":"Tempo Ativo","memory":"Mem\xf3ria","memoryRss":"Mem\xf3ria (RSS)","heap":"Heap","cpu":"CPU","database":"Banco de Dados","version":"Vers\xe3o","lastCheck":"\xdaltima Verifica\xe7\xe3o","providerHealth":"Sa\xfade dos Provedores","systemMetrics":"M\xe9tricas do Sistema","tokenHealth":"Sa\xfade dos Tokens","refreshAll":"Atualizar Tudo","checkNow":"Verificar Agora","loadingHealth":"Carregando dados de sa\xfade...","failedToLoad":"Falha ao carregar dados de sa\xfade: {error}","retry":"Tentar Novamente","allOperational":"Todos os sistemas operacionais","issuesDetected":"Problemas detectados no sistema","updatedAt":"Atualizado {time}","latency":"Lat\xeancia","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Total de requisi\xe7\xf5es","noDataYet":"Sem dados ainda","promptCache":"Cache de Prompt","entries":"Entradas","hitRate":"Taxa de Acerto","hitsMisses":"Acertos / Erros","signatureCache":"Cache de Assinatura","signatureDefaults":"Padr\xf5es","signatureTool":"Ferramenta","signatureFamily":"Fam\xedlia","signatureSession":"Sess\xe3o","recovering":"Recuperando","noCBData":"Nenhum dado de circuit breaker dispon\xedvel. Fa\xe7a algumas requisi\xe7\xf5es primeiro.","providerHealthStatusAria":"Status de sa\xfade dos provedores","issuesLabel":"Problemas Detectados","operational":"Operacional","providers":"Provedores","healthyCount":"{count} saud\xe1veis","nodeVersion":"Node {version}","failures":"{count} falha","failuresPlural":"{count} falhas","lastFailure":"\xdaltima","rateLimitStatus":"Status de Limite de Taxa","activeLimiters":"{count} limitador ativo","activeLimitersPlural":"{count} limitadores ativos","queued":"Na Fila","queuedCount":"{count} na fila","running":"executando","runningCount":"{count} executando","ok":"OK","activeLockouts":"Bloqueios Ativos","resetConfirm":"Resetar todos os circuit breakers para estado saud\xe1vel? Isso limpar\xe1 todos os contadores de falha e restaurar\xe1 todos os provedores ao status operacional.","resetAllTitle":"Resetar todos os circuit breakers para estado saud\xe1vel","resetting":"Resetando...","resetAll":"Resetar Tudo","until":"At\xe9 {time}"},"limits":{"title":"Limites e Cotas","rateLimit":"Limite de Taxa","remaining":"Restante","requestsPerMinute":"Requisi\xe7\xf5es/min","tokensPerMinute":"Tokens/min","dailyLimit":"Limite Di\xe1rio"},"logs":{"title":"Logs","requestLogs":"Logs de Requisi\xe7\xf5es","proxyLogs":"Logs do Proxy","auditLog":"Log de Auditoria","console":"Console","auditLogDesc":"A\xe7\xf5es administrativas e eventos de seguran\xe7a","loading":"Carregando...","refresh":"Atualizar","filterByAction":"Filtrar por a\xe7\xe3o...","filterByActor":"Filtrar por ator...","filterEntriesAria":"Filtrar entradas do log de auditoria","filterByActionTypeAria":"Filtrar por tipo de a\xe7\xe3o","filterByActorAria":"Filtrar por ator","refreshAuditLogAria":"Atualizar log de auditoria","tableAria":"Entradas do log de auditoria","failedFetchAuditLog":"Falha ao carregar log de auditoria","showing":"Mostrando {count} entradas (offset {offset})","search":"Buscar","timestamp":"Data/Hora","action":"A\xe7\xe3o","actor":"Ator","target":"Alvo","details":"Detalhes","ipAddress":"Endere\xe7o IP","notAvailable":"—","noEntries":"Nenhuma entrada de log de auditoria encontrada","previous":"Anterior","next":"Pr\xf3ximo"},"onboarding":{"welcome":"Bem-vindo","security":"Seguran\xe7a","test":"Teste","ready":"Pronto!","setPassword":"Definir Senha","addProvider":"Adicione seu primeiro provedor","getStarted":"Come\xe7ar","skip":"Pular","skipWizard":"Pular assistente completamente","skipPassword":"Pular configura\xe7\xe3o de senha","skipAndContinue":"Pular e Continuar","passwordLabel":"Senha","confirmPassword":"Confirmar Senha","enterPassword":"Digite a senha","confirmPasswordPlaceholder":"Confirme a senha","passwordsMismatch":"As senhas n\xe3o coincidem","setupComplete":"Configura\xe7\xe3o Conclu\xedda!","goToDashboard":"Ir para o Painel →","welcomeDesc":"OmniRoute \xe9 seu proxy local de API de IA. Ele roteia requisi\xe7\xf5es para m\xfaltiplos provedores de IA com balanceamento de carga, failover e rastreamento de uso.","multiProvider":"Multi-Provedor","usageTracking":"Rastreamento de Uso","apiKeyMgmt":"Ger. de Chaves API","securityDesc":"Defina uma senha para proteger seu painel, ou pule por enquanto.","providerDesc":"Conecte seu primeiro provedor de IA. Voc\xea pode adicionar mais depois.","apiKeyRequired":"Chave de API (obrigat\xf3rio)","customUrlOptional":"URL personalizada (opcional)","testDesc":"Vamos verificar se a conex\xe3o com seu provedor funciona.","runTest":"Executar Teste de Conex\xe3o","testingConnection":"Testando conex\xe3o...","connectionSuccessful":"Conex\xe3o bem-sucedida! Seu provedor est\xe1 pronto.","noProviderFound":"Nenhum provedor encontrado. Voc\xea pode adicionar um pelo painel depois.","testFailed":"Teste falhou, mas voc\xea pode configurar isso depois.","couldNotTest":"N\xe3o foi poss\xedvel testar agora. Voc\xea pode testar pelo painel.","doneDesc":"Tudo pronto! Sua inst\xe2ncia OmniRoute est\xe1 configurada e pronta para rotear requisi\xe7\xf5es de IA.","yourEndpoint":"Seu endpoint:","continue":"Continuar","retry":"Tentar Novamente","failedSetPassword":"Falha ao definir senha. Tente novamente.","failedAddProvider":"Falha ao adicionar provedor. Tente novamente.","connectionError":"Erro de conex\xe3o. Tente novamente.","provider":"Provedor"},"providers":{"title":"Provedores","addProvider":"Adicionar Provedor","editProvider":"Editar Provedor","deleteProvider":"Excluir Provedor","noProviders":"Nenhum provedor configurado","modelAvailability":"Disponibilidade de Modelos","accounts":"Contas","newAccount":"Nova Conta","deleteConfirm":"Tem certeza que deseja excluir este provedor?","testing":"Testando...","testConnection":"Testar conex\xe3o","testSuccess":"Conex\xe3o bem-sucedida","testFailed":"Falha na conex\xe3o","available":"Dispon\xedvel","cooldown":"Cooldown","unavailable":"Indispon\xedvel","unknown":"Desconhecido","oauthLabel":"OAuth","compatibleLabel":"Compat\xedvel","chat":"Chat","responses":"Responses","messages":"Mensagens","oauthProviders":"Provedores OAuth","freeProviders":"Provedores Gratuitos","apiKeyProviders":"Provedores por Chave de API","compatibleProviders":"Provedores Compat\xedveis por Chave de API","testAll":"Testar Todos","testAllOAuth":"Testar todas as conex\xf5es OAuth","testAllFree":"Testar todas as conex\xf5es gratuitas","testAllApiKey":"Testar todas as conex\xf5es por chave de API","testAllCompatible":"Testar todas as conex\xf5es compat\xedveis","connected":"{count} Conectado(s)","errorCount":"{count} Erro ({code})","errorCountNoCode":"{count} Erro","noConnections":"Sem conex\xf5es","disabled":"Desativado","enableProvider":"Ativar provedor","disableProvider":"Desativar provedor","testResults":"Resultados do Teste","noCompatibleYet":"Nenhum provedor compat\xedvel adicionado","compatibleHint":"Use os bot\xf5es acima para adicionar endpoints compat\xedveis com OpenAI ou Anthropic","addOpenAICompatible":"Adicionar Compat\xedvel OpenAI","addAnthropicCompatible":"Adicionar Compat\xedvel Anthropic","addNewProvider":"Adicionar Novo Provedor","backToProviders":"Voltar para Provedores","configureNewProvider":"Configure um novo provedor de IA para usar com suas aplica\xe7\xf5es.","providerLabel":"Provedor","selectProvider":"Selecione um provedor","selectedProvider":"Provedor selecionado","authMethod":"M\xe9todo de Autentica\xe7\xe3o","apiKeyLabel":"Chave de API","apiKeyRequired":"Chave de API \xe9 obrigat\xf3ria","selectProviderRequired":"Selecione um provedor","enterApiKey":"Digite sua chave de API","apiKeySecure":"Sua chave de API ser\xe1 criptografada e armazenada com seguran\xe7a.","oauth2Connect":"Conectar com OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Conecte sua conta usando autentica\xe7\xe3o OAuth2.","displayName":"Nome de Exibi\xe7\xe3o","displayNamePlaceholder":"ex.: API de Produ\xe7\xe3o, Ambiente Dev","displayNameHint":"Opcional. Um nome amig\xe1vel para identificar esta configura\xe7\xe3o.","active":"Ativo","activeDescription":"Habilitar este provedor para uso em suas aplica\xe7\xf5es","cancel":"Cancelar","createProvider":"Criar Provedor","failedCreate":"Falha ao criar provedor","errorOccurred":"Ocorreu um erro. Tente novamente.","modelStatus":"Status dos Modelos","allModelsOperational":"Todos os modelos operacionais","modelsWithIssues":"{count} modelo(s) com problemas","allModelsNormal":"Todos os modelos est\xe3o respondendo normalmente.","cooldownCleared":"Cooldown limpo para {model}","failedClearCooldown":"Falha ao limpar cooldown","loadingAvailability":"Carregando disponibilidade dos modelos...","clearCooldown":"Limpar","clearing":"Limpando...","until":"At\xe9 {time}","providerTestFailed":"Teste de provedor falhou","modeTest":"Teste {mode}","passedCount":"{count} passaram","failedCount":"{count} falharam","testedCount":"{count} testados","millisecondsAbbr":"{value}ms","okShort":"OK","errorShort":"ERRO","noActiveConnectionsInGroup":"Nenhuma conex\xe3o ativa encontrada para este grupo.","allTestsPassed":"Todos os {total} testes passaram","testSummary":"{passed}/{total} passaram, {failed} falharam","nameLabel":"Nome","prefixLabel":"Prefixo","baseUrlLabel":"URL Base","apiTypeLabel":"Tipo de API","prefixHint":"Obrigat\xf3rio. Prefixo \xfanico para nomes de modelos.","nameHint":"Obrigat\xf3rio. Um r\xf3tulo amig\xe1vel para este n\xf3.","baseUrlHint":"Obrigat\xf3rio. URL base da API do provedor.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Validar Conex\xe3o","validating":"Validando...","connectionValid":"Conex\xe3o v\xe1lida!","connectionFailed":"Falha na conex\xe3o. Verifique URL e chave.","testKeyLabel":"Chave de API de Teste","testKeyPlaceholder":"sk-... (apenas para valida\xe7\xe3o)","providerNotFound":"Provedor n\xe3o encontrado","deleteConnectionConfirm":"Excluir esta conex\xe3o?","failedSetAlias":"Falha ao definir alias","failedSaveConnection":"Falha ao salvar conex\xe3o","failedSaveConnectionRetry":"Falha ao salvar conex\xe3o. Tente novamente.","failedRetestConnection":"Falha ao retestar conex\xe3o","deleteCompatibleNodeConfirm":"Excluir este n\xf3 Compat\xedvel com {type}?","anthropicCompatibleDetails":"Detalhes Compat\xedvel Anthropic","openaiCompatibleDetails":"Detalhes Compat\xedvel OpenAI","messagesApi":"API de Mensagens","responsesApi":"API de Respostas","chatCompletions":"Chat Completions","importingModels":"Importando...","importFromModels":"Importar de /models","addConnectionToImport":"Adicione uma conex\xe3o para habilitar importa\xe7\xe3o.","noModelsConfigured":"Nenhum modelo configurado","connectionCount":"{count} conex\xe3o(\xf5es)","fetchingModels":"Buscando modelos dispon\xedveis...","failedFetchModels":"Falha ao buscar modelos","noModelsFound":"Nenhum modelo encontrado","importFailed":"Falha na importa\xe7\xe3o","noNewModelsAdded":"Nenhum novo modelo foi adicionado.","adding":"Adicionando...","importingModelsTitle":"Importando Modelos","copyModel":"Copiar modelo","removeModel":"Remover modelo","rateLimitProtected":"Protegido","rateLimitUnprotected":"Desprotegido","enableRateLimitProtection":"Clique para habilitar prote\xe7\xe3o de limite de taxa","disableRateLimitProtection":"Clique para desabilitar prote\xe7\xe3o de limite de taxa","productionKey":"Chave de Produ\xe7\xe3o","enterNewApiKey":"Insira a nova chave API","optional":"Opcional","anthropicCompatibleName":"Compat\xedvel Anthropic","openaiCompatibleName":"Compat\xedvel OpenAI","failedImportModels":"Falha ao importar modelos","noModelsReturnedFromEndpoint":"Nenhum modelo retornado do endpoint /models.","importingModelsProgress":"Importando {current} de {total} modelos...","foundModelsStartingImport":"{count} modelos encontrados. Iniciando importa\xe7\xe3o...","importingModelById":"Importando {modelId}...","importSuccessCount":"Importa\xe7\xe3o conclu\xedda com sucesso: {count, plural, one {# modelo} other {# modelos}}!","noNewModelsAddedExisting":"Nenhum novo modelo foi adicionado (todos j\xe1 existem).","importDoneCount":"✓ Conclu\xeddo! {count, plural, one {# modelo importado.} other {# modelos importados.}}","unexpectedErrorOccurred":"Ocorreu um erro inesperado","connectionCountLabel":"{count, plural, one {# conex\xe3o} other {# conex\xf5es}}","messagesPath":"messages","responsesPath":"responses","chatCompletionsPath":"chat/completions","add":"Adicionar","edit":"Editar","delete":"Excluir","anthropic":"Anthropic","openai":"OpenAI","singleConnectionPerCompatible":"Apenas uma conex\xe3o \xe9 permitida por n\xf3 compat\xedvel. Adicione outro n\xf3 se precisar de mais conex\xf5es.","connections":"Conex\xf5es","providerProxyTitleConfigured":"Proxy do provedor: {host}","configured":"configurado","providerProxyConfigureHint":"Configurar proxy para todas as conex\xf5es deste provedor","providerProxy":"Proxy do Provedor","noConnectionsYet":"Ainda n\xe3o h\xe1 conex\xf5es","addFirstConnectionHint":"Adicione sua primeira conex\xe3o para come\xe7ar","addConnection":"Adicionar Conex\xe3o","availableModels":"Modelos Dispon\xedveis","pageAutoRefresh":"A p\xe1gina ser\xe1 atualizada automaticamente...","statusDisabled":"desativado","statusConnected":"conectado","statusRuntimeIssue":"problema local","statusAuthFailed":"falha de autentica\xe7\xe3o","statusRateLimited":"limite de taxa atingido","statusNetworkIssue":"problema de rede","statusTestUnsupported":"teste n\xe3o suportado","statusUnavailable":"indispon\xedvel","statusFailed":"falhou","statusError":"erro","oauthAccount":"Conta OAuth","errorTypeRuntime":"Runtime local","errorTypeUpstreamAuth":"Auth upstream","errorTypeMissingCredential":"Credencial ausente","errorTypeRefreshFailed":"Falha ao renovar","errorTypeTokenExpired":"Token expirado","errorTypeRateLimited":"Rate limited","errorTypeUpstreamUnavailable":"Upstream indispon\xedvel","errorTypeNetworkError":"Erro de rede","errorTypeTestUnsupported":"Teste n\xe3o suportado","errorTypeUpstreamError":"Erro upstream","proxySourceGlobal":"Global","proxySourceProvider":"Provedor","proxySourceKey":"Chave","proxyConfiguredBySource":"Proxy ({source}): {host}","autoPriority":"Auto: {priority}","proxy":"Proxy","retestAuthentication":"Retestar autentica\xe7\xe3o","retest":"Retestar","disableConnection":"Desativar conex\xe3o","enableConnection":"Ativar conex\xe3o","reauthenticateConnection":"Reautenticar esta conex\xe3o","proxyConfig":"Configura\xe7\xe3o de proxy","aliasExistsAlert":"O alias \\"{alias}\\" j\xe1 existe. Use um modelo diferente ou edite o alias existente.","openRouterAnyModelHint":"OpenRouter suporta qualquer modelo. Adicione modelos e crie aliases para acesso r\xe1pido.","modelIdFromOpenRouter":"ID do Modelo (do OpenRouter)","openRouterModelPlaceholder":"anthropic/claude-3-opus","customModels":"Modelos Personalizados","customModelsHint":"Adicione IDs de modelo que n\xe3o est\xe3o na lista padr\xe3o. Eles ficar\xe3o dispon\xedveis para roteamento.","modelId":"ID do Modelo","customModelPlaceholder":"ex.: gpt-4.5-turbo","loading":"Carregando...","removeCustomModel":"Remover modelo personalizado","noCustomModels":"Nenhum modelo personalizado adicionado ainda.","allSuggestedAliasesExist":"Todos os aliases sugeridos j\xe1 existem. Escolha um modelo diferente ou remova aliases conflitantes.","failedSaveCustomModel":"Falha ao salvar modelo personalizado","modelAddedSuccess":"Modelo {modelId} adicionado com sucesso","failedAddModelTryAgain":"Falha ao adicionar modelo. Tente novamente.","failedSaveImportedModel":"Falha ao salvar modelo importado no banco de modelos personalizados","failedImportModelsTryAgain":"Falha ao importar modelos. Tente novamente.","failedRemoveModelFromDatabase":"Falha ao remover modelo do banco de dados","modelRemovedSuccess":"Modelo removido com sucesso","failedDeleteModelTryAgain":"Falha ao excluir modelo. Tente novamente.","compatibleModelsDescription":"Adicione modelos compat\xedveis com {type} manualmente ou importe-os do endpoint /models.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"A valida\xe7\xe3o da chave de API falhou. Verifique sua chave e tente novamente.","addProviderApiKeyTitle":"Adicionar Chave de API de {provider}","checking":"Verificando...","check":"Verificar","valid":"V\xe1lido","invalid":"Inv\xe1lido","creating":"Criando...","validationChecksAnthropicCompatible":"A valida\xe7\xe3o verifica {provider} conferindo a chave de API.","validationChecksOpenAiCompatible":"A valida\xe7\xe3o verifica {provider} via /models na sua URL base.","priorityLabel":"Prioridade","saving":"Salvando...","save":"Salvar","editConnection":"Editar Conex\xe3o","accountName":"Nome da conta","email":"Email","healthCheckMinutes":"Health Check (min)","healthCheckHint":"Intervalo proativo de renova\xe7\xe3o de token. 0 = desativado.","failedTestConnection":"Falha ao testar conex\xe3o","failed":"Falhou","leaveBlankKeepCurrentApiKey":"Deixe em branco para manter a chave de API atual.","editCompatibleTitle":"Editar Compat\xedvel {type}","compatibleBaseUrlHint":"Use a URL base (terminando em /v1) para sua API compat\xedvel com {type}.","apiKeyForCheck":"Chave de API (para verifica\xe7\xe3o)","compatibleProdPlaceholder":"{type} Compat\xedvel (Prod)","providerTestTimeout":"Provider test timed out — too many connections to test at once"},"settings":{"title":"Configura\xe7\xf5es","general":"Geral","security":"Seguran\xe7a","appearance":"Apar\xeancia","routing":"Roteamento","cache":"Cache","resilience":"Resili\xeancia","systemPrompt":"Prompt do Sistema","thinkingBudget":"Or\xe7amento de Racioc\xednio","proxy":"Proxy","pricing":"Pre\xe7os","storage":"Armazenamento","policies":"Pol\xedticas","ipFilter":"Filtro de IP","comboDefaults":"Padr\xf5es de Combo","fallbackChains":"Cadeias de Fallback","changePassword":"Alterar Senha","enablePassword":"Ativar Senha","darkMode":"Modo Escuro","lightMode":"Modo Claro","systemTheme":"Tema do Sistema","enableCache":"Ativar Cache","cacheTTL":"TTL do Cache","maxCacheSize":"Tamanho M\xe1ximo do Cache","clearCache":"Limpar Cache","cacheHits":"Acertos de Cache","cacheMisses":"Erros de Cache","hitRate":"Taxa de Acerto","cacheEntries":"Entradas no Cache","circuitBreaker":"Disjuntor","retryPolicy":"Pol\xedtica de Retentativa","maxRetries":"M\xe1ximo de Tentativas","retryDelay":"Intervalo de Retentativa","timeoutMs":"Timeout (ms)","enableSystemPrompt":"Ativar Prompt do Sistema","systemPromptText":"Texto do Prompt do Sistema","enableThinking":"Ativar Racioc\xednio","maxThinkingTokens":"M\xe1ximo de Tokens de Racioc\xednio","enableProxy":"Ativar Proxy","proxyUrl":"URL do Proxy","pricingRates":"Formato de Taxas de Pre\xe7o","currentPricing":"Vis\xe3o Geral de Pre\xe7os Atual","loadingPricing":"Carregando dados de pre\xe7os...","noPricing":"Nenhum dado de pre\xe7o dispon\xedvel","input":"Entrada","output":"Sa\xedda","cached":"Em Cache","reasoning":"Racioc\xednio","cacheCreation":"Cria\xe7\xe3o de Cache","customPricing":"Pre\xe7os Personalizados","databaseSize":"Tamanho do Banco de Dados","backupDb":"Backup do Banco de Dados","restoreDb":"Restaurar Banco de Dados","exportData":"Exportar Dados","importData":"Importar Dados","clearData":"Limpar Todos os Dados","clearDataConfirm":"Isso excluir\xe1 permanentemente todos os dados. Tem certeza?","enableRequestLogs":"Ativar Logs de Requisi\xe7\xe3o","logRetention":"Reten\xe7\xe3o de Logs","ipWhitelist":"Lista de IPs Permitidos","ipBlacklist":"Lista de IPs Bloqueados","addIP":"Adicionar IP","savedSuccessfully":"Configura\xe7\xf5es salvas com sucesso","ai":"IA","advanced":"Avan\xe7ado","localMode":"Modo Local — Todos os dados armazenados na sua m\xe1quina","settingsSectionsAria":"Se\xe7\xf5es de configura\xe7\xf5es","switchThemes":"Alternar entre temas claro e escuro","themeSelectionAria":"Sele\xe7\xe3o de tema","themeLight":"Claro","themeDark":"Escuro","themeSystem":"Sistema","hideHealthLogs":"Ocultar Logs de Health Check","hideHealthLogsDesc":"Quando ATIVADO, suprime mensagens [HealthCheck] no console do servidor","themeAccent":"Cor do tema","themeAccentDesc":"Escolha uma cor predefinida ou crie seu pr\xf3prio tema com uma cor","themeCreate":"Criar tema","themeCustom":"Tema personalizado","themeBlue":"Azul","themeRed":"Vermelho","themeGreen":"Verde","themeViolet":"Violeta","themeOrange":"Laranja","themeCyan":"Ciano","promptCache":"Cache de Prompt","flushCache":"Limpar Cache","flushing":"Limpando…","size":"Tamanho","hits":"Acertos","evictions":"Remo\xe7\xf5es","loadingCacheStats":"Carregando estat\xedsticas do cache…","globalProxy":"Proxy Global","globalProxyDesc":"Configure um proxy de sa\xedda global para todas as chamadas de API. Provedores individuais, combos e chaves podem sobrescrever.","noGlobalProxy":"Nenhum proxy global configurado","globalLabel":"Global","configure":"Configurar","globalSystemPrompt":"Prompt de Sistema Global","systemPromptDesc":"Injetado em todas as requisi\xe7\xf5es no n\xedvel do proxy","saved":"Salvo","systemPromptPlaceholder":"Digite o prompt de sistema para injetar em todas as requisi\xe7\xf5es...","systemPromptHint":"Este prompt \xe9 adicionado antes da mensagem de sistema de cada requisi\xe7\xe3o. Use para instru\xe7\xf5es globais, diretrizes de seguran\xe7a ou regras de formata\xe7\xe3o.","chars":"{count} caracteres","thinkingBudgetTitle":"Or\xe7amento de Racioc\xednio","thinkingBudgetDesc":"Controle o uso de tokens de racioc\xednio da IA em todas as requisi\xe7\xf5es","passthrough":"Passagem Direta","passthroughDesc":"Sem altera\xe7\xf5es — cliente controla or\xe7amento de racioc\xednio","auto":"Autom\xe1tico","autoDesc":"Remove toda configura\xe7\xe3o de racioc\xednio — provedor decide","custom":"Personalizado","customDesc":"Define um or\xe7amento fixo de tokens para todas as requisi\xe7\xf5es","adaptive":"Adaptativo","adaptiveDesc":"Escala or\xe7amento baseado na complexidade da requisi\xe7\xe3o","effortNone":"Nenhum (0 tokens)","effortLow":"Baixo (1K tokens)","effortMedium":"M\xe9dio (10K tokens)","effortHigh":"Alto (128K tokens)","tokenBudget":"Or\xe7amento de Tokens","tokens":"tokens","baseEffortLevel":"N\xedvel de Esfor\xe7o Base","adaptiveHint":"Modo adaptativo escala a partir deste n\xedvel base baseado na quantidade de mensagens, uso de ferramentas e tamanho do prompt.","requireLogin":"Exigir login","requireLoginDesc":"Quando ATIVADO, dashboard exige senha. Quando DESATIVADO, acesso sem login.","currentPassword":"Senha Atual","enterCurrentPassword":"Digite a senha atual","newPassword":"Nova Senha","enterNewPassword":"Digite a nova senha","confirmPassword":"Confirmar Nova Senha","confirmPasswordPlaceholder":"Confirme a nova senha","passwordsNoMatch":"As senhas n\xe3o coincidem","passwordUpdated":"Senha atualizada com sucesso","failedUpdatePassword":"Falha ao atualizar senha","errorOccurred":"Ocorreu um erro","updatePassword":"Atualizar Senha","setPassword":"Definir Senha","apiEndpointProtection":"Prote\xe7\xe3o de Endpoint da API","requireAuthModels":"Exigir chave de API para /models","requireAuthModelsDesc":"Quando ATIVADO, o endpoint /v1/models retorna 404 para requisi\xe7\xf5es n\xe3o autenticadas. Impede descoberta de modelos por usu\xe1rios n\xe3o autorizados.","blockedProviders":"Provedores Bloqueados","blockedProvidersDesc":"Ocultar provedores espec\xedficos da resposta /v1/models. Provedores bloqueados n\xe3o aparecer\xe3o nas listagens de modelos.","providersBlocked":"{count} provedor(es) bloqueado(s) do /models","blockProviderTitle":"Bloquear {provider}","unblockProviderTitle":"Desbloquear {provider}","cliFingerprint":"Assinatura Digital CLI","cliFingerprintDesc":"Reproduz a assinatura digital dos CLIs nativos ao fazer proxy. Reorganiza headers e campos do body para parecer id\xeantico \xe0s ferramentas CLI oficiais. O IP do proxy \xe9 preservado.","cliFingerprintEnabled":"{count} provider(s) com fingerprint CLI ativo","enableFingerprintTitle":"Ativar fingerprint para {provider}","disableFingerprintTitle":"Desativar fingerprint para {provider}","routingStrategy":"Estrat\xe9gia de Roteamento","fillFirst":"Preencher Primeiro","fillFirstDesc":"Usar contas em ordem de prioridade","roundRobin":"Round Robin","roundRobinDesc":"Ciclar entre todas as contas","p2c":"P2C","p2cDesc":"Escolher 2 aleat\xf3rias, usar a mais saud\xe1vel","random":"Aleat\xf3rio","randomDesc":"Conta aleat\xf3ria em cada requisi\xe7\xe3o","leastUsed":"Menos Usado","leastUsedDesc":"Escolher a conta usada menos recentemente","costOpt":"Custo Otimizado","costOptDesc":"Preferir conta mais barata dispon\xedvel","stickyLimit":"Limite Fixo","stickyLimitDesc":"Chamadas por conta antes de trocar","modelAliases":"Aliases de Modelo","modelAliasesTitle":"Aliases de Modelo","modelAliasesDesc":"Padr\xf5es coringa para remapear nomes de modelos • Use * e ?","addCustomAlias":"Adicionar Alias Personalizado","deprecatedModelId":"ID do modelo depreciado","newModelId":"Novo ID do modelo","customAliases":"Aliases Personalizados","builtInAliases":"Aliases Integrados","backgroundDegradationTitle":"Degrada\xe7\xe3o de Tarefas em Background","backgroundDegradationDesc":"Detecta automaticamente tarefas em background (t\xedtulos, resumos) e roteia para modelos mais baratos","enableDegradation":"Ativar Degrada\xe7\xe3o em Background","enableDegradationHint":"Quando ativado, tarefas em background como gera\xe7\xe3o de t\xedtulos e resumos s\xe3o roteadas automaticamente para modelos mais baratos","tasksDetected":"Tarefas detectadas","degradationMap":"Mapa de Degrada\xe7\xe3o de Modelos","premiumModel":"Modelo premium","cheapModel":"Modelo barato","detectionPatterns":"Padr\xf5es de Detec\xe7\xe3o","newPattern":"ex: \\"gerar um t\xedtulo\\"","aliasPatternPlaceholder":"claude-sonnet-*","aliasTargetPlaceholder":"claude-sonnet-4-20250514","pattern":"Padr\xe3o","targetModel":"Modelo Alvo","add":"+ Adicionar","session":"Sess\xe3o","sessionDetailsAria":"Detalhes da sess\xe3o","status":"Status","authenticated":"Autenticado","guest":"Visitante","loginTime":"Hora do Login","sessionAge":"Dura\xe7\xe3o da Sess\xe3o","browser":"Navegador","clearLocalData":"Limpar Dados Locais","logout":"Sair","clearLocalDataConfirm":"Limpar todos os dados locais? Isso redefinir\xe1 suas prefer\xeancias.","unknown":"Desconhecido","systemActor":"sistema","ipAccessControl":"Controle de Acesso por IP","ipAccessControlDesc":"Bloquear ou permitir endere\xe7os IP espec\xedficos","ipModeDisabled":"Desativado","ipModeBlacklist":"Lista de Bloqueio","ipModeWhitelist":"Lista de Permiss\xe3o","ipModeWhitelistPriority":"Permiss\xe3o Priorit\xe1ria","addIpAddress":"Adicionar Endere\xe7o IP","ipAddressPlaceholder":"192.168.1.0/24 ou 10.0.*.*","block":"+ Bloquear","allow":"+ Permitir","blocked":"Bloqueados ({count})","allowed":"Permitidos ({count})","temporaryBans":"Banimentos Tempor\xe1rios ({count})","minLeft":"{min}m restantes","auditLog":"Log de Auditoria","searchAuditLogs":"Buscar logs de auditoria...","failedLoadAuditLog":"Falha ao carregar log de auditoria","noAuditEvents":"Nenhum evento de auditoria encontrado","action":"A\xe7\xe3o","actor":"Ator","details":"Detalhes","time":"Hora","fallbackChainsTitle":"Cadeias de Fallback","fallbackChainsDesc":"Definir ordem de fallback de provedores por modelo","addChain":"+ Adicionar Cadeia","modelName":"Nome do Modelo","modelNamePlaceholder":"claude-sonnet-4-20250514","providersCommaSeparated":"Provedores (separados por v\xedrgula, em ordem de prioridade)","providersCommaSeparatedPlaceholder":"anthropic, openai, gemini","createChain":"Criar Cadeia","noFallbackChains":"Sem Cadeias de Fallback","noFallbackChainsDesc":"Crie uma cadeia para definir a ordem de fallback de provedores para um modelo.","loadingFallbackChains":"Carregando cadeias de fallback...","deleteChainConfirm":"Excluir cadeia de fallback para \\"{model}\\"?","chainCreated":"Cadeia criada para {model}","chainDeleted":"Cadeia exclu\xedda para {model}","failedCreateChain":"Falha ao criar cadeia","failedDeleteChain":"Falha ao excluir cadeia","deleteChain":"Excluir cadeia","fillModelAndProviders":"Preencha o nome do modelo e os provedores","addAtLeastOneProvider":"Adicione pelo menos um provedor","comboDefaultsTitle":"Padr\xf5es de Combo","globalComboConfig":"Configura\xe7\xe3o global de combos","defaultStrategy":"Estrat\xe9gia Padr\xe3o","defaultStrategyDesc":"Aplicada a novos combos sem estrat\xe9gia expl\xedcita","comboStrategyAria":"Estrat\xe9gia de combo","priority":"Prioridade","weighted":"Ponderado","maxRetriesLabel":"M\xe1x. Tentativas","retryDelayLabel":"Atraso entre Tentativas (ms)","timeoutLabel":"Timeout (ms)","healthCheck":"Verifica\xe7\xe3o de Sa\xfade","healthCheckDesc":"Verificar disponibilidade do provedor antes","trackMetrics":"Rastrear M\xe9tricas","trackMetricsDesc":"Registrar m\xe9tricas de requisi\xe7\xe3o por combo","providerOverrides":"Sobrescritas por Provedor","providerOverridesDesc":"Substituir timeout e tentativas por provedor. Configura\xe7\xf5es do provedor substituem os padr\xf5es globais.","providerMaxRetriesAria":"{provider} tentativas m\xe1ximas","providerTimeoutAria":"timeout de {provider} em ms","removeProviderOverrideAria":"Remover sobrescrita de {provider}","newProviderNamePlaceholder":"ex.: google, openai...","newProviderNameAria":"Nome do novo provedor","retries":"tentativas","ms":"ms","saveComboDefaults":"Salvar Padr\xf5es de Combo","maxNestingDepth":"Profundidade M\xe1x. de Aninhamento","concurrencyPerModel":"Concorr\xeancia / Modelo","queueTimeout":"Timeout da Fila (ms)","providerProfiles":"Perfis de Provedor","providerProfilesDesc":"Configura\xe7\xf5es de resili\xeancia separadas para provedores OAuth (baseados em sess\xe3o) e API Key (medidos). Provedores OAuth t\xeam limites mais rigorosos devido a taxas mais baixas.","oauthProviders":"Provedores OAuth","apiKeyProviders":"Provedores API Key","transientCooldown":"Cooldown Transit\xf3rio","rateLimitCooldown":"Cooldown de Rate Limit","maxBackoffLevel":"N\xedvel M\xe1x. de Backoff","cbThreshold":"Limiar do CB","cbResetTime":"Tempo de Reset do CB","rateLimiting":"Limita\xe7\xe3o de Taxa","rateLimitingDesc":"Provedores API Key s\xe3o automaticamente limitados com padr\xf5es seguros. Limites s\xe3o aprendidos dos cabe\xe7alhos de resposta e se adaptam ao longo do tempo.","defaultSafetyNet":"Rede de Seguran\xe7a Padr\xe3o","rpm":"RPM","minGap":"Intervalo M\xedn.","maxConcurrent":"M\xe1x. Concorrentes","activeLimiters":"Limitadores Ativos","noActiveLimiters":"Nenhum limitador de taxa ativo ainda.","reservoir":"Reservat\xf3rio","running":"Em Execu\xe7\xe3o","queued":"Na Fila","circuitBreakers":"Disjuntores","breakerStateClosed":"Fechado","breakerStateOpen":"Aberto","breakerStateHalfOpen":"Semiaberto","tripped":"{count} aberto(s)","healthy":"{count} saud\xe1vel(is)","resetAll":"Resetar Todos","noCircuitBreakers":"Nenhum disjuntor ativo ainda. Eles s\xe3o criados automaticamente quando requisi\xe7\xf5es passam pelo pipeline de combos.","failures":"{count} falha(s)","policiesLocked":"Pol\xedticas e Identificadores Bloqueados","allOperational":"Todos os sistemas operacionais — sem bloqueios ou disjuntores ativados","loadingPolicies":"Carregando pol\xedticas...","lockedIdentifiers":"Identificadores Bloqueados","unlockedIdentifier":"Desbloqueado: {identifier}","sinceDate":"desde {date}","forceUnlock":"For\xe7ar Desbloqueio","unlocking":"Desbloqueando...","failedUnlock":"Falha ao desbloquear","failedLoadWithStatus":"Falha ao carregar: {status}","failedLoadResilience":"Falha ao carregar status de resili\xeancia","saveFailed":"Falha ao salvar","resetFailed":"Falha ao resetar","loadingResilience":"Carregando status de resili\xeancia...","retry":"Tentar Novamente","systemStorage":"Sistema e Armazenamento","allDataLocal":"Todos os dados armazenados localmente na sua m\xe1quina","databasePath":"Caminho do Banco de Dados","exportDatabase":"Exportar Banco de Dados","exportAll":"Exportar Tudo (.tar.gz)","importDatabase":"Importar Banco de Dados","confirmDbImport":"Confirmar Importa\xe7\xe3o do Banco","confirmDbImportDesc":"Isso substituir\xe1 todos os dados atuais pelo conte\xfado de {file}. Um backup ser\xe1 criado automaticamente antes da importa\xe7\xe3o.","yesImport":"Sim, Importar","lastBackup":"\xdaltimo Backup","noBackupYet":"Nenhum backup ainda","backupNow":"Backup Agora","backupRestore":"Backup e Restaura\xe7\xe3o","viewBackups":"Ver Backups","hide":"Ocultar","backupRetentionDesc":"Snapshots do banco s\xe3o criados automaticamente antes da restaura\xe7\xe3o e a cada 15 minutos quando h\xe1 altera\xe7\xf5es. Reten\xe7\xe3o: 24 hor\xe1rios + 30 di\xe1rios com rota\xe7\xe3o inteligente.","loadingBackups":"Carregando backups...","noBackupsYet":"Nenhum backup dispon\xedvel ainda. Backups ser\xe3o criados automaticamente quando houver altera\xe7\xf5es.","backupsAvailable":"{count} backup(s) dispon\xedvel(is)","refresh":"Atualizar","confirm":"Confirmar?","yes":"Sim","no":"N\xe3o","restore":"Restaurar","invalidFileType":"Tipo de arquivo inv\xe1lido. Apenas arquivos .sqlite s\xe3o aceitos.","exportFailed":"Falha na exporta\xe7\xe3o","exportFailedWithError":"Falha na exporta\xe7\xe3o: {error}","fullExportFailedWithError":"Falha na exporta\xe7\xe3o completa: {error}","backupCreated":"Backup criado: {file}","restoreSuccess":"Restaurado! {connections} conex\xf5es, {nodes} n\xf3s, {combos} combos, {apiKeys} chaves de API.","importSuccess":"Banco importado! {connections} conex\xf5es, {nodes} n\xf3s, {combos} combos, {apiKeys} chaves de API.","justNow":"agora mesmo","minutesAgo":"{count}m atr\xe1s","hoursAgo":"{count}h atr\xe1s","daysAgo":"{count}d atr\xe1s","backupReasonManual":"manual","backupReasonPreRestore":"pr\xe9-restaura\xe7\xe3o","connectionsCount":"{count, plural, one {# conex\xe3o} other {# conex\xf5es}}","noChangesSinceBackup":"Sem altera\xe7\xf5es desde o \xfaltimo backup","backupFailed":"Falha no backup","restoreFailed":"Falha na restaura\xe7\xe3o","importFailed":"Falha na importa\xe7\xe3o","errorDuringRestore":"Ocorreu um erro durante a restaura\xe7\xe3o","errorDuringImport":"Ocorreu um erro durante a importa\xe7\xe3o","modelPricing":"Pre\xe7os de Modelos","modelPricingDesc":"Configure taxas de custo por modelo • Todas as taxas em $/1M tokens","providers":"Provedores","registry":"Registro","priced":"Com Pre\xe7o","searchProvidersModels":"Buscar provedores ou modelos...","showAll":"Mostrar Todos","noProvidersMatch":"Nenhum provedor corresponde \xe0 sua busca.","howPricingWorks":"Como os Pre\xe7os Funcionam","cacheWrite":"Escrita em Cache","unsaved":"n\xe3o salvo","resetDefaults":"Restaurar Padr\xf5es","saveProvider":"Salvar Provedor","saving":"Salvando...","model":"Modelo","models":"modelos","moreProviders":"{count} provedores adicionais","withPricing":"com pre\xe7o configurado","policiesCircuitBreakers":"Pol\xedticas e Disjuntores","activeIssuesDetected":"Problemas ativos detectados","off":"Desligado","resetPricingConfirm":"Resetar todos os pre\xe7os de {provider} para os padr\xf5es?","pricingDescInput":"Input: tokens enviados ao modelo","pricingDescOutput":"Output: tokens gerados","pricingDescCached":"Cached: input reutilizado (~50% da taxa de input)","pricingDescReasoning":"Reasoning: tokens de racioc\xednio (fallback para Output)","pricingDescCacheWrite":"Cache Write: cria\xe7\xe3o de entradas de cache (fallback para Input)","pricingDescFormula":"Custo = (input \xd7 taxa_input) + (output \xd7 taxa_output) + (cached \xd7 taxa_cached) por milh\xe3o de tokens.","pricingSettingsTitle":"Configura\xe7\xf5es de Pre\xe7os","totalModels":"Total de Modelos","active":"Ativo","costCalculation":"C\xe1lculo de Custo","costCalculationDesc":"Custos s\xe3o calculados com base no uso de tokens e taxas de pre\xe7o configuradas para cada modelo.","pricingFormat":"Formato de Pre\xe7os","pricingFormatDesc":"Todas as taxas s\xe3o em $/1M tokens (d\xf3lares por milh\xe3o de tokens).","tokenTypes":"Tipos de Token","inputTokenDesc":"Tokens de prompt padr\xe3o","outputTokenDesc":"Tokens de conclus\xe3o/resposta","cachedTokenDesc":"Tokens de input em cache (tipicamente 50% da taxa de input)","reasoningTokenDesc":"Tokens especiais de racioc\xednio (fallback para taxa de output)","cacheCreationTokenDesc":"Tokens usados para criar entradas de cache (fallback para taxa de input)","customPricingNote":"Voc\xea pode sobrescrever pre\xe7os padr\xe3o para modelos espec\xedficos. Sobrescritas personalizadas t\xeam prioridade sobre pre\xe7os detectados automaticamente.","editPricing":"Editar Pre\xe7os","viewFullDetails":"Ver Detalhes Completos","themeCoral":"Coral"},"translator":{"title":"Tradutor","metaTitle":"Playground do Tradutor | OmniRoute","metaDescription":"Depure, teste e visualize tradu\xe7\xf5es de formatos de API entre provedores","playgroundTitle":"Playground do Tradutor","playground":"Playground","realtime":"Atividade de Tradu\xe7\xe3o em Tempo Real","chatTester":"Testador de Chat","testBench":"Bancada de Testes","liveMonitor":"Monitor ao Vivo","modeDescriptionPlayground":"Cole qualquer corpo de requisi\xe7\xe3o de API e veja como o OmniRoute traduz entre formatos de provedores (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)","modeDescriptionChatTester":"Envie requisi\xe7\xf5es reais de chat pelo OmniRoute e inspecione o ciclo completo: entrada, requisi\xe7\xe3o traduzida, resposta do provedor e sa\xedda traduzida.","modeDescriptionTestBench":"Execute cen\xe1rios predefinidos e compare compatibilidade entre provedores e modelos.","modeDescriptionLiveMonitor":"Acompanhe eventos de tradu\xe7\xe3o em tempo real conforme as requisi\xe7\xf5es passam pelo OmniRoute.","modeDescriptionFallback":"Depure, teste e visualize como o OmniRoute traduz requisi\xe7\xf5es de API entre provedores.","recentTranslations":"Tradu\xe7\xf5es Recentes","noTranslations":"Nenhuma tradu\xe7\xe3o ainda","source":"Origem","target":"Destino","time":"Hora","model":"Modelo","status":"Status","latency":"Lat\xeancia","totalTranslations":"Total de Tradu\xe7\xf5es","successful":"Sucesso","errors":"Erros","avgLatency":"Lat\xeancia M\xe9dia","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Ao vivo — atualizando automaticamente","paused":"Pausado","eventsAppearHint":"Os eventos de tradu\xe7\xe3o aparecem aqui conforme as requisi\xe7\xf5es passam pelo OmniRoute. Use qualquer um destes m\xe9todos para gerar eventos:","chatTesterTab":"Aba Testador de Chat","testBenchTab":"Aba Bancada de Testes","externalApiCalls":"Chamadas de API externas","ideCliIntegrations":"Integra\xe7\xf5es IDE/CLI","inMemoryNote":"Nota: os eventos s\xe3o armazenados em mem\xf3ria e reiniciados quando o servidor reinicia.","ok":"OK","errorShort":"ERR","formatConverter":"Conversor de Formato","formatConverterDescription":"Cole ou digite um corpo de requisi\xe7\xe3o JSON. O tradutor detectar\xe1 automaticamente o formato de origem e converter\xe1 para o formato de destino. Use isso para depurar como o OmniRoute traduz requisi\xe7\xf5es entre formatos (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Entrada","output":"Sa\xedda","auto":"Auto","swapFormats":"Trocar formatos","translateAction":"Traduzir","clear":"Limpar","inputPlaceholder":"Cole um corpo de requisi\xe7\xe3o aqui ou selecione um modelo abaixo...","exampleTemplates":"Modelos de Exemplo","exampleTemplatesHint":"— Clique para carregar","templateLoadHint":"O modelo carrega a requisi\xe7\xe3o no formato {format}. Altere o Formato de Origem para carregar em outro formato.","compatibilityTester":"Testador de Compatibilidade","compatibilityReport":"Relat\xf3rio de Compatibilidade","testBenchDescription":"Execute cen\xe1rios predefinidos (Chat Simples, Chamada de Ferramenta, etc.) para validar tradu\xe7\xe3o e compatibilidade do provedor. Selecione um formato de origem e o provedor de destino, depois execute todos os testes para ver a porcentagem de compatibilidade.","targetProvider":"Provedor de destino","runAllTests":"Executar todos os testes","runTest":"Executar teste","reRun":"Executar novamente","running":"Executando...","passed":"aprovados","failed":"falharam","passedIconLabel":"✅ Aprovado","chunks":"chunks","scenarioSimpleChat":"Chat Simples","scenarioToolCalling":"Chamada de Ferramenta","scenarioMultiTurn":"Multiturno","scenarioThinking":"Racioc\xednio","scenarioSystemPrompt":"Prompt de Sistema","scenarioStreaming":"Streaming","templateNames":{"simple-chat":"Chat Simples","tool-calling":"Chamada de Ferramenta","multi-turn":"Multiturno","thinking":"Racioc\xednio","system-prompt":"Prompt de Sistema","streaming":"Streaming"},"templateDescriptions":{"simple-chat":"Mensagem de texto b\xe1sica","tool-calling":"Invoca\xe7\xe3o de fun\xe7\xe3o/ferramenta","multi-turn":"Conversa com hist\xf3rico","thinking":"Racioc\xednio estendido","system-prompt":"Instru\xe7\xf5es de sistema complexas","streaming":"Requisi\xe7\xe3o de streaming SSE"},"templatePayloads":{"simpleChat":{"system":"Voc\xea \xe9 um assistente prestativo.","userGreeting":"Ol\xe1! Como voc\xea est\xe1 hoje?"},"toolCalling":{"userWeather":"Como est\xe1 o tempo em S\xe3o Paulo?","toolDescription":"Obt\xe9m o clima atual para uma localidade","cityNameDescription":"Nome da cidade"},"multiTurn":{"system":"Voc\xea \xe9 um assistente de programa\xe7\xe3o.","userInitial":"Escreva uma fun\xe7\xe3o para ordenar um array em Python.","assistantExample":"Aqui est\xe1 uma fun\xe7\xe3o simples de ordena\xe7\xe3o:\\n\\n```python\\ndef sort_array(arr):\\n return sorted(arr)\\n```","userFollowUp":"Agora fa\xe7a para ordenar em ordem decrescente."},"thinking":{"question":"Qual \xe9 a soma dos 100 primeiros n\xfameros primos?"},"systemPrompt":{"systemInstruction":"Voc\xea \xe9 um engenheiro de software s\xeanior especializado em sistemas distribu\xeddos. Responda de forma concisa usando boas pr\xe1ticas de mercado. Sempre forne\xe7a exemplos de c\xf3digo quando relevante. Formate suas respostas usando markdown.","question":"Como implemento o padr\xe3o circuit breaker?"},"streaming":{"prompt":"Conte uma hist\xf3ria curta sobre um rob\xf4 aprendendo a pintar."}},"openaiCompatibleLabel":"Compat\xedvel com OpenAI","anthropicCompatibleLabel":"Compat\xedvel com Anthropic","noTemplateForFormat":"Sem modelo para este formato","translationFailed":"Falha na tradu\xe7\xe3o: {error}","pipelineDebugger":"Depurador de Pipeline","translationPipeline":"Pipeline de Tradu\xe7\xe3o","pipelineVisualization":"Visualiza\xe7\xe3o do pipeline","pipelineVisualizationHint":"Envie uma mensagem para ver como sua requisi\xe7\xe3o flui por detec\xe7\xe3o → tradu\xe7\xe3o → chamada ao provedor.","chatTesterDescription":"Envie mensagens em um formato espec\xedfico de cliente e inspecione cada etapa do pipeline de tradu\xe7\xe3o.","chatTesterFlow":"Requisi\xe7\xe3o do Cliente → Detec\xe7\xe3o de Formato → Intermedi\xe1rio OpenAI → Formato do Provedor → Resposta","clickStepToInspect":"Clique em qualquer etapa para inspecionar os dados naquele ponto.","clientFormat":"Formato do cliente","provider":"Provedor","modelPlaceholder":"Selecione ou digite um nome de modelo...","sendMessageToSeePipeline":"Envie uma mensagem para ver o pipeline de tradu\xe7\xe3o","chatMessageHintPrefix":"Sua mensagem ser\xe1 formatada como uma requisi\xe7\xe3o no formato","chatMessageHintSuffix":"traduzida pelo pipeline e enviada ao provedor selecionado.","youWithFormat":"Voc\xea ({format})","assistant":"Assistente","typeMessage":"Digite uma mensagem...","send":"Enviar","clientRequest":"Requisi\xe7\xe3o do Cliente","clientRequestDescription":"O corpo de requisi\xe7\xe3o como seu cliente enviaria","formatDetected":"Formato Detectado","formatDetectedDescription":"O OmniRoute detecta automaticamente o formato da API a partir da estrutura da requisi\xe7\xe3o","openaiIntermediate":"Intermedi\xe1rio OpenAI","openaiIntermediateDescription":"Todos os formatos s\xe3o primeiro normalizados para o formato OpenAI (ponte universal)","providerFormat":"Formato do Provedor","providerFormatDescription":"O formato OpenAI \xe9 traduzido para o formato nativo do provedor","providerResponse":"Resposta do Provedor","providerResponseRawDescription":"A resposta bruta da API do provedor","providerResponseSseDescription":"O stream SSE bruto da API do provedor","unexpectedError":"Ocorreu um erro inesperado","error":"Erro","errorMessage":"Erro: {message}","requestFailed":"Falha na requisi\xe7\xe3o","noTextExtracted":"(Nenhum texto extra\xeddo)","liveMonitorDescriptionPrefix":"Mostra eventos de tradu\xe7\xe3o conforme chamadas de API passam pelo OmniRoute. Os eventos v\xeam do buffer em mem\xf3ria (reinicia ao reiniciar o servidor). Use","liveMonitorDescriptionSuffix":", ou chamadas de API externas para gerar eventos."},"usage":{"title":"Uso","loggerTab":"Logger","proxyTab":"Proxy","budgetManagement":"Gerenciamento de Or\xe7amento","budgetSaved":"Limites de or\xe7amento salvos","budgetSaveFailed":"Falha ao salvar limites de or\xe7amento","loadingBudgetData":"Carregando dados de or\xe7amento...","noApiKeysTitle":"Nenhuma Chave de API","noApiKeysDescription":"Adicione chaves de API primeiro para configurar limites de or\xe7amento.","apiKey":"Chave de API","todaysSpend":"Gasto de hoje","thisMonth":"Este M\xeas","setLimits":"Definir Limites","dailyLimitUsd":"Limite di\xe1rio (USD)","monthlyLimitUsd":"Limite mensal (USD)","warningThresholdPercent":"Limite de aviso (%)","dailyLimitPlaceholder":"ex.: 5.00","monthlyLimitPlaceholder":"ex.: 50.00","warningThresholdPlaceholder":"80","saveLimits":"Salvar limites","budgetOk":"Or\xe7amento OK — {remaining} restantes","budgetExceeded":"Or\xe7amento excedido — requisi\xe7\xf5es podem ser bloqueadas","totalRequests":"Total de requisi\xe7\xf5es","noDataYet":"Sem dados ainda","latency":"Lat\xeancia","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","promptCache":"Cache de Prompt","systemHealth":"Sa\xfade do Sistema","entries":"Entradas","activeCount":"{count, plural, one {# ativo} other {# ativos}}","openCircuitBreakersDetected":"Disjuntores abertos detectados","hitRate":"Taxa de Acerto","hitsMisses":"Acertos / Erros","circuitBreakers":"Disjuntores","lockedIPs":"IPs Bloqueados","lockoutsAutoRefreshHint":"Bloqueios por limite de taxa por modelo • Atualiza\xe7\xe3o autom\xe1tica 10s","lockedCount":"{count, plural, one {# bloqueado} other {# bloqueados}}","timeLeft":"{time} restantes","howItWorks":"Como Funciona","howItWorksSubtitle":"Entenda como as avalia\xe7\xf5es validam as respostas do seu LLM","define":"Definir","defineStepDescription":"Crie casos de teste com prompts de entrada e crit\xe9rios de sa\xedda esperados usando estrat\xe9gias como contains, regex ou correspond\xeancia exata.","run":"Executar","runStepDescription":"Execute casos de teste contra seus endpoints de LLM via OmniRoute. Cada caso \xe9 enviado como uma requisi\xe7\xe3o real de API.","evaluate":"Avaliar","evaluateStepDescription":"As respostas s\xe3o comparadas com os crit\xe9rios esperados. Veja aprovado/reprovado por caso com m\xe9tricas de lat\xeancia e feedback detalhado.","evalSuites":"Su\xedtes de Avalia\xe7\xe3o","evalSuitesHint":"Clique em uma su\xedte para ver os casos de teste e execute para avaliar seus endpoints de LLM","evalsLoading":"Carregando su\xedtes de avalia\xe7\xe3o...","noEvalSuitesFound":"Nenhuma su\xedte de avalia\xe7\xe3o encontrada","noEvalSuitesDescription":"As su\xedtes de avalia\xe7\xe3o podem ser definidas via API ou em c\xf3digo. Elas testam sa\xeddas de modelos contra resultados esperados usando estrat\xe9gias como contains, regex, correspond\xeancia exata e fun\xe7\xf5es customizadas.","columnCase":"Caso","columnStatus":"Status","columnLatency":"Lat\xeancia","columnDetails":"Detalhes","columnModel":"Modelo","columnStrategy":"Estrat\xe9gia","columnExpected":"Esperado","statsSuites":"Su\xedtes","statsTestCases":"Casos de Teste","statsModels":"Modelos","statsCoverage":"Cobertura","statsStrategiesCount":"{count} estrat\xe9gias","evaluationStrategies":"Estrat\xe9gias de Avalia\xe7\xe3o","modelsUnderTest":"Modelos em Teste","searchSuitesPlaceholder":"Buscar su\xedtes...","passSuffix":"de aprova\xe7\xe3o","casesCount":"{count, plural, one {# caso} other {# casos}}","runEval":"Executar avalia\xe7\xe3o","runningProgress":"Executando {current}/{total}...","passRate":"taxa de aprova\xe7\xe3o","summaryBreakdown":"{passed} aprovados \xb7 {failed} falharam \xb7 {total} total","passedIconLabel":"✅ Aprovado","failedIconLabel":"❌ Falhou","detailsContains":"Cont\xe9m: \\"{term}\\"","detailsRegex":"Regex: {pattern}","detailsExpected":"Esperado: \\"{expected}\\"","noResultsYet":"Sem resultados ainda","testCasesCount":"Casos de Teste ({count})","noTestCasesDefined":"Nenhum caso de teste definido","runEvalHint":"Clique em \\"Executar avalia\xe7\xe3o\\" para executar todos os casos contra seu endpoint de LLM. Cada teste envia uma requisi\xe7\xe3o real pelo OmniRoute.","notifyNoTestCases":"Nenhum caso de teste definido para esta su\xedte","notifyAllCasesPassed":"Todos os {total} casos passaram ✅","notifySomeCasesFailed":"{passed}/{total} passaram, {failed} falharam","notifyEvalRunFailed":"Falha na execu\xe7\xe3o da avalia\xe7\xe3o","notifyEvalTitle":"Avalia\xe7\xe3o: {name}","modelEvals":"Avalia\xe7\xf5es de Modelos","evalsHeroDescription":"Teste e valide seus endpoints de LLM executando su\xedtes de avalia\xe7\xe3o predefinidas. Cada su\xedte cont\xe9m casos de teste que enviam prompts reais pelo OmniRoute e comparam respostas com crit\xe9rios esperados — ajudando voc\xea a detectar regress\xf5es, comparar modelos e garantir qualidade de resposta entre provedores.","qualityValidation":"Valida\xe7\xe3o de Qualidade","modelComparison":"Compara\xe7\xe3o de Modelos","regressionDetection":"Detec\xe7\xe3o de Regress\xe3o","latencyBenchmarks":"Benchmarks de Lat\xeancia","modelLockouts":"Bloqueios de Modelo","noLockouts":"Nenhum modelo bloqueado","activeSessions":"Sess\xf5es Ativas","noSessions":"Sem sess\xf5es ativas","sessionsHint":"Sess\xf5es aparecem conforme requisi\xe7\xf5es passam pelo proxy","sessionsTrackedHint":"Rastreado por fingerprint de requisi\xe7\xf5es • Atualiza\xe7\xe3o autom\xe1tica 5s","session":"Sess\xe3o","age":"Idade","requests":"Requisi\xe7\xf5es","connection":"Conex\xe3o","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Limites do Provedor","noProviders":"Nenhum Provedor Conectado","connectProvidersForQuota":"Conecte provedores com OAuth para acompanhar limites e uso de cota da API.","accountsCount":"{count, plural, one {# conta} other {# contas}}","filteredFromCount":"(filtrado de {count})","autoRefresh":"Atualiza\xe7\xe3o autom\xe1tica","refreshAll":"Atualizar tudo","loadingQuotas":"Carregando...","account":"Conta","modelQuotas":"Cotas de Modelo","lastUsed":"\xdaltimo uso","actions":"A\xe7\xf5es","refreshQuota":"Atualizar cota","today":"Hoje","tomorrow":"Amanh\xe3","dayTimeFormat":"{day}, {time}","inDuration":"em {duration}","notApplicable":"N/D","rawPlanWithValue":"Plano bruto: {plan}","noPlanFromProvider":"Sem plano do provedor","noQuotaData":"Sem dados de cota","noQuotaDataAvailable":"Nenhum dado de cota dispon\xedvel","noAccountsForTierFilter":"Nenhuma conta encontrada para o filtro de plano","tierAll":"Todos","tierEnterprise":"Enterprise","tierTeam":"Team","tierBusiness":"Business","tierUltra":"Ultra","tierPro":"Pro","tierPlus":"Plus","tierFree":"Free","tierUnknown":"Desconhecido"},"modals":{"waitingAuth":"Aguardando Autoriza\xe7\xe3o","verificationUrl":"URL de Verifica\xe7\xe3o","yourCode":"Seu C\xf3digo","remoteAccess":"Acesso remoto:","connectedSuccess":"Conectado com Sucesso!","connectionFailed":"Falha na Conex\xe3o","chooseAuthMethod":"Escolha seu m\xe9todo de autentica\xe7\xe3o:","awsBuilderId":"AWS Builder ID","awsIamIdentity":"AWS IAM Identity Center","googleAccount":"Conta Google","githubAccount":"Conta GitHub","importToken":"Importar Token","pasteToken":"Cole o refresh token do Kiro IDE.","awsRegion":"Regi\xe3o AWS","autoDetecting":"Detectando tokens automaticamente...","readingFromCache":"Lendo do cache AWS SSO","readingFromCursor":"Lendo do banco de dados do Cursor IDE","initializing":"Inicializando...","pricingConfig":"Configura\xe7\xe3o de Pre\xe7os","loadingPricing":"Carregando dados de pre\xe7os...","pricingRatesFormat":"Formato de Taxas de Pre\xe7o","noPricingData":"Nenhum dado de pre\xe7o dispon\xedvel","noModelsFound":"Nenhum modelo encontrado"},"loggers":{"allProviders":"Todos os Provedores","allModels":"Todos os Modelos","allAccounts":"Todas as Contas","allApiKeys":"Todas as Chaves de API","allTypes":"Todos os Tipos","allLevels":"Todos os N\xedveis","modelAZ":"Modelo A-Z","modelZA":"Modelo Z-A","loadingLogs":"Carregando logs...","loadingProxyLogs":"Carregando logs do proxy...","noLogEntries":"Nenhuma entrada de log encontrada","noPayloadData":"Nenhum dado de payload dispon\xedvel para esta entrada.","proxyEvent":"Evento do Proxy","proxy":"Proxy","level":"N\xedvel","directNative":"Direto (nativo)","combo":"Combo","inputTokens":"E:","outputTokens":"S:"},"stats":{"usageOverview":"Vis\xe3o Geral de Uso","outputTokens":"Tokens de Sa\xedda","totalCost":"Custo Total","usageByModel":"Uso por Modelo","usageByAccount":"Uso por Conta","failedToLoad":"Falha ao carregar estat\xedsticas de uso.","tokenHealth":"Sa\xfade dos Tokens","totalOAuth":"Total OAuth","healthy":"Saud\xe1vel","warning":"Aviso","errored":"Com Erro","lastCheck":"\xdaltima verifica\xe7\xe3o","noData":"Sem dados","share":"Compartilhar","unableToLoad":"N\xe3o foi poss\xedvel carregar m\xe9tricas do sistema","product":"Produto","resources":"Recursos","company":"Empresa"},"auth":{"welcome":"Bem-vindo","signIn":"Entrar","enterPassword":"Digite sua senha para continuar","password":"Senha","unifiedProxy":"Proxy Unificado de API de IA","unifiedAiApiProxy":"Proxy Unificado de API de IA","unifiedAiApiProxyDesc":"Roteie requisi\xe7\xf5es para m\xfaltiplos provedores de IA por um \xfanico endpoint. Balanceamento de carga, failover e rastreamento de uso integrados.","passwordNotEnabled":"Prote\xe7\xe3o por senha n\xe3o est\xe1 ativada","loading":"Carregando...","invalidPassword":"Senha inv\xe1lida","errorOccurredRetry":"Ocorreu um erro. Tente novamente.","configureInstance":"Vamos configurar sua inst\xe2ncia OmniRoute","runOnboardingWizard":"Execute o assistente de onboarding para definir sua senha e conectar seu primeiro provedor de IA.","startOnboarding":"Iniciar Onboarding","secureYourInstance":"Proteja sua Inst\xe2ncia","setPasswordDescription":"Defina uma senha para proteger seu painel e garantir que seus endpoints de API n\xe3o sejam acessados sem autoriza\xe7\xe3o.","configurePassword":"Configurar Senha","continue":"Continuar","windowWillClose":"Esta janela ser\xe1 fechada automaticamente...","closeTabNow":"Voc\xea j\xe1 pode fechar esta aba.","copyUrlManual":"Copie a URL da barra de endere\xe7os e cole no aplicativo.","accessDeniedDescription":"Voc\xea n\xe3o tem permiss\xe3o para acessar este recurso. Verifique sua chave de API ou contate o administrador.","goToDashboard":"Ir para o Painel","featureMultiProviderTitle":"Multi-Provedor","featureMultiProviderDesc":"OpenAI, Anthropic, Google e outros","featureLoadBalancingTitle":"Balanceamento de Carga","featureLoadBalancingDesc":"Distribua requisi\xe7\xf5es de forma inteligente","featureUsageTrackingTitle":"Rastreamento de Uso","featureUsageTrackingDesc":"Monitore custos e tokens","resetPassword":"Redefinir Senha","resetDescription":"Escolha um m\xe9todo para recuperar acesso ao painel","stopServer":"Pare o servidor OmniRoute","processing":"Processando...","pleaseWait":"Aguarde enquanto completamos a autoriza\xe7\xe3o.","authSuccess":"Autoriza\xe7\xe3o bem-sucedida!","copyUrl":"Copiar esta URL","accessDenied":"Acesso Negado","methodCliTitle":"M\xe9todo 1: Reset via CLI","methodCliDescription":"Execute o comando abaixo no servidor onde o OmniRoute est\xe1 em execu\xe7\xe3o:","methodCliHint":"Isso solicitar\xe1 que voc\xea defina uma nova senha. O servidor deve ser parado antes.","methodManualTitle":"M\xe9todo 2: Reset Manual","methodManualDescription":"Remova a senha do banco de dados e defina uma nova na inicializa\xe7\xe3o:","setPasswordInYour":"Defina uma nova senha no seu","fileLabelSuffix":"arquivo:","newPasswordPlaceholder":"sua_nova_senha","deleteSettingsFile":"Exclua","orRemovePasswordHashField":"ou remova o campo passwordHash","restartServerWithNewPassword":"Reinicie o servidor - ele usar\xe1 a nova senha","backToLogin":"Voltar para o Login","forgotPassword":"Esqueceu a senha?"},"landing":{"brandName":"OmniRoute","navigateHome":"Navegar para a p\xe1gina inicial","toggleMenu":"Alternar menu","featuresLink":"Recursos","docsLink":"Docs","github":"GitHub","versionLive":"v1.0 j\xe1 est\xe1 no ar","oneEndpoint":"Um Endpoint para","allProviders":"Todos os Provedores de IA","heroDescription":"Proxy de endpoint de IA com painel web - uma vers\xe3o em JavaScript do CLIProxyAPI. Funciona perfeitamente com Claude Code, OpenAI Codex, Cline, RooCode e outras ferramentas CLI.","getStarted":"Come\xe7ar","viewOnGithub":"Ver no GitHub","powerfulFeatures":"Recursos Poderosos","featuresSubtitle":"Tudo que voc\xea precisa para gerenciar sua infraestrutura de IA em um s\xf3 lugar, preparado para escala.","featureUnifiedEndpointTitle":"Endpoint Unificado","featureUnifiedEndpointDesc":"Acesse todos os provedores por uma \xfanica URL de API padr\xe3o.","featureEasySetupTitle":"Configura\xe7\xe3o F\xe1cil","featureEasySetupDesc":"Fique pronto em minutos com o comando npx.","featureModelFallbackTitle":"Fallback de Modelo","featureModelFallbackDesc":"Alterne automaticamente entre provedores em caso de falha ou alta lat\xeancia.","featureUsageTrackingTitle":"Rastreamento de Uso","featureUsageTrackingDesc":"An\xe1lises detalhadas e monitoramento de custos em todos os modelos.","featureOAuthApiKeysTitle":"OAuth e Chaves de API","featureOAuthApiKeysDesc":"Gerencie credenciais com seguran\xe7a em um \xfanico cofre.","featureCloudSyncTitle":"Sincroniza\xe7\xe3o em Nuvem","featureCloudSyncDesc":"Sincronize suas configura\xe7\xf5es entre dispositivos instantaneamente.","featureCliSupportTitle":"Suporte a CLI","featureCliSupportDesc":"Funciona com Claude Code, Codex, Cline, Cursor e mais.","featureDashboardTitle":"Painel","featureDashboardDesc":"Painel visual para an\xe1lise de tr\xe1fego em tempo real.","howItWorks":"Como o OmniRoute Funciona","howItWorksDescription":"Os dados fluem de forma cont\xednua da sua aplica\xe7\xe3o pela nossa camada de roteamento inteligente at\xe9 o melhor provedor para cada tarefa.","howItWorksStep1Title":"1. CLI e SDKs","howItWorksStep1Description":"Suas requisi\xe7\xf5es come\xe7am nas suas ferramentas favoritas ou no nosso SDK unificado. Basta trocar a URL base.","howItWorksStep2Title":"2. Hub OmniRoute","howItWorksStep2Description":"Nosso mecanismo analisa o prompt, verifica a sa\xfade dos provedores e roteia para menor lat\xeancia ou custo.","howItWorksStep3Title":"3. Provedores de IA","howItWorksStep3Description":"A requisi\xe7\xe3o \xe9 atendida por OpenAI, Anthropic, Gemini ou outros provedores instantaneamente.","getStartedIn30Seconds":"Comece em 30 segundos","getStartedDescription":"Instale o OmniRoute, configure seus provedores pelo painel web e comece a rotear requisi\xe7\xf5es de IA.","installOmniRoute":"Instalar o OmniRoute","installStepDescription":"Execute o comando npx para iniciar o servidor instantaneamente","openDashboard":"Abrir Painel","openDashboardStepDescription":"Configure provedores e chaves de API pela interface web","routeRequests":"Rotear Requisi\xe7\xf5es","routeRequestsStepDescription":"Aponte suas ferramentas CLI para {endpoint}","terminal":"terminal","copy":"Copiar","copied":"✓ Copiado","startingOmniRoute":"Iniciando OmniRoute...","serverRunningOnLabel":"Servidor em execu\xe7\xe3o em","dashboardLabel":"Painel","readyToRoute":"Pronto para rotear! ✓","configureProvidersNote":"\uD83D\uDCDD Configure provedores no painel ou use vari\xe1veis de ambiente","dataLocation":"Local dos Dados:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Windows:","product":"Produto","dashboardLink":"Painel","changelog":"Changelog","resources":"Recursos","documentation":"Documenta\xe7\xe3o","npm":"NPM","legal":"Legal","mitLicense":"Licen\xe7a MIT","footerTagline":"O endpoint unificado para gera\xe7\xe3o de IA. Conecte, roteie e gerencie seus provedores de IA com facilidade.","copyright":"\xa9 {year} OmniRoute. Todos os direitos reservados.","flowToolClaudeCode":"Claude Code","flowToolOpenAICodex":"OpenAI Codex","flowToolCline":"Cline","flowToolCursor":"Cursor","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Anthropic","flowProviderGemini":"Gemini","flowProviderGithubCopilot":"GitHub Copilot","interactiveDiagram":"Diagrama interativo vis\xedvel no desktop","ctaTitle":"Pronto para simplificar sua infraestrutura de IA?","ctaDescription":"Junte-se a desenvolvedores que est\xe3o simplificando suas integra\xe7\xf5es de IA com o OmniRoute. Open source e gr\xe1tis para come\xe7ar.","startFree":"Come\xe7ar gr\xe1tis","readDocumentation":"Ler documenta\xe7\xe3o"},"docs":{"title":"Documenta\xe7\xe3o","quickStart":"In\xedcio R\xe1pido","features":"Recursos","supportedProviders":"Provedores Suportados","supportedProvidersToc":"Provedores","commonUseCases":"Casos de Uso Comuns","clientCompatibility":"Compatibilidade de Clientes","protocolsToc":"Protocolos","apiReference":"Refer\xeancia da API","method":"M\xe9todo","path":"Caminho","notes":"Notas","modelPrefixes":"Prefixos de Modelo","prefix":"Prefixo","troubleshooting":"Solu\xe7\xe3o de Problemas","supportsChat":"Suporta endpoints de chat e responses.","oauthAutoRefresh":"Conex\xe3o OAuth com atualiza\xe7\xe3o autom\xe1tica de token.","fullStreaming":"Suporte completo a streaming para todos os modelos.","docsLabel":"Docs","docsHeroDescription":"Gateway de IA para LLMs multi-provedor. Um endpoint para OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor e mais de 20 provedores.","openDashboard":"Abrir Painel","endpointPage":"P\xe1gina de Endpoint","github":"GitHub","reportIssue":"Reportar Problema","onThisPage":"Nesta p\xe1gina","documentationVersion":"Documenta\xe7\xe3o - v{version}","quickStartStep1Title":"1. Instale e execute","quickStartStep1Prefix":"Execute","quickStartStep1Middle":"ou clone do GitHub e execute","quickStartStep2Title":"2. Crie uma chave de API","quickStartStep2Text":"V\xe1 em Endpoint -> Chaves Registradas. Gere uma chave por ambiente.","quickStartStep3Title":"3. Conecte provedores","quickStartStep3Text":"Adicione contas de provedores via login OAuth, chave de API ou conex\xe3o autom\xe1tica de plano gratuito.","quickStartStep4Title":"4. Defina a URL base do cliente","quickStartStep4Prefix":"Aponte sua IDE ou cliente de API para","quickStartStep4Suffix":"Use prefixo de provedor, por exemplo","featureRoutingTitle":"Roteamento Multi-Provedor","featureRoutingText":"Roteie requisi\xe7\xf5es para mais de 30 provedores de IA por um \xfanico endpoint compat\xedvel com OpenAI. Suporta APIs de chat, responses, \xe1udio e imagem.","featureCombosTitle":"Combos e Balanceamento","featureCombosText":"Crie combos de modelos com cadeias de fallback e estrat\xe9gias de balanceamento: round-robin, prioridade, aleat\xf3rio, menos usado e otimizado por custo.","featureUsageTitle":"Rastreamento de Uso e Custo","featureUsageText":"Contagem de tokens em tempo real, c\xe1lculo de custo por provedor/modelo e detalhamento de uso por chave de API e conta.","featureAnalyticsTitle":"Painel de Analytics","featureAnalyticsText":"An\xe1lises visuais com gr\xe1ficos de requisi\xe7\xf5es, tokens, erros, lat\xeancia, custos e popularidade de modelos ao longo do tempo.","featureHealthTitle":"Monitoramento de Sa\xfade","featureHealthText":"Health checks em tempo real, status de provedores, estados de circuit breaker e detec\xe7\xe3o autom\xe1tica de rate limit com backoff exponencial.","featureCliTitle":"Ferramentas CLI","featureCliText":"Gerencie configura\xe7\xf5es de IDE, exporte/importe backups, descubra perfis de codex e configure op\xe7\xf5es pelo painel.","featureSecurityTitle":"Seguran\xe7a e Pol\xedticas","featureSecurityText":"Autentica\xe7\xe3o por chave de API, filtragem de IP, prote\xe7\xe3o contra prompt injection, pol\xedticas de dom\xednio, gerenciamento de sess\xf5es e auditoria.","featureCloudSyncTitle":"Sincroniza\xe7\xe3o em Nuvem","featureCloudSyncText":"Sincronize sua configura\xe7\xe3o com Cloudflare Workers para acesso remoto com credenciais criptografadas e failover autom\xe1tico.","providersAcrossConnectionTypes":"{count} provedores em tr\xeas tipos de conex\xe3o.","manageProviders":"Gerenciar Provedores","providersCount":"{count} provedores","providerTypeFree":"Plano Gratuito","providerTypeOAuth":"OAuth","providerTypeApiKey":"Chave de API","useCaseSingleEndpointTitle":"Um endpoint para muitos provedores","useCaseSingleEndpointText":"Aponte clientes para uma \xfanica URL base e roteie por prefixo de modelo (por exemplo: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Fallback e troca de modelo com combos","useCaseFallbackText":"Crie modelos combo no painel e mantenha a configura\xe7\xe3o do cliente est\xe1vel enquanto os provedores giram internamente.","useCaseUsageVisibilityTitle":"Visibilidade de uso, custo e debug","useCaseUsageVisibilityText":"Acompanhe tokens e custo por provedor, conta e chave de API nas abas de Uso e Analytics.","clientCherryStudioTitle":"Cherry Studio","baseUrlLabel":"URL Base","chatEndpointLabel":"Endpoint de chat","modelRecommendationLabel":"Recomenda\xe7\xe3o de modelo: prefixo expl\xedcito","clientCodexTitle":"Modelos Codex / GitHub Copilot","clientCodexBullet1":"Use IDs de modelo com prefixo","clientCodexBullet2":"Modelos da fam\xedlia Codex s\xe3o roteados automaticamente para","clientCodexBullet3":"Modelos n\xe3o-Codex continuam em","clientCursorTitle":"Cursor IDE","clientCursorBullet1":"Use o prefixo","clientCursorBullet1Suffix":"para modelos do Cursor.","clientCursorBullet2":"Conex\xe3o OAuth - fa\xe7a login na p\xe1gina de Provedores.","clientClaudeTitle":"Claude Code / Antigravity","clientClaudeBullet1Prefix":"Use","clientClaudeBullet1Middle":"(Claude) ou","clientClaudeBullet1Suffix":"(Antigravity) como prefixo.","protocolsTitle":"Protocolos: MCP e A2A","protocolsDescription":"O OmniRoute exp\xf5e dois protocolos operacionais al\xe9m das APIs compat\xedveis com OpenAI: MCP para execu\xe7\xe3o de ferramentas e A2A para fluxos agente-para-agente.","protocolMcpTitle":"MCP (Model Context Protocol)","protocolMcpDesc":"Use MCP via stdio para permitir descoberta e execu\xe7\xe3o de ferramentas OmniRoute com visibilidade de auditoria.","protocolMcpStep1":"Inicie o transporte MCP com `omniroute --mcp`.","protocolMcpStep2":"Aponte seu cliente MCP para transporte stdio.","protocolMcpStep3":"Chame `omniroute_get_health` e `omniroute_list_combos` para validar conectividade.","protocolA2aTitle":"A2A (Agent2Agent)","protocolA2aDesc":"Use A2A JSON-RPC para submeter tarefas de forma s\xedncrona ou via SSE streaming.","protocolA2aStep1":"Leia `/.well-known/agent.json` para descoberta do agente.","protocolA2aStep2":"Envie `message/send` ou `message/stream` para `POST /a2a`.","protocolA2aStep3":"Gerencie ciclo de vida das tarefas com `tasks/get` e `tasks/cancel`.","protocolTroubleshootingTitle":"Troubleshooting de protocolos","protocolTroubleshooting1":"Se o status MCP estiver offline, verifique se o processo stdio est\xe1 rodando e atualizando o heartbeat.","protocolTroubleshooting2":"Se tarefas A2A ficarem em `working`, inspecione `/api/a2a/tasks/:id` e os eventos de stream at\xe9 estado terminal.","protocolTroubleshooting3":"Use `/dashboard/mcp` e `/dashboard/a2a` para controles operacionais e visibilidade de auditoria.","endpointChatNote":"Endpoint de chat compat\xedvel com OpenAI (padr\xe3o).","endpointResponsesNote":"Endpoint da API Responses (Codex, o-series).","endpointModelsNote":"Cat\xe1logo de modelos para todos os provedores conectados.","endpointAudioNote":"Transcri\xe7\xe3o de \xe1udio (Deepgram, AssemblyAI).","endpointImagesNote":"Gera\xe7\xe3o de imagens (NanoBanana).","endpointRewriteChatNote":"Auxiliar de reescrita para clientes sem /v1.","endpointRewriteResponsesNote":"Auxiliar de reescrita para Responses sem /v1.","endpointRewriteModelsNote":"Auxiliar de reescrita para descoberta de modelos sem /v1.","modelPrefixesDescriptionStart":"Use o prefixo do provedor antes do nome do modelo para rotear para um provedor espec\xedfico. Exemplo:","modelPrefixesDescriptionEnd":"roteia para o GitHub Copilot.","provider":"Provedor","type":"Tipo","troubleshootingModelRouting":"Se o cliente falhar no roteamento de modelo, use provedor/modelo expl\xedcito (por exemplo: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Se voc\xea receber erros de modelo amb\xedguo, escolha um prefixo de provedor em vez de um ID de modelo sem prefixo.","troubleshootingCodexFamily":"Para modelos da fam\xedlia GitHub Codex, mantenha o modelo como gh/codex-model; o roteador seleciona /responses automaticamente.","troubleshootingTestConnection":"Use Painel > Provedores > Testar Conex\xe3o antes de testar por IDEs ou clientes externos.","troubleshootingCircuitBreaker":"Se um provedor mostrar circuit breaker aberto, aguarde o cooldown ou verifique a p\xe1gina Health para detalhes.","troubleshootingOAuth":"Para provedores OAuth, autentique novamente se os tokens expirarem. Verifique o indicador de status no card do provedor."},"legal":{"privacyPolicy":"Pol\xedtica de Privacidade","termsOfService":"Termos de Servi\xe7o","providerConfigurations":"Configura\xe7\xf5es de provedores","apiKeys":"Chaves de API","usageLogs":"Logs de uso","applicationSettings":"Configura\xe7\xf5es do aplicativo","viewExportAnalytics":"Visualizar e exportar an\xe1lises de uso","clearHistory":"Limpar hist\xf3rico de uso a qualquer momento","configureRetention":"Configurar pol\xedticas de reten\xe7\xe3o de logs","backupRestore":"Fazer backup e restaurar seu banco de dados","privacyMetadataTitle":"Pol\xedtica de Privacidade | OmniRoute","privacyMetadataDescription":"Pol\xedtica de privacidade do roteador proxy de API de IA OmniRoute.","termsMetadataTitle":"Termos de Servi\xe7o | OmniRoute","termsMetadataDescription":"Termos de servi\xe7o do roteador proxy de API de IA OmniRoute.","backToHome":"Voltar para a home","lastUpdated":"\xdaltima atualiza\xe7\xe3o: {date}","policyLastUpdatedDate":"13 de fevereiro de 2026","listSeparator":"-","questionsVisit":"D\xfavidas? Visite nosso","githubRepository":"reposit\xf3rio no GitHub","privacySection1Title":"1. Arquitetura Local-First","privacySection1Text":"O OmniRoute foi projetado como uma aplica\xe7\xe3o local-first. Todo processamento e armazenamento de dados ocorre inteiramente na sua m\xe1quina. N\xe3o existe servidor centralizado coletando suas informa\xe7\xf5es.","privacySection2Title":"2. Dados que Armazenamos","privacyDataStoredIn":"Os dados a seguir s\xe3o armazenados localmente em","privacyDataProviderConfigurationsDesc":"URLs de conex\xe3o, tipos de provedor e configura\xe7\xf5es de prioridade","privacyDataApiKeysDesc":"criptografadas e armazenadas localmente para autenticar com provedores de IA","privacyDataUsageLogsDesc":"contagem de requisi\xe7\xf5es, uso de tokens, nomes de modelos, timestamps e tempos de resposta","privacyDataApplicationSettingsDesc":"prefer\xeancias de tema, estrat\xe9gia de roteamento e configura\xe7\xf5es de combos","privacySection3Title":"3. Sem Telemetria","privacySection3Text":"O OmniRoute n\xe3o coleta telemetria, analytics ou relat\xf3rios de falha. Nenhum dado \xe9 enviado para n\xf3s ou para terceiros. Seus padr\xf5es de uso, chamadas de API e configura\xe7\xf5es permanecem totalmente privados.","privacySection4Title":"4. Provedores de IA de Terceiros","privacySection4Text":"Quando voc\xea faz chamadas de API pelo OmniRoute, suas requisi\xe7\xf5es s\xe3o encaminhadas aos provedores de IA configurados (por exemplo: OpenAI, Anthropic, Google). Esses provedores possuem suas pr\xf3prias pol\xedticas de privacidade que regem como tratam seus dados. Consulte:","privacyOpenAiPolicy":"Pol\xedtica de Privacidade da OpenAI","privacyAnthropicPolicy":"Pol\xedtica de Privacidade da Anthropic","privacyGooglePolicy":"Pol\xedtica de Privacidade do Google","privacySection5Title":"5. Sincroniza\xe7\xe3o em Nuvem (Opcional)","privacySection5Text":"Se voc\xea ativar o recurso opcional de sincroniza\xe7\xe3o em nuvem, configura\xe7\xf5es de provedores e chaves de API podem ser transmitidas para um endpoint de nuvem configurado. Esse recurso vem desativado por padr\xe3o e exige opt-in expl\xedcito.","privacySection6Title":"6. Logs","privacyLoggingIntro":"Os logs de requisi\xe7\xe3o podem ser configurados nas configura\xe7\xf5es do painel. Voc\xea pode:","privacySection7Title":"7. Seus Direitos","privacySection7TextStart":"Como todos os dados s\xe3o armazenados localmente, voc\xea tem controle total. Voc\xea pode excluir seus dados a qualquer momento removendo o diret\xf3rio","privacySection7TextEnd":"ou usando os recursos de backup e restaura\xe7\xe3o do banco de dados no painel.","termsSection1Title":"1. Vis\xe3o Geral","termsSection1Text":"O OmniRoute \xe9 um roteador proxy de API de IA local-first que roda inteiramente na sua m\xe1quina. Ele roteia requisi\xe7\xf5es para m\xfaltiplos provedores de IA com balanceamento de carga, failover e rastreamento de uso.","termsSection2Title":"2. Responsabilidades do Usu\xe1rio","termsResponsibilityApiKeys":"Voc\xea \xe9 o \xfanico respons\xe1vel por gerenciar suas pr\xf3prias chaves de API e credenciais para provedores de IA de terceiros (OpenAI, Anthropic, Google etc.).","termsResponsibilityCompliance":"Voc\xea deve cumprir os termos de servi\xe7o de cada provedor de IA cuja API acessar atrav\xe9s do OmniRoute.","termsResponsibilitySecurity":"Voc\xea \xe9 respons\xe1vel pela seguran\xe7a da sua instala\xe7\xe3o local do OmniRoute, incluindo definir uma senha e restringir acesso de rede.","termsSection3Title":"3. Como Funciona","termsSection3Text":"O OmniRoute atua como um proxy intermedi\xe1rio. As chamadas de API enviadas ao OmniRoute s\xe3o traduzidas e encaminhadas para seus provedores de IA configurados. O OmniRoute n\xe3o modifica o conte\xfado das suas requisi\xe7\xf5es ou respostas al\xe9m da tradu\xe7\xe3o de protocolo necess\xe1ria.","termsSection4Title":"4. Tratamento de Dados","termsDataStoredLocally":"Todos os dados s\xe3o armazenados localmente na sua m\xe1quina em um banco SQLite.","termsNoTransmission":"O OmniRoute n\xe3o transmite dados para servidores externos, a menos que voc\xea ative explicitamente recursos de sincroniza\xe7\xe3o em nuvem.","termsDataLocationText":"Logs de uso, chaves de API e configura\xe7\xf5es s\xe3o armazenados em","termsSection5Title":"5. Isen\xe7\xe3o de Responsabilidade","termsSection5Text":"O OmniRoute \xe9 fornecido \\"como est\xe1\\", sem garantia de qualquer tipo. N\xe3o somos respons\xe1veis por custos incorridos por uso de API, interrup\xe7\xf5es de servi\xe7o ou perda de dados. Sempre mantenha backups da sua configura\xe7\xe3o.","termsSection6Title":"6. C\xf3digo Aberto","termsSection6Text":"O OmniRoute \xe9 um software de c\xf3digo aberto. Voc\xea pode inspecionar, modificar e distribu\xed-lo de acordo com os termos da licen\xe7a."},"endpoints":{"tabProxy":"Endpoint Proxy","tabApiEndpoints":"Endpoints de API","apiEndpointsTitle":"Endpoints de API","apiEndpointsDescription":"Endpoints de API backend que podem ser consumidos por outras aplica\xe7\xf5es e servi\xe7os.","comingSoon":"Em Breve","plannedFeatures":"Funcionalidades Planejadas","featureRestApi":"Cat\xe1logo de endpoints REST API com documenta\xe7\xe3o interativa","featureWebhooks":"Configura\xe7\xe3o de webhooks e assinaturas de eventos","featureSwagger":"Gera\xe7\xe3o autom\xe1tica de specs OpenAPI / Swagger","featureAuth":"Gest\xe3o de chaves API e escopos OAuth por endpoint"},"agents":{"title":"Agentes CLI","description":"Descubra agentes CLI instalados no seu sistema. Adicione agentes customizados para auto-detec\xe7\xe3o.","refresh":"Atualizar","installed":"Instalado","notFound":"N\xe3o encontrado","builtIn":"Nativo","custom":"Customizado","remove":"Remover","addCustomAgent":"Adicionar Agente Customizado","addCustomAgentDesc":"Registre qualquer ferramenta CLI para detec\xe7\xe3o. Ela ser\xe1 verificada automaticamente ao atualizar.","agentName":"Nome do Agente","binaryName":"Nome do Bin\xe1rio","versionCommand":"Comando de Vers\xe3o","spawnArgs":"Argumentos","addAgent":"Adicionar Agente"}}')}};
|