9router 0.4.12 → 0.4.13
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 +4 -4
- package/app/.next/build-manifest.json +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/console-log/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/media-providers/[kind]/[id]/page.js +4 -4
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/combo/[id]/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +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.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/proxy-pools/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.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.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +1 -1
- 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.js +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_not-found.html +1 -1
- package/app/.next/server/app/_not-found.rsc +4 -4
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/app/.next/server/app/api/init/route.js +1 -1
- package/app/.next/server/app/api/models/route.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next/server/app/api/providers/route.js +1 -1
- package/app/.next/server/app/api/providers/validate/route.js +1 -1
- package/app/.next/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next/server/app/api/translator/console-logs/stream/route.js +4 -4
- package/app/.next/server/app/api/translator/translate/route.js +1 -1
- package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/disable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/enable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/status/route.js +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-check/route.js +11 -13
- package/app/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/tailscale-login/route.js +11 -13
- package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next/server/app/api/v1/images/generations/route.js +2 -2
- package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/models/route.js +1 -1
- package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/route.js +1 -1
- package/app/.next/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next/server/app/api/version/route.js +1 -1
- package/app/.next/server/app/api/version/update/route.js +1 -1
- package/app/.next/server/app/callback/page.js +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback.html +1 -1
- package/app/.next/server/app/callback.rsc +4 -4
- package/app/.next/server/app/callback.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/callback.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next/server/app/dashboard/basic-chat.rsc +6 -6
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next/server/app/dashboard/cli-tools.rsc +6 -6
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.html +1 -1
- package/app/.next/server/app/dashboard/combos.rsc +6 -6
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.html +1 -1
- package/app/.next/server/app/dashboard/endpoint.rsc +6 -6
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.rsc +6 -6
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/mitm.html +1 -1
- package/app/.next/server/app/dashboard/mitm.rsc +6 -6
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.html +1 -1
- package/app/.next/server/app/dashboard/profile.rsc +6 -6
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.html +1 -1
- package/app/.next/server/app/dashboard/providers/new.rsc +6 -6
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.html +1 -1
- package/app/.next/server/app/dashboard/providers.rsc +6 -6
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.rsc +6 -6
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/quota.html +2 -2
- package/app/.next/server/app/dashboard/quota.rsc +7 -7
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
- package/app/.next/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings/pricing/page.js +1 -1
- package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.rsc +5 -5
- package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
- package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.html +1 -1
- package/app/.next/server/app/dashboard/translator.rsc +6 -6
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.html +1 -1
- package/app/.next/server/app/dashboard/usage.rsc +6 -6
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard.html +1 -1
- package/app/.next/server/app/dashboard.rsc +6 -6
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/index.html +1 -1
- package/app/.next/server/app/index.rsc +4 -4
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/landing/page.js +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing.html +1 -1
- package/app/.next/server/app/landing.rsc +4 -4
- package/app/.next/server/app/landing.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next/server/app/login/page.js +2 -2
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login.html +1 -1
- package/app/.next/server/app/login.rsc +5 -5
- package/app/.next/server/app/login.segments/_full.segment.rsc +5 -5
- package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/login.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/app/.next/server/app/page.js +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app-paths-manifest.json +4 -4
- package/app/.next/server/chunks/1574.js +2 -2
- package/app/.next/server/chunks/1578.js +1 -1
- package/app/.next/server/chunks/2049.js +1 -1
- package/app/.next/server/chunks/21.js +1 -1
- package/app/.next/server/chunks/2141.js +1 -1
- package/app/.next/server/chunks/253.js +1 -1
- package/app/.next/server/chunks/2692.js +23 -0
- package/app/.next/server/chunks/450.js +2 -2
- package/app/.next/server/chunks/5339.js +1 -1
- package/app/.next/server/chunks/7770.js +1 -1
- package/app/.next/server/chunks/8035.js +1 -1
- package/app/.next/server/chunks/8193.js +1 -1
- package/app/.next/server/chunks/8202.js +5 -5
- package/app/.next/server/chunks/8513.js +13 -15
- package/app/.next/server/chunks/8565.js +1 -0
- package/app/.next/server/middleware-build-manifest.js +1 -1
- package/app/.next/server/middleware.js +1 -1
- package/app/.next/server/pages/404.html +1 -1
- package/app/.next/server/pages/500.html +1 -1
- package/app/.next/static/chunks/3116-cec85bb5f212583f.js +23 -0
- package/app/.next/static/chunks/4156-cb6c83e3583f0406.js +7 -0
- package/app/.next/static/chunks/505-18fef307aacf3205.js +1 -0
- package/app/.next/static/chunks/8035-51e868622e22263b.js +3 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-2709902f127ecc7a.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-24f203d25ad3f861.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-99e1297a29f0994e.js +53 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-e95c413c30b592eb.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/combo/[id]/page-8b1737ee82d2cbfa.js +4 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-c32e5ceca2e291dd.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/page-dc8502d8e3b95e92.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-22e6b2c60c4849ad.js → page-20eb7b59c080e8f7.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-92b9dd8c50ab5e50.js +1 -0
- package/app/.next/static/chunks/app/dashboard/settings/pricing/page-77a73529baba955b.js +1 -0
- package/app/.next/static/chunks/app/login/page-2f45309b2d2ca209.js +1 -0
- package/app/.next/static/css/c5a3b7a7aed78240.css +1 -0
- package/app/package.json +1 -1
- package/app/public/i18n/literals/zh-CN.json +404 -127
- package/app/public/providers/cloudflare-ai.png +0 -0
- package/app/public/providers/nebius.png +0 -0
- package/app/src/mitm/server.js +34 -31
- package/cli.js +6 -0
- package/package.json +1 -1
- package/app/.next/server/chunks/6762.js +0 -23
- package/app/.next/static/chunks/4156-3dd571c503014372.js +0 -7
- package/app/.next/static/chunks/4380-7f3ec9a5adb060e2.js +0 -23
- package/app/.next/static/chunks/505-61eefa51ae7fae57.js +0 -1
- package/app/.next/static/chunks/8035-be13431b81f6e555.js +0 -3
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-3d80412b21111041.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-3390652c042161bf.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-51ab2246cec930f0.js +0 -53
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-1cd57da85dc9a5a0.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/combo/[id]/page-55f152f000244dfd.js +0 -4
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-c02c96576b763028.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/page-ef2689a6b468da49.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-17d9ef16d4d56317.js +0 -1
- package/app/.next/static/chunks/app/dashboard/settings/pricing/page-d9a2df5b3f666b3b.js +0 -1
- package/app/.next/static/chunks/app/login/page-2424ce8673ecf5cb.js +0 -1
- package/app/.next/static/css/06f471e66daf399e.css +0 -1
- /package/app/.next/static/{twJQz13yvhkiPdQu-x4vH → 7D6ZXM7R9e5iCcGAVJvY1}/_buildManifest.js +0 -0
- /package/app/.next/static/{twJQz13yvhkiPdQu-x4vH → 7D6ZXM7R9e5iCcGAVJvY1}/_ssgManifest.js +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"-compatible models manually or import them from the /models endpoint.": "- 手动兼容模型或从 /models 端点导入它们。",
|
|
3
3
|
". Click \"Apply\" to auto-configure.": "。单击“应用”进行自动配置。",
|
|
4
|
-
"($/1M tokens). Example: An input rate of 2.50 means $2.50 per 1,000,000 input tokens.": "($/100
|
|
5
|
-
"($/1M tokens). Example: Input rate of 2.50 means $2.50 per 1,000,000 input tokens.": "($/100
|
|
4
|
+
"($/1M tokens). Example: An input rate of 2.50 means $2.50 per 1,000,000 input tokens.": "($/100 万 Token)。示例:输入费率 2.50 表示每 1,000,000 个输入 Token 需 2.50 美元。",
|
|
5
|
+
"($/1M tokens). Example: Input rate of 2.50 means $2.50 per 1,000,000 input tokens.": "($/100 万 Token)。示例:输入费率 2.50 表示每 1,000,000 个输入 Token 需 2.50 美元。",
|
|
6
6
|
"1. Client Request (Input)": "1. 客户端请求(输入)",
|
|
7
7
|
"1. Generates SSL cert & adds to system keychain": "1. 生成 SSL 证书并添加到系统钥匙串",
|
|
8
8
|
"2. Provider Request (Translated)": "2. 提供商请求(已翻译)",
|
|
@@ -10,37 +10,37 @@
|
|
|
10
10
|
"24h": "24小时",
|
|
11
11
|
"3. Maps Antigravity models to any provider via 9Router": "3. 通过 9Router 将Antigravity模型映射到任何提供商",
|
|
12
12
|
"3. Provider Response (Raw)": "3. 提供商响应(原始)",
|
|
13
|
-
"4. Client Response (Final)": "4.
|
|
13
|
+
"4. Client Response (Final)": "4. 客户端响应(最终)",
|
|
14
14
|
"About": "关于",
|
|
15
15
|
"Access Anywhere": "随处访问",
|
|
16
16
|
"Access Token": "访问令牌",
|
|
17
17
|
"Access token will be auto-filled...": "访问令牌将自动填充...",
|
|
18
|
-
"Account": "
|
|
19
|
-
"account has been connected.": "
|
|
20
|
-
"Action": "
|
|
21
|
-
"Active": "
|
|
18
|
+
"Account": "账号",
|
|
19
|
+
"account has been connected.": "账号已连接。",
|
|
20
|
+
"Action": "操作",
|
|
21
|
+
"Active": "活跃",
|
|
22
22
|
"Add": "添加",
|
|
23
23
|
"Add a connection to enable importing models.": "添加连接以启用导入模型。",
|
|
24
24
|
"Add Anthropic Compatible": "添加Anthropic兼容",
|
|
25
25
|
"Add Connection": "添加连接",
|
|
26
26
|
"Add connection using browser cookie": "使用浏览器 cookie 添加连接",
|
|
27
27
|
"Add Custom Model": "添加自定义模型",
|
|
28
|
-
"Add model": "
|
|
29
|
-
"Add Model": "
|
|
28
|
+
"Add model": "添加模型",
|
|
29
|
+
"Add Model": "添加模型",
|
|
30
30
|
"Add Model to Combo": "将模型添加到组合",
|
|
31
31
|
"Add New Provider": "添加新提供商",
|
|
32
32
|
"Add OpenAI Compatible": "添加 OpenAI 兼容",
|
|
33
33
|
"Add your first connection to get started": "添加您的第一个连接以开始使用",
|
|
34
|
-
"added)": "
|
|
34
|
+
"added)": "已添加)",
|
|
35
35
|
"After authorization, copy the full URL from your browser address bar.": "授权后,从浏览器地址栏中复制完整的 URL。",
|
|
36
36
|
"After authorization, copy the full URL from your browser.": "授权后,从浏览器复制完整的 URL。",
|
|
37
37
|
"After installation, run": "安装后,运行",
|
|
38
38
|
"After login, you'll need to copy the callback URL from your browser and paste it back here.": "登录后,您需要从浏览器复制回调 URL 并将其粘贴回此处。",
|
|
39
|
-
"All models are responding normally.": "
|
|
39
|
+
"All models are responding normally.": "所有模型均响应正常。",
|
|
40
40
|
"All Providers": "所有提供商",
|
|
41
41
|
"All rates are in": "所有费率均在",
|
|
42
42
|
"An error occurred": "发生错误",
|
|
43
|
-
"Anthropic Compatible (Prod)": "Anthropic
|
|
43
|
+
"Anthropic Compatible (Prod)": "Anthropic 兼容(生产)",
|
|
44
44
|
"API Endpoint": "API端点",
|
|
45
45
|
"API Key": "API密钥",
|
|
46
46
|
"API Key (for Check)": "API 密钥(用于检查)",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"API Keys": "API 密钥",
|
|
52
52
|
"API Reference": "API参考",
|
|
53
53
|
"API Type": "API类型",
|
|
54
|
-
"Apply": "
|
|
54
|
+
"Apply": "应用",
|
|
55
55
|
"Are you sure you want to disable the tunnel?": "您确定要禁用隧道吗?",
|
|
56
56
|
"Authenticate": "认证",
|
|
57
57
|
"Authentication Method": "认证方式",
|
|
@@ -60,38 +60,38 @@
|
|
|
60
60
|
"Auto Refresh (3s)": "自动刷新(3秒)",
|
|
61
61
|
"Auto-detecting token...": "自动检测令牌...",
|
|
62
62
|
"Auto-detecting tokens...": "自动检测令牌...",
|
|
63
|
-
"Auto:": "
|
|
64
|
-
"Available": "
|
|
63
|
+
"Auto:": "自动:",
|
|
64
|
+
"Available": "可用",
|
|
65
65
|
"AWS Builder ID": "AWS 构建器 ID",
|
|
66
66
|
"AWS IAM Identity Center": "AWS IAM 身份中心",
|
|
67
67
|
"AWS Region": "AWS 区域",
|
|
68
68
|
"AWS region for your Identity Center (default: us-east-1)": "您的身份中心的 AWS 区域(默认值:us-east-1)",
|
|
69
|
-
"Back": "
|
|
69
|
+
"Back": "返回",
|
|
70
70
|
"Back to Providers": "返回提供商",
|
|
71
|
-
"Base URL": "
|
|
71
|
+
"Base URL": "基础 URL",
|
|
72
72
|
"Batch Size": "批量大小",
|
|
73
73
|
"Blog": "博客",
|
|
74
74
|
"Cache Creation": "缓存创建",
|
|
75
75
|
"Cache Creation:": "缓存创建:",
|
|
76
76
|
"Cached": "缓存",
|
|
77
|
-
"Cached input tokens (typically 50% of input rate)": "
|
|
77
|
+
"Cached input tokens (typically 50% of input rate)": "缓存输入 Token(通常为输入费率的 50%)",
|
|
78
78
|
"Cached:": "缓存:",
|
|
79
|
-
"Calls per account before switching": "
|
|
79
|
+
"Calls per account before switching": "切换前每个账号的调用次数",
|
|
80
80
|
"Cancel": "取消",
|
|
81
81
|
"Cert": "证书",
|
|
82
82
|
"Changelog": "变更日志",
|
|
83
83
|
"chars)": "字符)",
|
|
84
84
|
"Chat Completions": "聊天完成",
|
|
85
|
-
"Checking Claude CLI...": "
|
|
85
|
+
"Checking Claude CLI...": "检查 Claude CLI...",
|
|
86
86
|
"Checking Codex CLI...": "正在检查 Codex CLI...",
|
|
87
87
|
"Checking Copilot config...": "正在检查Copilot配置...",
|
|
88
|
-
"Checking Factory Droid CLI...": "
|
|
88
|
+
"Checking Factory Droid CLI...": "检查 Factory Droid CLI...",
|
|
89
89
|
"Checking Open Claw CLI...": "正在检查 Open Claw CLI...",
|
|
90
90
|
"Checking OpenCode CLI...": "检查 OpenCode CLI...",
|
|
91
91
|
"Choose your authentication method:": "选择您的身份验证方法:",
|
|
92
|
-
"Claude": "
|
|
92
|
+
"Claude": "Claude",
|
|
93
93
|
"Claude CLI - Manual Configuration": "Claude CLI - 手动配置",
|
|
94
|
-
"Claude CLI not installed": "
|
|
94
|
+
"Claude CLI not installed": "Claude CLI 未安装",
|
|
95
95
|
"Clear": "清除",
|
|
96
96
|
"Clear Filters": "清除过滤器",
|
|
97
97
|
"Clear search": "清除搜索",
|
|
@@ -100,14 +100,14 @@
|
|
|
100
100
|
"Cloudflare Tunnel": "Cloudflare 隧道",
|
|
101
101
|
"Codex CLI - Manual Configuration": "Codex CLI - 手动配置",
|
|
102
102
|
"Codex CLI not installed": "Codex CLI 未安装",
|
|
103
|
-
"Codex uses": "Codex
|
|
103
|
+
"Codex uses": "Codex 使用",
|
|
104
104
|
"Combo Name": "组合名称",
|
|
105
105
|
"Combos": "组合",
|
|
106
106
|
"Coming soon...": "即将推出...",
|
|
107
107
|
"Comma-separated hostnames/domains to bypass the proxy.": "以逗号分隔的主机名/域以绕过代理。",
|
|
108
108
|
"Company": "公司",
|
|
109
109
|
"Complete the authorization in the popup window.": "在弹出的窗口中完成授权。",
|
|
110
|
-
"Completion/response tokens": "
|
|
110
|
+
"Completion/response tokens": "补全/响应 Token",
|
|
111
111
|
"Configure a new AI provider to use with your applications.": "配置新的 AI 提供程序以与您的应用程序一起使用。",
|
|
112
112
|
"Configure pricing rates for cost tracking and calculations": "配置定价以进行成本跟踪和计算",
|
|
113
113
|
"Confirm": "确认",
|
|
@@ -119,71 +119,71 @@
|
|
|
119
119
|
"Connect Kiro": "连接Kiro",
|
|
120
120
|
"Connect to providers with OAuth to track your API quota limits and usage.": "使用 OAuth 连接到提供商以跟踪您的 API 配额限制和使用情况。",
|
|
121
121
|
"Connect with OAuth2": "使用 OAuth2 连接",
|
|
122
|
-
"Connect your account using OAuth2 authentication.": "使用 OAuth2
|
|
122
|
+
"Connect your account using OAuth2 authentication.": "使用 OAuth2 身份验证连接您的账号。",
|
|
123
123
|
"Connected": "已连接",
|
|
124
124
|
"Connected Successfully!": "连接成功!",
|
|
125
125
|
"Connection Failed": "连接失败",
|
|
126
126
|
"Connections": "连接",
|
|
127
|
-
"Contact": "
|
|
127
|
+
"Contact": "联系",
|
|
128
128
|
"Content": "内容",
|
|
129
129
|
"Continue": "继续",
|
|
130
130
|
"Continue with GitHub": "继续使用 GitHub",
|
|
131
|
-
"Continue with Google": "
|
|
132
|
-
"Cookie": "
|
|
131
|
+
"Continue with Google": "使用 Google 继续",
|
|
132
|
+
"Cookie": "Cookie",
|
|
133
133
|
"Cookie Auth": "Cookie 验证",
|
|
134
|
-
"Cookie String": "
|
|
134
|
+
"Cookie String": "Cookie 字符串",
|
|
135
135
|
"Cooldown": "冷却",
|
|
136
136
|
"Copy": "复制",
|
|
137
137
|
"Copy combo name": "复制组合名称",
|
|
138
138
|
"Copy model": "复制模型",
|
|
139
139
|
"Copy the entire cookie string (must include BXAuth)": "复制整个 cookie 字符串(必须包括 BXAuth)",
|
|
140
|
-
"Copy This URL": "
|
|
140
|
+
"Copy This URL": "复制此 URL",
|
|
141
141
|
"Cost": "成本",
|
|
142
142
|
"Cost Calculation:": "成本计算:",
|
|
143
|
-
"Costs are calculated based on token usage and pricing rates. Each request's cost is determined by: (input_tokens × input_rate) + (output_tokens × output_rate) + (cached_tokens × cached_rate)": "
|
|
144
|
-
"Could not read Cursor database automatically.": "
|
|
145
|
-
"Create": "
|
|
143
|
+
"Costs are calculated based on token usage and pricing rates. Each request's cost is determined by: (input_tokens × input_rate) + (output_tokens × output_rate) + (cached_tokens × cached_rate)": "成本根据 Token 用量和费率计算。每个请求的成本由以下公式决定:(input_tokens × input_rate) + (output_tokens × output_rate) + (cached_tokens × cached_rate)",
|
|
144
|
+
"Could not read Cursor database automatically.": "无法自动读取 Cursor 数据库。",
|
|
145
|
+
"Create": "创建",
|
|
146
146
|
"Create API Key": "创建 API 密钥",
|
|
147
147
|
"Create Combo": "创建组合",
|
|
148
148
|
"Create Key": "创建密钥",
|
|
149
149
|
"Create model combos with fallback support": "创建具有后备支持的模型组合",
|
|
150
|
-
"Create Provider": "
|
|
150
|
+
"Create Provider": "创建提供商",
|
|
151
151
|
"Create your first API key to get started": "创建您的第一个 API 密钥以开始使用",
|
|
152
152
|
"Created": "已创建",
|
|
153
|
-
"Current": "
|
|
153
|
+
"Current": "当前",
|
|
154
154
|
"Current Password": "当前密码",
|
|
155
155
|
"Current Pricing Overview": "当前定价概述",
|
|
156
156
|
"Current: Keeps": "当前: 保留",
|
|
157
157
|
"Cursor IDE not detected. Please paste your tokens manually.": "未检测到Cursor IDE。请手动粘贴您的令牌。",
|
|
158
158
|
"Custom Pricing:": "定制定价:",
|
|
159
|
-
"Cycle through accounts to distribute load": "
|
|
159
|
+
"Cycle through accounts to distribute load": "循环切换账号以分配负载",
|
|
160
160
|
"Database backup downloaded": "数据库备份已下载",
|
|
161
161
|
"Database imported successfully": "数据库导入成功",
|
|
162
162
|
"Database Location": "数据库位置",
|
|
163
163
|
"DateTime": "日期时间",
|
|
164
164
|
"Debug translation flow between formats": "调试格式之间的翻译流程",
|
|
165
165
|
"Delete": "删除",
|
|
166
|
-
"Detail": "
|
|
166
|
+
"Detail": "详情",
|
|
167
167
|
"Disable Tunnel": "禁用隧道",
|
|
168
|
-
"Disabled": "
|
|
168
|
+
"Disabled": "已禁用",
|
|
169
169
|
"Display Name": "显示名称",
|
|
170
170
|
"DNS off": "DNS 关闭",
|
|
171
171
|
"Documentation": "文档",
|
|
172
|
-
"dollars per million tokens": "
|
|
173
|
-
"Domain:": "
|
|
174
|
-
"Done": "
|
|
172
|
+
"dollars per million tokens": "美元 / 百万 Token",
|
|
173
|
+
"Domain:": "域名:",
|
|
174
|
+
"Done": "完成",
|
|
175
175
|
"Download Backup": "下载备份",
|
|
176
|
-
"e.g. claude-opus-4-5": "
|
|
176
|
+
"e.g. claude-opus-4-5": "例如 claude-opus-4-5",
|
|
177
177
|
"e.g., Production API, Dev Environment": "例如,生产 API、开发环境",
|
|
178
178
|
"Edit": "编辑",
|
|
179
179
|
"Edit Connection": "编辑连接",
|
|
180
180
|
"Edit Pricing": "编辑定价",
|
|
181
|
-
"Email": "
|
|
181
|
+
"Email": "邮箱",
|
|
182
182
|
"Enable DNS per tool below to activate interception": "启用下面每个工具的 DNS 以激活拦截",
|
|
183
183
|
"Enable Observability": "启用可观察性",
|
|
184
184
|
"Enable proxy for OAuth + provider outbound requests.": "为 OAuth + 提供商出站请求启用代理。",
|
|
185
185
|
"Enable Tunnel": "启用隧道",
|
|
186
|
-
"Encrypted": "
|
|
186
|
+
"Encrypted": "已加密",
|
|
187
187
|
"End Date": "结束日期",
|
|
188
188
|
"End-to-end TLS via Cloudflare": "通过 Cloudflare 的端到端 TLS",
|
|
189
189
|
"Endpoint": "端点",
|
|
@@ -192,51 +192,51 @@
|
|
|
192
192
|
"Enter new password": "输入新密码",
|
|
193
193
|
"Enter sudo password": "输入sudo密码",
|
|
194
194
|
"Enter your API key": "输入您的 API 密钥",
|
|
195
|
-
"Est. Cost": "
|
|
196
|
-
"Estimated, not actual billing": "
|
|
195
|
+
"Est. Cost": "预估成本",
|
|
196
|
+
"Estimated, not actual billing": "预估费用,非实际账单",
|
|
197
197
|
"Expose your local 9Router to the internet. No port forwarding, no static IP needed. Share endpoint URL with your team or use it in Cursor, Cline, and other AI tools from anywhere.": "将您本地的 9Router 暴露到互联网。无需端口转发,无需静态 IP。与您的团队共享端点 URL 或从任何地方在 Cursor、Cline 和其他 AI 工具中使用它。",
|
|
198
198
|
"Factory Droid - Manual Configuration": "Factory Droid - 手动配置",
|
|
199
199
|
"Factory Droid CLI not installed": "Factory Droid CLI 未安装",
|
|
200
200
|
"Failed to load usage statistics.": "无法加载使用情况统计信息。",
|
|
201
|
-
"Features": "
|
|
202
|
-
"Flush Interval (ms)": "
|
|
201
|
+
"Features": "功能特性",
|
|
202
|
+
"Flush Interval (ms)": "刷新间隔(毫秒)",
|
|
203
203
|
"For enterprise users with custom AWS IAM Identity Center.": "适用于具有自定义 AWS IAM Identity Center 的企业用户。",
|
|
204
204
|
"Free Providers": "免费提供商",
|
|
205
205
|
"Fresh API key obtained": "获得新的 API 密钥",
|
|
206
|
-
"GitHub Account": "GitHub
|
|
206
|
+
"GitHub Account": "GitHub 账号",
|
|
207
207
|
"GitHub Copilot - Manual Configuration": "GitHub Copilot - 手动配置",
|
|
208
|
-
"Google Account": "
|
|
208
|
+
"Google Account": "Google 账号",
|
|
209
209
|
"has been connected.": "已连接。",
|
|
210
210
|
"Help Center": "帮助中心",
|
|
211
211
|
"How it works:": "工作原理:",
|
|
212
212
|
"How Pricing Works": "定价如何运作",
|
|
213
213
|
"How to get cookie:": "如何获取cookie:",
|
|
214
|
-
"IDC Start URL": "IDC
|
|
215
|
-
"iFlow AI": "iFlow
|
|
214
|
+
"IDC Start URL": "IDC 起始 URL",
|
|
215
|
+
"iFlow AI": "iFlow AI",
|
|
216
216
|
"iFlow Cookie Authentication": "iFlow Cookie 身份验证",
|
|
217
217
|
"Import Backup": "导入备份",
|
|
218
218
|
"Import Token": "导入令牌",
|
|
219
|
-
"In": "
|
|
219
|
+
"In": "输入",
|
|
220
220
|
"In / Out": "输入/输出",
|
|
221
|
-
"Inactive": "
|
|
222
|
-
"Inc. All rights reserved.": "
|
|
221
|
+
"Inactive": "未激活",
|
|
222
|
+
"Inc. All rights reserved.": "公司。保留所有权利。",
|
|
223
223
|
"Input": "输入",
|
|
224
|
-
"Input Tokens": "
|
|
225
|
-
"Input Tokens:": "
|
|
224
|
+
"Input Tokens": "输入 Token",
|
|
225
|
+
"Input Tokens:": "输入 Token:",
|
|
226
226
|
"Input:": "输入:",
|
|
227
227
|
"Installation Guide": "安装指南",
|
|
228
228
|
"Interactive diagram visible on desktop": "桌面上可见的交互式图表",
|
|
229
229
|
"Intercepts Antigravity traffic via DNS redirect, letting you reroute models through 9Router.": "通过 DNS 重定向拦截Antigravity流量,让您可以通过 9Router 重新路由模型。",
|
|
230
230
|
"KB per field": "每个字段的 KB",
|
|
231
|
-
"Key Name": "
|
|
232
|
-
"Kimi": "
|
|
233
|
-
"Kiro AI": "Kiro
|
|
231
|
+
"Key Name": "密钥名称",
|
|
232
|
+
"Kimi": "Kimi",
|
|
233
|
+
"Kiro AI": "Kiro AI",
|
|
234
234
|
"Kiro IDE not detected. Please paste your refresh token manually.": "未检测到 Kiro IDE。请手动粘贴您的刷新令牌。",
|
|
235
235
|
"Last updated:": "最后更新:",
|
|
236
236
|
"Last Used": "最后使用",
|
|
237
237
|
"Latency": "延迟",
|
|
238
238
|
"Latency:": "延迟:",
|
|
239
|
-
"Lean": "
|
|
239
|
+
"Lean": "Lean",
|
|
240
240
|
"Leave empty to inherit existing env proxy (if any).": "留空以继承现有的 env 代理(如果有)。",
|
|
241
241
|
"Load": "加载",
|
|
242
242
|
"Loading logs...": "正在加载日志...",
|
|
@@ -244,40 +244,40 @@
|
|
|
244
244
|
"Loading pricing data...": "正在加载定价数据...",
|
|
245
245
|
"Local Mode": "本地模式",
|
|
246
246
|
"Local Mode - All data stored on your machine": "本地模式 - 所有数据都存储在您的计算机上",
|
|
247
|
-
"Login to your account": "
|
|
248
|
-
"Login with your GitHub account (manual callback).": "使用您的 GitHub
|
|
249
|
-
"Login with your Google account (manual callback).": "使用您的 Google
|
|
247
|
+
"Login to your account": "登录您的账号",
|
|
248
|
+
"Login with your GitHub account (manual callback).": "使用您的 GitHub 账号登录(手动回调)。",
|
|
249
|
+
"Login with your Google account (manual callback).": "使用您的 Google 账号登录(手动回调)。",
|
|
250
250
|
"Logs are saved to log.txt in the application data directory.": "日志保存在应用程序数据目录下的log.txt中。",
|
|
251
251
|
"Machine ID": "机器ID",
|
|
252
252
|
"Machine ID will be auto-filled...": "机器 ID 将自动填充...",
|
|
253
253
|
"macOS / Linux / Windows:": "macOS / Linux / Windows:",
|
|
254
254
|
"macOS / Linux:": "macOS / Linux:",
|
|
255
|
-
"Manual Callback Required": "
|
|
255
|
+
"Manual Callback Required": "需要手动回调",
|
|
256
256
|
"Manual Config": "手动配置",
|
|
257
257
|
"Max JSON Size (KB)": "最大 JSON 大小 (KB)",
|
|
258
258
|
"Max Records": "最大记录数",
|
|
259
259
|
"Maximum request detail records to keep (older records are auto-deleted)": "要保留的最大请求详细记录(较旧的记录会自动删除)",
|
|
260
260
|
"Maximum size for each JSON field (request/response) before truncation": "截断前每个 JSON 字段(请求/响应)的最大大小",
|
|
261
261
|
"Maximum time to wait before flushing buffer (prevents data loss during low traffic)": "刷新缓冲区之前等待的最长时间(防止低流量期间数据丢失)",
|
|
262
|
-
"Messages": "
|
|
263
|
-
"MiniMax": "
|
|
262
|
+
"Messages": "消息",
|
|
263
|
+
"MiniMax": "MiniMax",
|
|
264
264
|
"MITM Server": "中间人服务器",
|
|
265
265
|
"Model": "模型",
|
|
266
|
-
"Model ID": "
|
|
267
|
-
"Model ID (from OpenRouter)": "
|
|
266
|
+
"Model ID": "模型 ID",
|
|
267
|
+
"Model ID (from OpenRouter)": "模型 ID(来自 OpenRouter)",
|
|
268
268
|
"Model is reachable": "模型可达",
|
|
269
269
|
"Model mappings will be available soon.": "模型映射即将推出。",
|
|
270
|
-
"Model Status": "
|
|
270
|
+
"Model Status": "模型状态",
|
|
271
271
|
"Model:": "模型:",
|
|
272
|
-
"Models": "
|
|
272
|
+
"Models": "模型",
|
|
273
273
|
"more providers": "更多提供商",
|
|
274
274
|
"Move down": "下移",
|
|
275
275
|
"Move up": "向上移动",
|
|
276
276
|
"ms / Total": "毫秒/总计",
|
|
277
|
-
"Name": "
|
|
277
|
+
"Name": "名称",
|
|
278
278
|
"Network": "网络",
|
|
279
279
|
"New Password": "新密码",
|
|
280
|
-
"No active connections found for this group.": "
|
|
280
|
+
"No active connections found for this group.": "未找到该组的活跃连接。",
|
|
281
281
|
"No active providers": "没有活跃的提供商",
|
|
282
282
|
"No API keys yet": "还没有 API 密钥",
|
|
283
283
|
"No combos yet": "还没有组合",
|
|
@@ -287,17 +287,17 @@
|
|
|
287
287
|
"No console logs yet.": "还没有控制台日志。",
|
|
288
288
|
"No data for this period": "此期间没有数据",
|
|
289
289
|
"No logs recorded yet.": "尚未记录任何日志。",
|
|
290
|
-
"No models": "
|
|
291
|
-
"No models added yet": "
|
|
292
|
-
"No models configured": "
|
|
293
|
-
"No models found": "
|
|
294
|
-
"No models match your filter.": "
|
|
290
|
+
"No models": "暂无模型",
|
|
291
|
+
"No models added yet": "尚未添加模型",
|
|
292
|
+
"No models configured": "未配置模型",
|
|
293
|
+
"No models found": "未找到模型",
|
|
294
|
+
"No models match your filter.": "没有模型匹配您的筛选条件。",
|
|
295
295
|
"No pricing data available": "无可用定价数据",
|
|
296
296
|
"No Providers Connected": "没有连接提供商",
|
|
297
297
|
"No Proxy": "无代理",
|
|
298
298
|
"No quota data available": "无可用配额数据",
|
|
299
299
|
"No request details found": "未找到请求详细信息",
|
|
300
|
-
"No requests yet.": "
|
|
300
|
+
"No requests yet.": "暂无请求。",
|
|
301
301
|
"Not configured": "未配置",
|
|
302
302
|
"Number of items to accumulate before writing to database (higher = better performance)": "写入数据库之前要累积的项目数(越高=性能越好)",
|
|
303
303
|
"OAuth Providers": "OAuth 提供商",
|
|
@@ -308,17 +308,17 @@
|
|
|
308
308
|
"Open Claw CLI not installed": "未安装 Open Claw CLI",
|
|
309
309
|
"Open DevTools (F12) → Application/Storage → Cookies": "打开 DevTools (F12) → 应用程序/存储 → Cookie",
|
|
310
310
|
"Open platform.iflow.cn in your browser": "在浏览器中打开platform.iflow.cn",
|
|
311
|
-
"OpenAI Compatible (Prod)": "OpenAI
|
|
311
|
+
"OpenAI Compatible (Prod)": "OpenAI 兼容(生产)",
|
|
312
312
|
"OpenCode - Manual Configuration": "OpenCode - 手动配置",
|
|
313
313
|
"OpenCode CLI not installed": "未安装 OpenCode CLI",
|
|
314
|
-
"OpenRouter": "
|
|
315
|
-
"OpenRouter supports any model. Add models and create aliases for quick access.": "OpenRouter
|
|
314
|
+
"OpenRouter": "OpenRouter",
|
|
315
|
+
"OpenRouter supports any model. Add models and create aliases for quick access.": "OpenRouter 支持任何模型。添加模型并创建别名以便快速访问。",
|
|
316
316
|
"Other": "其他",
|
|
317
|
-
"Out": "
|
|
317
|
+
"Out": "输出",
|
|
318
318
|
"Outbound Proxy": "出站代理",
|
|
319
319
|
"Output": "输出",
|
|
320
|
-
"Output Tokens": "
|
|
321
|
-
"Output Tokens:": "
|
|
320
|
+
"Output Tokens": "输出 Token",
|
|
321
|
+
"Output Tokens:": "输出 Token:",
|
|
322
322
|
"Output:": "输出:",
|
|
323
323
|
"Password updated successfully": "密码更新成功",
|
|
324
324
|
"Passwords do not match": "密码不匹配",
|
|
@@ -334,26 +334,26 @@
|
|
|
334
334
|
"Please install Open Claw CLI to use this feature.": "请安装 Open Claw CLI 才能使用此功能。",
|
|
335
335
|
"Please install OpenCode CLI to use auto-apply feature.": "请安装 OpenCode CLI 以使用自动应用功能。",
|
|
336
336
|
"Please wait while we complete the authorization.": "我们正在完成授权,请稍候。",
|
|
337
|
-
"Popup blocked? Enter URL manually": "
|
|
337
|
+
"Popup blocked? Enter URL manually": "弹出窗口被拦截?请手动输入 URL",
|
|
338
338
|
"Prefix": "前缀",
|
|
339
339
|
"Pricing": "定价",
|
|
340
340
|
"Pricing Configuration": "定价配置",
|
|
341
341
|
"Pricing Format:": "定价格式:",
|
|
342
342
|
"Pricing Rates Format": "定价格式",
|
|
343
343
|
"Pricing Settings": "定价设置",
|
|
344
|
-
"Priority": "
|
|
344
|
+
"Priority": "优先级",
|
|
345
345
|
"Privacy Policy": "隐私政策",
|
|
346
346
|
"Product": "产品",
|
|
347
347
|
"Production Key": "生产密钥",
|
|
348
|
-
"Provider": "
|
|
348
|
+
"Provider": "提供商",
|
|
349
349
|
"Provider Limits": "提供商限制",
|
|
350
|
-
"Provider not found": "
|
|
350
|
+
"Provider not found": "未找到提供商",
|
|
351
351
|
"Provider:": "提供商:",
|
|
352
|
-
"Providers": "
|
|
352
|
+
"Providers": "提供商",
|
|
353
353
|
"Proxy settings applied": "已应用代理设置",
|
|
354
|
-
"Proxy URL": "
|
|
355
|
-
"Purpose:": "
|
|
356
|
-
"Qwen": "
|
|
354
|
+
"Proxy URL": "代理 URL",
|
|
355
|
+
"Purpose:": "用途:",
|
|
356
|
+
"Qwen": "Qwen",
|
|
357
357
|
"Reading from AWS SSO cache": "从 AWS SSO 缓存中读取",
|
|
358
358
|
"Reading from Cursor IDE database": "从 Cursor IDE 数据库读取",
|
|
359
359
|
"Reasoning": "推理",
|
|
@@ -365,13 +365,13 @@
|
|
|
365
365
|
"Refresh All": "全部刷新",
|
|
366
366
|
"Refresh quota": "刷新配额",
|
|
367
367
|
"Refresh Token": "刷新令牌",
|
|
368
|
-
"Reload VS Code after applying for changes to take effect.": "
|
|
369
|
-
"Remove": "
|
|
368
|
+
"Reload VS Code after applying for changes to take effect.": "应用更改后请重新加载 VS Code 以使其生效。",
|
|
369
|
+
"Remove": "移除",
|
|
370
370
|
"Remove custom model": "删除自定义模型",
|
|
371
371
|
"Remove model": "删除模型",
|
|
372
372
|
"Request Details": "请求详情",
|
|
373
373
|
"Request Logs": "请求日志",
|
|
374
|
-
"Requests": "
|
|
374
|
+
"Requests": "请求",
|
|
375
375
|
"Requests without a valid key will be rejected": "没有有效密钥的请求将被拒绝",
|
|
376
376
|
"requests, max": "请求数,最大",
|
|
377
377
|
"Require API key": "需要 API 密钥",
|
|
@@ -386,26 +386,26 @@
|
|
|
386
386
|
"Resources": "资源",
|
|
387
387
|
"Responses API": "响应API",
|
|
388
388
|
"Retry": "重试",
|
|
389
|
-
"Round Robin": "
|
|
389
|
+
"Round Robin": "轮询",
|
|
390
390
|
"Routing Strategy": "路由策略",
|
|
391
391
|
"Rows:": "行:",
|
|
392
392
|
"Run this command in your terminal, then click": "在终端中运行此命令,然后单击",
|
|
393
|
-
"Running": "
|
|
393
|
+
"Running": "运行中",
|
|
394
394
|
"Running on your machine": "在你的机器上运行",
|
|
395
395
|
"s)": ")",
|
|
396
396
|
"Save Mappings": "保存映射",
|
|
397
397
|
"Save this key now!": "立即保存此密钥!",
|
|
398
|
-
"Search model id": "
|
|
398
|
+
"Search model id": "搜索模型 ID",
|
|
399
399
|
"Security": "安全",
|
|
400
400
|
"Select": "选择",
|
|
401
401
|
"Select a provider": "选择提供商",
|
|
402
402
|
"Select all": "选择全部",
|
|
403
|
-
"Select Model": "
|
|
404
|
-
"Select Model for Codex": "选择 Codex
|
|
405
|
-
"Select Model for Factory Droid": "
|
|
406
|
-
"Select Model for GitHub Copilot": "选择 GitHub Copilot
|
|
407
|
-
"Select Model for Open Claw": "选择Open Claw
|
|
408
|
-
"Select Model for OpenCode": "选择 OpenCode
|
|
403
|
+
"Select Model": "选择模型",
|
|
404
|
+
"Select Model for Codex": "选择 Codex 模型",
|
|
405
|
+
"Select Model for Factory Droid": "选择 Factory Droid 模型",
|
|
406
|
+
"Select Model for GitHub Copilot": "选择 GitHub Copilot 模型",
|
|
407
|
+
"Select Model for Open Claw": "选择 Open Claw 模型",
|
|
408
|
+
"Select Model for OpenCode": "选择 OpenCode 模型",
|
|
409
409
|
"Selected only": "仅选定",
|
|
410
410
|
"Selected provider": "选定的提供商",
|
|
411
411
|
"Send to Provider": "发送给提供商",
|
|
@@ -415,17 +415,17 @@
|
|
|
415
415
|
"Setting up": "设置",
|
|
416
416
|
"Share Endpoint": "共享端点",
|
|
417
417
|
"Share URL with team members": "与团队成员共享 URL",
|
|
418
|
-
"Show only selected models": "
|
|
418
|
+
"Show only selected models": "仅显示选中的模型",
|
|
419
419
|
"Showing": "显示中",
|
|
420
|
-
"Special reasoning/thinking tokens (fallback to output rate)": "
|
|
421
|
-
"Standard prompt tokens": "
|
|
420
|
+
"Special reasoning/thinking tokens (fallback to output rate)": "特殊推理/思考 Token(回退至输出费率)",
|
|
421
|
+
"Standard prompt tokens": "标准提示 Token",
|
|
422
422
|
"Start Date": "开始日期",
|
|
423
423
|
"Start DNS": "启动 DNS",
|
|
424
424
|
"Start MITM": "启动中间人",
|
|
425
425
|
"Start Server": "启动服务器",
|
|
426
426
|
"Start Tunnel": "开始隧道",
|
|
427
|
-
"Status": "
|
|
428
|
-
"Status:": "
|
|
427
|
+
"Status": "状态",
|
|
428
|
+
"Status:": "状态:",
|
|
429
429
|
"Step 1: Open this URL in your browser": "第 1 步:在浏览器中打开此 URL",
|
|
430
430
|
"Step 2: Paste the callback URL here": "第 2 步:将回调 URL 粘贴到此处",
|
|
431
431
|
"Sticky Limit": "粘性限制",
|
|
@@ -447,53 +447,53 @@
|
|
|
447
447
|
"The tunnel will be disconnected. Remote access will stop working.": "隧道将被断开。远程访问将停止工作。",
|
|
448
448
|
"The unified interface for modern AI infrastructure. Secure, observable, and scalable.": "现代人工智能基础设施的统一接口。安全、可观察且可扩展。",
|
|
449
449
|
"Thinking Process": "思考过程",
|
|
450
|
-
"This is the only time you will see this key. Store it securely.": "
|
|
450
|
+
"This is the only time you will see this key. Store it securely.": "这是您唯一一次看到此密钥的机会。请妥善保管。",
|
|
451
451
|
"Timestamp": "时间戳",
|
|
452
452
|
"Timestamp:": "时间戳:",
|
|
453
453
|
"To get a fresh API key, paste your browser cookie from": "要获取新的 API 密钥,请粘贴您的浏览器 cookie",
|
|
454
454
|
"to verify.": "来验证。",
|
|
455
455
|
"Toggle DNS to redirect": "切换 DNS 重定向",
|
|
456
456
|
"Token auto-detected from Kiro IDE successfully!": "已成功从 Kiro IDE 自动检测到令牌!",
|
|
457
|
-
"Token Types:": "
|
|
457
|
+
"Token Types:": "Token 类型:",
|
|
458
458
|
"Token will be auto-filled...": "令牌将自动填充...",
|
|
459
|
-
"Tokens": "
|
|
459
|
+
"Tokens": "Token",
|
|
460
460
|
"Tokens auto-detected from Cursor IDE successfully!": "已成功从 Cursor IDE 自动检测到令牌!",
|
|
461
|
-
"Tokens used to create cache entries (fallback to input rate)": "
|
|
462
|
-
"Total Input Tokens": "
|
|
463
|
-
"Total Models": "
|
|
461
|
+
"Tokens used to create cache entries (fallback to input rate)": "用于创建缓存条目的 Token(回退至输入费率)",
|
|
462
|
+
"Total Input Tokens": "输入 Token 总计",
|
|
463
|
+
"Total Models": "模型总数",
|
|
464
464
|
"Total Requests": "请求总数",
|
|
465
|
-
"Total:": "
|
|
465
|
+
"Total:": "总计:",
|
|
466
466
|
"traffic through 9Router via MITM.": "通过 MITM 通过 9Router 的流量。",
|
|
467
467
|
"Translator Debug": "翻译器调试",
|
|
468
468
|
"Try Again": "再试一次",
|
|
469
469
|
"Tunnel connected!": "隧道连通!",
|
|
470
470
|
"Tunnel disabled": "隧道已禁用",
|
|
471
471
|
"Turn request detail recording on/off globally": "全局打开/关闭请求详细信息记录",
|
|
472
|
-
"Twitter": "
|
|
472
|
+
"Twitter": "Twitter",
|
|
473
473
|
"Unavailable": "不可用",
|
|
474
474
|
"Unknown": "未知",
|
|
475
475
|
"Unselect all": "取消选择全部",
|
|
476
476
|
"Update": "更新",
|
|
477
|
-
"Usage by Account": "
|
|
478
|
-
"Usage by API Key": "按 API
|
|
479
|
-
"Usage by Endpoint": "
|
|
480
|
-
"Usage by Model": "
|
|
477
|
+
"Usage by Account": "按账号统计",
|
|
478
|
+
"Usage by API Key": "按 API 密钥统计",
|
|
479
|
+
"Usage by Endpoint": "按端点统计",
|
|
480
|
+
"Usage by Model": "按模型统计",
|
|
481
481
|
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from 9Router": "使用 Antigravity IDE 和 GitHub Copilot → 与 9Router 的任何提供商/模型",
|
|
482
482
|
"Use in Cursor/Cline": "在Cursor/Cline中使用",
|
|
483
483
|
"Use the buttons above to add OpenAI or Anthropic compatible endpoints": "使用上面的按钮添加 OpenAI 或 Anthropic 兼容端点",
|
|
484
484
|
"Use your API from any network": "从任何网络使用您的 API",
|
|
485
|
-
"Verification URL": "
|
|
485
|
+
"Verification URL": "验证 URL",
|
|
486
486
|
"View Full Details": "查看完整详情",
|
|
487
487
|
"Visit the URL below and enter the code:": "访问以下网址并输入代码:",
|
|
488
488
|
"Waiting for Authorization": "等待授权",
|
|
489
489
|
"Waiting for authorization...": "等待授权...",
|
|
490
490
|
"Warning": "警告",
|
|
491
|
-
"When": "
|
|
491
|
+
"When": "时间",
|
|
492
492
|
"When ON, dashboard requires password. When OFF, access without login.": "当打开时,仪表板需要密码。当关闭时,无需登录即可访问。",
|
|
493
493
|
"Windows: Run 9Router terminal as Administrator": "Windows:以管理员身份运行 9Router 终端",
|
|
494
494
|
"Windows: Run terminal (9Router) as Administrator to enable MITM": "Windows:以管理员身份运行终端 (9Router) 以启用 MITM",
|
|
495
495
|
"Writes to": "写入到",
|
|
496
|
-
"You can override default pricing for specific models. Reset to defaults anytime to restore standard rates.": "
|
|
496
|
+
"You can override default pricing for specific models. Reset to defaults anytime to restore standard rates.": "您可以覆盖特定模型的默认定价。随时重置为默认值以恢复标准费率。",
|
|
497
497
|
"Your": "你的",
|
|
498
498
|
"Your Code": "你的代码",
|
|
499
499
|
"Your Kiro account via": "您的 Kiro 帐户通过",
|
|
@@ -511,5 +511,282 @@
|
|
|
511
511
|
"Server Disconnected": "服务器已断开",
|
|
512
512
|
"The proxy server has been stopped.": "代理服务器已停止。",
|
|
513
513
|
"Reload Page": "重新加载页面",
|
|
514
|
-
"Service is running in terminal. You can close this web page. Shutdown will stop the service.": "服务正在终端中运行。您可以关闭此网页。关闭将停止服务。"
|
|
514
|
+
"Service is running in terminal. You can close this web page. Shutdown will stop the service.": "服务正在终端中运行。您可以关闭此网页。关闭将停止服务。",
|
|
515
|
+
|
|
516
|
+
"One Endpoint for": "统一端点,接入",
|
|
517
|
+
"All AI Providers": "所有 AI 提供商",
|
|
518
|
+
"Route AI requests through subscription, cheap, and free tiers with auto-fallback. One endpoint for Claude, GPT, Gemini, and more.": "通过订阅、低价和免费层级路由 AI 请求并自动回退。一个端点接入 Claude、GPT、Gemini 等。",
|
|
519
|
+
"Get Started": "开始使用",
|
|
520
|
+
"View on GitHub": "在 GitHub 上查看",
|
|
521
|
+
|
|
522
|
+
"How 9Router Works": "9Router 工作原理",
|
|
523
|
+
"Data flows seamlessly through our intelligent routing system": "数据通过我们的智能路由系统无缝流转",
|
|
524
|
+
"1. CLI & SDKs": "1. CLI 和 SDK",
|
|
525
|
+
"Your requests start from your favorite tools — Cursor, Claude, Copilot, or any OpenAI-compatible SDK.": "请求从您常用的工具发起——Cursor、Claude、Copilot 或任何 OpenAI 兼容的 SDK。",
|
|
526
|
+
"2. 9Router Hub": "2. 9Router 枢纽",
|
|
527
|
+
"Our engine analyzes the prompt and routes through your subscription, cheap, and free provider tiers with automatic fallback.": "我们的引擎分析提示词并通过您的订阅、低价和免费提供商层级路由,自动回退。",
|
|
528
|
+
"3. AI Providers": "3. AI 提供商",
|
|
529
|
+
"The request is fulfilled by OpenAI, Anthropic, Gemini, or others instantly.": "请求由 OpenAI、Anthropic、Gemini 或其他提供商即时响应。",
|
|
530
|
+
|
|
531
|
+
"Powerful Features": "强大功能",
|
|
532
|
+
"Everything you need to manage your AI infrastructure efficiently.": "高效管理 AI 基础设施所需的一切。",
|
|
533
|
+
"Unified Endpoint": "统一端点",
|
|
534
|
+
"Single API endpoint for all major AI providers. Simplify your integration.": "一个 API 端点接入所有主要 AI 提供商。简化集成。",
|
|
535
|
+
"Easy Setup": "简单设置",
|
|
536
|
+
"Get started in seconds. Just install, open, and route.": "几秒钟即可上手。安装、打开、路由。",
|
|
537
|
+
"Model Fallback": "模型回退",
|
|
538
|
+
"Automatically switch between providers when limits are hit.": "当达到限额时自动切换提供商。",
|
|
539
|
+
"Usage Tracking": "使用量跟踪",
|
|
540
|
+
"Track token usage, costs, and performance across all providers.": "跟踪所有提供商的 Token 使用量、成本和性能。",
|
|
541
|
+
"OAuth & API Keys": "OAuth 和 API 密钥",
|
|
542
|
+
"Connect via OAuth or API keys. Securely manage credentials.": "通过 OAuth 或 API 密钥连接。安全管理凭据。",
|
|
543
|
+
"Cloud Sync": "云端同步",
|
|
544
|
+
"Sync settings across devices with optional cloud storage.": "通过可选的云存储在设备间同步设置。",
|
|
545
|
+
"CLI Support": "CLI 支持",
|
|
546
|
+
"Native CLI tool support for Cursor, Claude, Copilot, and more.": "原生支持 Cursor、Claude、Copilot 等 CLI 工具。",
|
|
547
|
+
"Dashboard": "仪表盘",
|
|
548
|
+
"Beautiful web dashboard for managing providers and monitoring usage.": "精美的 Web 仪表盘,用于管理提供商和监控使用情况。",
|
|
549
|
+
|
|
550
|
+
"Get Started in 30 Seconds": "30 秒快速上手",
|
|
551
|
+
"Install 9Router": "安装 9Router",
|
|
552
|
+
"Open Dashboard": "打开仪表盘",
|
|
553
|
+
"Route Requests": "路由请求",
|
|
554
|
+
"npm install -g 9router": "npm install -g 9router",
|
|
555
|
+
"open http://localhost:9099": "open http://localhost:9099",
|
|
556
|
+
"Ready! Requests route automatically through your configured providers.": "就绪!请求将自动通过您配置的提供商路由。",
|
|
557
|
+
|
|
558
|
+
"How it Works": "工作原理",
|
|
559
|
+
"Docs": "文档",
|
|
560
|
+
"GitHub": "GitHub",
|
|
561
|
+
|
|
562
|
+
"Legal": "法律",
|
|
563
|
+
|
|
564
|
+
"Manage your AI provider connections": "管理您的 AI 提供商连接",
|
|
565
|
+
"Model combos with fallback": "模型组合及回退",
|
|
566
|
+
"Monitor your API usage, token consumption, and request logs": "监控您的 API 使用量、Token 消耗和请求日志",
|
|
567
|
+
"Track and manage your API quota limits": "跟踪和管理您的 API 配额限制",
|
|
568
|
+
"Intercept CLI tool traffic and route through 9Router": "拦截 CLI 工具流量并通过 9Router 路由",
|
|
569
|
+
"Configure CLI tools": "配置 CLI 工具",
|
|
570
|
+
"Manage your proxy pool configurations": "管理您的代理池配置",
|
|
571
|
+
"API endpoint configuration": "API 端点配置",
|
|
572
|
+
"Manage your preferences": "管理您的偏好设置",
|
|
573
|
+
"Live server console output": "服务器实时控制台输出",
|
|
574
|
+
"Usage & Analytics": "使用量和分析",
|
|
575
|
+
"MITM Proxy": "MITM 代理",
|
|
576
|
+
"Translator": "翻译器",
|
|
577
|
+
"Media Providers": "媒体提供商",
|
|
578
|
+
|
|
579
|
+
"Theme": "主题",
|
|
580
|
+
"Remote": "远程",
|
|
581
|
+
"Logout": "退出登录",
|
|
582
|
+
"Change Log": "更新日志",
|
|
583
|
+
|
|
584
|
+
"Proxy Pools": "代理池",
|
|
585
|
+
"MITM": "MITM",
|
|
586
|
+
|
|
587
|
+
"Loading...": "加载中...",
|
|
588
|
+
"Enter your password to access the dashboard": "输入密码以访问仪表盘",
|
|
589
|
+
"Password": "密码",
|
|
590
|
+
"Enter password": "输入密码",
|
|
591
|
+
"Login": "登录",
|
|
592
|
+
"Default password is 123456": "默认密码为 123456",
|
|
593
|
+
"Invalid password": "密码错误",
|
|
594
|
+
"An error occurred. Please try again.": "发生错误,请重试。",
|
|
595
|
+
|
|
596
|
+
"light": "浅色",
|
|
597
|
+
"dark": "深色",
|
|
598
|
+
"system": "跟随系统",
|
|
599
|
+
"Combo Round Robin": "组合轮询",
|
|
600
|
+
"Cycle through providers in combos instead of always starting with first": "在组合中循环使用提供商,而不是总是从第一个开始",
|
|
601
|
+
"Currently using accounts in priority order (Fill First).": "当前按优先级顺序使用账号(优先填满)。",
|
|
602
|
+
"Record request details for inspection in the logs view": "记录请求详情以在日志视图中查看",
|
|
603
|
+
"Update Password": "修改密码",
|
|
604
|
+
"Set Password": "设置密码",
|
|
605
|
+
|
|
606
|
+
"Overview": "概览",
|
|
607
|
+
"Details": "详情",
|
|
608
|
+
"Search...": "搜索...",
|
|
609
|
+
|
|
610
|
+
"Saving...": "保存中...",
|
|
611
|
+
"Save": "保存",
|
|
612
|
+
"Save Changes": "保存更改",
|
|
613
|
+
"Saving": "保存中",
|
|
614
|
+
"Importing...": "导入中...",
|
|
615
|
+
"Import": "导入",
|
|
616
|
+
"Deploying... (may take ~1 min)": "部署中...(可能需要约 1 分钟)",
|
|
617
|
+
"Deploy": "部署",
|
|
618
|
+
|
|
619
|
+
"Enable": "启用",
|
|
620
|
+
"Disable": "禁用",
|
|
621
|
+
"Token Saver": "Token 节省器",
|
|
622
|
+
"Experimental": "实验性",
|
|
623
|
+
"Compress tool output to reduce token usage.": "压缩工具输出以减少 Token 使用量。",
|
|
624
|
+
"sk_9router (default)": "sk_9router(默认)",
|
|
625
|
+
|
|
626
|
+
"Install Tailscale": "安装 Tailscale",
|
|
627
|
+
"Installing Tailscale...": "正在安装 Tailscale...",
|
|
628
|
+
"Tailscale installed": "Tailscale 已安装",
|
|
629
|
+
"Tailscale Funnel": "Tailscale Funnel",
|
|
630
|
+
"Allow dashboard access via tunnel": "允许通过隧道访问仪表盘",
|
|
631
|
+
|
|
632
|
+
"Disconnected from server": "与服务器断开连接",
|
|
633
|
+
"Attempting to reconnect...": "正在尝试重新连接...",
|
|
634
|
+
"Click to retry": "点击重试",
|
|
635
|
+
|
|
636
|
+
"Failed to load changelog:": "加载更新日志失败:",
|
|
637
|
+
"Copied!": "已复制!",
|
|
638
|
+
|
|
639
|
+
"Manage reusable per-connection proxies and bind them to provider connections.": "管理可复用的连接代理并绑定到提供商连接。",
|
|
640
|
+
"Vercel Relay": "Vercel Relay",
|
|
641
|
+
"Batch Import": "批量导入",
|
|
642
|
+
"Add Proxy Pool": "添加代理池",
|
|
643
|
+
"No proxy pool entries yet": "暂无代理池条目",
|
|
644
|
+
"Create a proxy pool entry, then assign it to connections.": "创建代理池条目,然后分配到连接。",
|
|
645
|
+
"Batch Import Proxies": "批量导入代理",
|
|
646
|
+
"Paste Proxy List (One per line)": "粘贴代理列表(每行一个)",
|
|
647
|
+
"Supported formats: protocol://user:pass@host:port, host:port:user:pass": "支持的格式:protocol://user:pass@host:port, host:port:user:pass",
|
|
648
|
+
"Deploy Vercel Relay": "部署 Vercel Relay",
|
|
649
|
+
"What is Vercel Relay?": "什么是 Vercel Relay?",
|
|
650
|
+
"Deploys an edge relay function to Vercel that proxies requests through Vercel's network.": "将边缘中继函数部署到 Vercel,通过 Vercel 的网络代理请求。",
|
|
651
|
+
"Vercel API Token": "Vercel API Token",
|
|
652
|
+
"Project Name": "项目名称",
|
|
653
|
+
"Edit Proxy Pool": "编辑代理池",
|
|
654
|
+
"Strict Proxy": "严格代理",
|
|
655
|
+
"Fail request if proxy is unreachable instead of falling back to direct.": "当代理不可达时直接失败,而不是回退到直连。",
|
|
656
|
+
"Inactive pools are ignored by runtime resolution.": "未激活的代理池将被运行时解析忽略。",
|
|
657
|
+
"active": "活跃",
|
|
658
|
+
"inactive": "未激活",
|
|
659
|
+
"unknown": "未知",
|
|
660
|
+
"bound": "已绑定",
|
|
661
|
+
"Last tested:": "上次测试:",
|
|
662
|
+
"No proxy:": "无代理:",
|
|
663
|
+
"Proxy pool updated": "代理池已更新",
|
|
664
|
+
"Proxy pool created": "代理池已创建",
|
|
665
|
+
"Proxy pool deleted": "代理池已删除",
|
|
666
|
+
"Proxy test passed": "代理测试通过",
|
|
667
|
+
"Proxy test failed": "代理测试失败",
|
|
668
|
+
|
|
669
|
+
"Replay request flow — matches log files": "重放请求流程——匹配日志文件",
|
|
670
|
+
"Client Request": "客户端请求",
|
|
671
|
+
"Source Body": "源请求体",
|
|
672
|
+
"OpenAI Intermediate": "OpenAI 中间格式",
|
|
673
|
+
"Target Request": "目标请求",
|
|
674
|
+
"Provider Response": "提供商响应",
|
|
675
|
+
"OpenAI Response": "OpenAI 响应",
|
|
676
|
+
"Client Response": "客户端响应",
|
|
677
|
+
"Format": "格式化",
|
|
678
|
+
"Send": "发送",
|
|
679
|
+
"→ OpenAI": "→ OpenAI",
|
|
680
|
+
"→ Target": "→ 目标",
|
|
681
|
+
|
|
682
|
+
"Terminal": "终端",
|
|
683
|
+
"Full shell access": "完整 Shell 访问",
|
|
684
|
+
"Desktop": "桌面",
|
|
685
|
+
"Screen sharing": "屏幕共享",
|
|
686
|
+
"Files": "文件",
|
|
687
|
+
"Browse & edit files": "浏览和编辑文件",
|
|
688
|
+
"Scan QR to connect instantly": "扫描二维码即刻连接",
|
|
689
|
+
"No port forwarding needed": "无需端口转发",
|
|
690
|
+
"Works on any device": "适用于任何设备",
|
|
691
|
+
"Access your terminal, desktop & files from anywhere": "从任何地方访问您的终端、桌面和文件",
|
|
692
|
+
"Get 9Remote": "获取 9Remote",
|
|
693
|
+
|
|
694
|
+
"Manual configuration is still available if 9router is deployed on a remote server.": "如果 9router 部署在远程服务器上,仍可使用手动配置。",
|
|
695
|
+
"How to Install": "如何安装",
|
|
696
|
+
"Hide": "隐藏",
|
|
697
|
+
"Filter naming": "过滤命名",
|
|
698
|
+
"Filter naming requests": "过滤命名请求",
|
|
699
|
+
"Intercepts Claude Code's topic-naming requests and returns a fake response locally, saving API tokens.": "拦截 Claude Code 的主题命名请求并在本地返回伪响应,节省 API Token。",
|
|
700
|
+
"Settings applied successfully!": "设置已成功应用!",
|
|
701
|
+
"Failed to apply settings": "应用设置失败",
|
|
702
|
+
"Settings reset successfully!": "设置已成功重置!",
|
|
703
|
+
"Failed to reset settings": "重置设置失败",
|
|
704
|
+
"No API keys - Create one in Keys page": "暂无 API 密钥 - 请在密钥页面创建",
|
|
705
|
+
"Subagent Model": "子代理模型",
|
|
706
|
+
"Select Subagent Model for Codex": "选择 Codex 子代理模型",
|
|
707
|
+
"Select Subagent Model for OpenCode": "选择 OpenCode 子代理模型",
|
|
708
|
+
"No models selected": "未选择模型",
|
|
709
|
+
"Click a model to set/clear active": "点击模型以设置/取消活跃状态",
|
|
710
|
+
"Select models to add": "选择要添加的模型",
|
|
711
|
+
"Add Model for OpenCode": "为 OpenCode 添加模型",
|
|
712
|
+
"Default Model": "默认模型",
|
|
713
|
+
"9Router Base URL": "9Router 基础 URL",
|
|
714
|
+
"Trust Cert": "信任证书",
|
|
715
|
+
"Trusted": "已信任",
|
|
716
|
+
"not detected locally": "未在本地检测到",
|
|
717
|
+
|
|
718
|
+
"Select to pre-fill, then edit model ID in the input": "选择以预填充,然后在输入框中编辑模型 ID",
|
|
719
|
+
|
|
720
|
+
"Free & Free Tier Providers": "免费及免费额度提供商",
|
|
721
|
+
"Testing...": "测试中...",
|
|
722
|
+
"Test All": "全部测试",
|
|
723
|
+
"Ready": "就绪",
|
|
724
|
+
"Valid": "有效",
|
|
725
|
+
"Invalid": "无效",
|
|
726
|
+
"Checking...": "检查中...",
|
|
727
|
+
"Check": "检查",
|
|
728
|
+
"Creating...": "创建中...",
|
|
729
|
+
"Network error": "网络错误",
|
|
730
|
+
"Provider test failed": "提供商测试失败",
|
|
731
|
+
"Enable provider": "启用提供商",
|
|
732
|
+
"Disable provider": "禁用提供商",
|
|
733
|
+
"Chat": "对话",
|
|
734
|
+
"Responses": "响应",
|
|
735
|
+
"passed": "通过",
|
|
736
|
+
"failed": "失败",
|
|
737
|
+
"tested": "已测试",
|
|
738
|
+
"Required. A friendly label for this node.": "必填。为此节点设置一个友好的显示名称。",
|
|
739
|
+
"Required. Used as the provider prefix for model IDs.": "必填。用作模型 ID 的提供商前缀。",
|
|
740
|
+
"Model ID (optional)": "模型 ID(可选)",
|
|
741
|
+
"If provider lacks /models endpoint, enter a model ID to validate via chat/completions instead.": "如果提供商不支持 /models 端点,请输入模型 ID 通过 chat/completions 进行验证。",
|
|
742
|
+
"(via inference test)": "(通过推理测试)",
|
|
743
|
+
|
|
744
|
+
"Delete this combo?": "删除此组合?",
|
|
745
|
+
"Name is required": "名称为必填项",
|
|
746
|
+
"Failed to create combo": "创建组合失败",
|
|
747
|
+
"Failed to update combo": "更新组合失败",
|
|
748
|
+
"Only letters, numbers, -, _ and . allowed": "仅允许使用字母、数字、-、_ 和 .",
|
|
749
|
+
|
|
750
|
+
"Input Cost": "输入成本",
|
|
751
|
+
"Output Cost": "输出成本",
|
|
752
|
+
"Total Cost": "总成本",
|
|
753
|
+
"Total Tokens": "总 Token",
|
|
754
|
+
"Never": "从未",
|
|
755
|
+
"Just now": "刚刚",
|
|
756
|
+
"m ago": "分钟前",
|
|
757
|
+
"h ago": "小时前",
|
|
758
|
+
|
|
759
|
+
"None": "无",
|
|
760
|
+
"disabled": "已禁用",
|
|
761
|
+
"OAuth Account": "OAuth 账号",
|
|
762
|
+
"no_proxy:": "无代理:",
|
|
763
|
+
"Pool:": "代理池:",
|
|
764
|
+
"Legacy:": "旧版:",
|
|
765
|
+
|
|
766
|
+
"Error": "错误",
|
|
767
|
+
"more": "更多",
|
|
768
|
+
"Proxy": "代理",
|
|
769
|
+
|
|
770
|
+
"No authentication required": "无需身份验证",
|
|
771
|
+
"This provider is ready to use.": "此提供商已准备就绪。",
|
|
772
|
+
"Available Models": "可用模型",
|
|
773
|
+
"Model not reachable": "模型不可达",
|
|
774
|
+
"Failed to set alias": "设置别名失败",
|
|
775
|
+
"Delete this connection?": "删除此连接?",
|
|
776
|
+
"Proxy Pool": "代理池",
|
|
777
|
+
"Proxy Action": "代理操作",
|
|
778
|
+
"Selecting None will unbind selected connections from proxy pool.": "选择「无」将解除所选连接与代理池的绑定。",
|
|
779
|
+
"Applying...": "应用中...",
|
|
780
|
+
"Select one or more connections, then click Proxy Action.": "选择一个或多个连接,然后点击代理操作。",
|
|
781
|
+
"All selected currently unbound": "所有选中项当前未绑定",
|
|
782
|
+
"Selected connections have mixed proxy bindings": "所选连接的代理绑定状态不一致",
|
|
783
|
+
"Anthropic Compatible Details": "Anthropic 兼容详情",
|
|
784
|
+
"OpenAI Compatible Details": "OpenAI 兼容详情",
|
|
785
|
+
"Messages API": "消息 API",
|
|
786
|
+
"Sticky:": "粘滞:",
|
|
787
|
+
"connection": "个连接",
|
|
788
|
+
"connections": "个连接",
|
|
789
|
+
"Suggested free models (≥200k context):": "推荐的免费模型(≥200k 上下文):",
|
|
790
|
+
"Get API Key →": "获取 API 密钥 →",
|
|
791
|
+
"OAuth": "OAuth"
|
|
515
792
|
}
|