@srouterhq/server 0.0.0-stage → 0.9.0
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/LICENSE +21 -0
- package/client/dist/assets/am-TQ7Jmdqe.js +1 -0
- package/client/dist/assets/ar-Bf5a7yfC.js +1 -0
- package/client/dist/assets/az-CrosE1xH.js +1 -0
- package/client/dist/assets/bg-BvWnmcUz.js +1 -0
- package/client/dist/assets/bn-ams5TsJp.js +1 -0
- package/client/dist/assets/cs-Dh67CaJ_.js +1 -0
- package/client/dist/assets/da-9WlT8Iq7.js +1 -0
- package/client/dist/assets/de-lWhJJzz7.js +1 -0
- package/client/dist/assets/el-Cu7_GhNq.js +1 -0
- package/client/dist/assets/es-BZuzsBcP.js +1 -0
- package/client/dist/assets/fa-Dwdn-jKS.js +1 -0
- package/client/dist/assets/fi-BFrFyOTy.js +1 -0
- package/client/dist/assets/fr-XhbtmPpj.js +1 -0
- package/client/dist/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
- package/client/dist/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
- package/client/dist/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/client/dist/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/client/dist/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2 +0 -0
- package/client/dist/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2 +0 -0
- package/client/dist/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2 +0 -0
- package/client/dist/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2 +0 -0
- package/client/dist/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2 +0 -0
- package/client/dist/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2 +0 -0
- package/client/dist/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
- package/client/dist/assets/gu-D0uhLUB8.js +1 -0
- package/client/dist/assets/ha-CVlm9pqp.js +1 -0
- package/client/dist/assets/he-CMIFeoWr.js +1 -0
- package/client/dist/assets/hi-ENTwhBpn.js +1 -0
- package/client/dist/assets/hr-fc03vMy_.js +1 -0
- package/client/dist/assets/hu-YBo2BIYt.js +1 -0
- package/client/dist/assets/id-BEWXYX69.js +1 -0
- package/client/dist/assets/ig-BKLZFKka.js +1 -0
- package/client/dist/assets/index-D9I4KtvR.js +145 -0
- package/client/dist/assets/index-txhEmCdb.css +2 -0
- package/client/dist/assets/it-Bzmei1Y2.js +1 -0
- package/client/dist/assets/ja-BfcpuqEl.js +1 -0
- package/client/dist/assets/ka-CnWjRgLo.js +1 -0
- package/client/dist/assets/km-BAjPR3Qj.js +1 -0
- package/client/dist/assets/kn-B15WKU5m.js +1 -0
- package/client/dist/assets/ko-C61fAB-w.js +1 -0
- package/client/dist/assets/lt-CYTr4_YW.js +1 -0
- package/client/dist/assets/ml-CtqxgyH3.js +1 -0
- package/client/dist/assets/mr-X5TMY7aR.js +1 -0
- package/client/dist/assets/ms-DSg8RqPS.js +1 -0
- package/client/dist/assets/my-D7RqR8uE.js +1 -0
- package/client/dist/assets/ne-DaflxkDj.js +1 -0
- package/client/dist/assets/nl-BOqqtsC8.js +1 -0
- package/client/dist/assets/no-BSHp_StB.js +1 -0
- package/client/dist/assets/or-BkLR9Vub.js +1 -0
- package/client/dist/assets/pa-CarJ2XgI.js +1 -0
- package/client/dist/assets/pl-C2n0V-0k.js +1 -0
- package/client/dist/assets/pt-BR-CqJdNhg2.js +1 -0
- package/client/dist/assets/pt-PT-C_HpMyKz.js +1 -0
- package/client/dist/assets/ro-DVRZqSAS.js +1 -0
- package/client/dist/assets/ru-DwAJG7VC.js +1 -0
- package/client/dist/assets/si-BxUezXm0.js +1 -0
- package/client/dist/assets/sk-eI1VcIfY.js +1 -0
- package/client/dist/assets/sr-CJF3auCr.js +1 -0
- package/client/dist/assets/srouter-logo-C6ZfjGIi.svg +14 -0
- package/client/dist/assets/sv-nqvwHAq_.js +1 -0
- package/client/dist/assets/sw-DWynE2pW.js +1 -0
- package/client/dist/assets/ta-BVM12knC.js +1 -0
- package/client/dist/assets/te-oyzEkF7_.js +1 -0
- package/client/dist/assets/th-COVeE0ZQ.js +1 -0
- package/client/dist/assets/tl-DsJANnQz.js +1 -0
- package/client/dist/assets/tr-B-Fl-urO.js +1 -0
- package/client/dist/assets/uk-C5qketAO.js +1 -0
- package/client/dist/assets/ur-QU9KugfV.js +1 -0
- package/client/dist/assets/uz-DL9cG_mY.js +1 -0
- package/client/dist/assets/vi-CQiVy3Pu.js +1 -0
- package/client/dist/assets/yo-DqazMdrZ.js +1 -0
- package/client/dist/assets/zh-CN-DnYL_Kio.js +1 -0
- package/client/dist/assets/zh-TW-5bdbosKj.js +1 -0
- package/client/dist/favicon.svg +14 -0
- package/client/dist/icons.svg +24 -0
- package/client/dist/index.html +37 -0
- package/dist/app.d.ts +4 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +372 -0
- package/dist/app.js.map +1 -0
- package/dist/db/index.d.ts +49 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +203 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/migrate/TEMPLATE.d.ts +4 -0
- package/dist/db/migrate/TEMPLATE.d.ts.map +1 -0
- package/dist/db/migrate/TEMPLATE.js +18 -0
- package/dist/db/migrate/TEMPLATE.js.map +1 -0
- package/dist/db/migrate/cli.d.ts +2 -0
- package/dist/db/migrate/cli.d.ts.map +1 -0
- package/dist/db/migrate/cli.js +177 -0
- package/dist/db/migrate/cli.js.map +1 -0
- package/dist/db/migrate/defaults.d.ts +52 -0
- package/dist/db/migrate/defaults.d.ts.map +1 -0
- package/dist/db/migrate/defaults.js +126 -0
- package/dist/db/migrate/defaults.js.map +1 -0
- package/dist/db/migrate/runner.d.ts +16 -0
- package/dist/db/migrate/runner.d.ts.map +1 -0
- package/dist/db/migrate/runner.js +178 -0
- package/dist/db/migrate/runner.js.map +1 -0
- package/dist/db/migrations/20260101_000000_legacy_baseline.d.ts +4 -0
- package/dist/db/migrations/20260101_000000_legacy_baseline.d.ts.map +1 -0
- package/dist/db/migrations/20260101_000000_legacy_baseline.js +2240 -0
- package/dist/db/migrations/20260101_000000_legacy_baseline.js.map +1 -0
- package/dist/db/migrations/20260627_000001_custom_provider_modalities.d.ts +4 -0
- package/dist/db/migrations/20260627_000001_custom_provider_modalities.d.ts.map +1 -0
- package/dist/db/migrations/20260627_000001_custom_provider_modalities.js +27 -0
- package/dist/db/migrations/20260627_000001_custom_provider_modalities.js.map +1 -0
- package/dist/db/migrations/20260627_000002_catalog_model_state.d.ts +4 -0
- package/dist/db/migrations/20260627_000002_catalog_model_state.d.ts.map +1 -0
- package/dist/db/migrations/20260627_000002_catalog_model_state.js +30 -0
- package/dist/db/migrations/20260627_000002_catalog_model_state.js.map +1 -0
- package/dist/db/migrations/20260628_120000_request_aggregates.d.ts +6 -0
- package/dist/db/migrations/20260628_120000_request_aggregates.d.ts.map +1 -0
- package/dist/db/migrations/20260628_120000_request_aggregates.js +104 -0
- package/dist/db/migrations/20260628_120000_request_aggregates.js.map +1 -0
- package/dist/db/migrations/20260630_000001_github_gpt41_context.d.ts +9 -0
- package/dist/db/migrations/20260630_000001_github_gpt41_context.d.ts.map +1 -0
- package/dist/db/migrations/20260630_000001_github_gpt41_context.js +22 -0
- package/dist/db/migrations/20260630_000001_github_gpt41_context.js.map +1 -0
- package/dist/db/migrations/20260706_000001_request_client_info.d.ts +4 -0
- package/dist/db/migrations/20260706_000001_request_client_info.d.ts.map +1 -0
- package/dist/db/migrations/20260706_000001_request_client_info.js +30 -0
- package/dist/db/migrations/20260706_000001_request_client_info.js.map +1 -0
- package/dist/db/migrations/20260706_000002_custom_model_tool_support.d.ts +17 -0
- package/dist/db/migrations/20260706_000002_custom_model_tool_support.d.ts.map +1 -0
- package/dist/db/migrations/20260706_000002_custom_model_tool_support.js +20 -0
- package/dist/db/migrations/20260706_000002_custom_model_tool_support.js.map +1 -0
- package/dist/db/migrations/20260714_000001_profile_chain_backfill.d.ts +12 -0
- package/dist/db/migrations/20260714_000001_profile_chain_backfill.d.ts.map +1 -0
- package/dist/db/migrations/20260714_000001_profile_chain_backfill.js +45 -0
- package/dist/db/migrations/20260714_000001_profile_chain_backfill.js.map +1 -0
- package/dist/db/migrations/20260720_000001_key_health_error.d.ts +5 -0
- package/dist/db/migrations/20260720_000001_key_health_error.d.ts.map +1 -0
- package/dist/db/migrations/20260720_000001_key_health_error.js +16 -0
- package/dist/db/migrations/20260720_000001_key_health_error.js.map +1 -0
- package/dist/db/migrations/20260726_000001_cooldown_probe_provenance.d.ts +4 -0
- package/dist/db/migrations/20260726_000001_cooldown_probe_provenance.d.ts.map +1 -0
- package/dist/db/migrations/20260726_000001_cooldown_probe_provenance.js +38 -0
- package/dist/db/migrations/20260726_000001_cooldown_probe_provenance.js.map +1 -0
- package/dist/db/migrations/20260726_000002_request_attempts.d.ts +4 -0
- package/dist/db/migrations/20260726_000002_request_attempts.d.ts.map +1 -0
- package/dist/db/migrations/20260726_000002_request_attempts.js +43 -0
- package/dist/db/migrations/20260726_000002_request_attempts.js.map +1 -0
- package/dist/db/migrations/20260726_000003_model_source_provenance.d.ts +4 -0
- package/dist/db/migrations/20260726_000003_model_source_provenance.d.ts.map +1 -0
- package/dist/db/migrations/20260726_000003_model_source_provenance.js +80 -0
- package/dist/db/migrations/20260726_000003_model_source_provenance.js.map +1 -0
- package/dist/db/migrations/20260726_000004_media_model_meta.d.ts +4 -0
- package/dist/db/migrations/20260726_000004_media_model_meta.d.ts.map +1 -0
- package/dist/db/migrations/20260726_000004_media_model_meta.js +34 -0
- package/dist/db/migrations/20260726_000004_media_model_meta.js.map +1 -0
- package/dist/db/migrations/20260726_000005_request_served_model.d.ts +4 -0
- package/dist/db/migrations/20260726_000005_request_served_model.d.ts.map +1 -0
- package/dist/db/migrations/20260726_000005_request_served_model.js +31 -0
- package/dist/db/migrations/20260726_000005_request_served_model.js.map +1 -0
- package/dist/db/migrations/20260726_000006_attempt_error_summary.d.ts +4 -0
- package/dist/db/migrations/20260726_000006_attempt_error_summary.d.ts.map +1 -0
- package/dist/db/migrations/20260726_000006_attempt_error_summary.js +29 -0
- package/dist/db/migrations/20260726_000006_attempt_error_summary.js.map +1 -0
- package/dist/db/migrations/20260727_000001_agent_compatibility.d.ts +4 -0
- package/dist/db/migrations/20260727_000001_agent_compatibility.d.ts.map +1 -0
- package/dist/db/migrations/20260727_000001_agent_compatibility.js +41 -0
- package/dist/db/migrations/20260727_000001_agent_compatibility.js.map +1 -0
- package/dist/db/migrations/20260728_000001_tombstone_provenance.d.ts +12 -0
- package/dist/db/migrations/20260728_000001_tombstone_provenance.d.ts.map +1 -0
- package/dist/db/migrations/20260728_000001_tombstone_provenance.js +37 -0
- package/dist/db/migrations/20260728_000001_tombstone_provenance.js.map +1 -0
- package/dist/db/migrations/20260729_000001_custom_model_endpoint_identity.d.ts +4 -0
- package/dist/db/migrations/20260729_000001_custom_model_endpoint_identity.d.ts.map +1 -0
- package/dist/db/migrations/20260729_000001_custom_model_endpoint_identity.js +145 -0
- package/dist/db/migrations/20260729_000001_custom_model_endpoint_identity.js.map +1 -0
- package/dist/db/migrations/20260802_000001_custom_endpoint_host_labels.d.ts +6 -0
- package/dist/db/migrations/20260802_000001_custom_endpoint_host_labels.d.ts.map +1 -0
- package/dist/db/migrations/20260802_000001_custom_endpoint_host_labels.js +52 -0
- package/dist/db/migrations/20260802_000001_custom_endpoint_host_labels.js.map +1 -0
- package/dist/db/migrations/20260805_000001_key_model_scope.d.ts +6 -0
- package/dist/db/migrations/20260805_000001_key_model_scope.d.ts.map +1 -0
- package/dist/db/migrations/20260805_000001_key_model_scope.js +17 -0
- package/dist/db/migrations/20260805_000001_key_model_scope.js.map +1 -0
- package/dist/db/migrations/20260805_000002_client_profiles.d.ts +4 -0
- package/dist/db/migrations/20260805_000002_client_profiles.d.ts.map +1 -0
- package/dist/db/migrations/20260805_000002_client_profiles.js +33 -0
- package/dist/db/migrations/20260805_000002_client_profiles.js.map +1 -0
- package/dist/db/migrations/20260810_000001_api_key_proxy.d.ts +4 -0
- package/dist/db/migrations/20260810_000001_api_key_proxy.d.ts.map +1 -0
- package/dist/db/migrations/20260810_000001_api_key_proxy.js +33 -0
- package/dist/db/migrations/20260810_000001_api_key_proxy.js.map +1 -0
- package/dist/db/migrations/20260819_000001_custom_model_tombstones.d.ts +4 -0
- package/dist/db/migrations/20260819_000001_custom_model_tombstones.d.ts.map +1 -0
- package/dist/db/migrations/20260819_000001_custom_model_tombstones.js +19 -0
- package/dist/db/migrations/20260819_000001_custom_model_tombstones.js.map +1 -0
- package/dist/db/migrations/20260820_000001_playground_conversations.d.ts +4 -0
- package/dist/db/migrations/20260820_000001_playground_conversations.d.ts.map +1 -0
- package/dist/db/migrations/20260820_000001_playground_conversations.js +47 -0
- package/dist/db/migrations/20260820_000001_playground_conversations.js.map +1 -0
- package/dist/db/migrations/20260823_000001_server_logs.d.ts +4 -0
- package/dist/db/migrations/20260823_000001_server_logs.d.ts.map +1 -0
- package/dist/db/migrations/20260823_000001_server_logs.js +53 -0
- package/dist/db/migrations/20260823_000001_server_logs.js.map +1 -0
- package/dist/db/migrations/20260823_000002_backups_table.d.ts +8 -0
- package/dist/db/migrations/20260823_000002_backups_table.d.ts.map +1 -0
- package/dist/db/migrations/20260823_000002_backups_table.js +22 -0
- package/dist/db/migrations/20260823_000002_backups_table.js.map +1 -0
- package/dist/db/migrations/20260823_000003_attempt_key_label.d.ts +19 -0
- package/dist/db/migrations/20260823_000003_attempt_key_label.d.ts.map +1 -0
- package/dist/db/migrations/20260823_000003_attempt_key_label.js +28 -0
- package/dist/db/migrations/20260823_000003_attempt_key_label.js.map +1 -0
- package/dist/db/migrations/20260823_000004_profile_auto_include.d.ts +14 -0
- package/dist/db/migrations/20260823_000004_profile_auto_include.d.ts.map +1 -0
- package/dist/db/migrations/20260823_000004_profile_auto_include.js +25 -0
- package/dist/db/migrations/20260823_000004_profile_auto_include.js.map +1 -0
- package/dist/db/migrations/20260901_000001_idempotency_claims.d.ts +4 -0
- package/dist/db/migrations/20260901_000001_idempotency_claims.d.ts.map +1 -0
- package/dist/db/migrations/20260901_000001_idempotency_claims.js +46 -0
- package/dist/db/migrations/20260901_000001_idempotency_claims.js.map +1 -0
- package/dist/db/migrations/20260901_000002_quota_observation_lookup.d.ts +4 -0
- package/dist/db/migrations/20260901_000002_quota_observation_lookup.d.ts.map +1 -0
- package/dist/db/migrations/20260901_000002_quota_observation_lookup.js +37 -0
- package/dist/db/migrations/20260901_000002_quota_observation_lookup.js.map +1 -0
- package/dist/db/migrations/20260901_000003_request_caller.d.ts +4 -0
- package/dist/db/migrations/20260901_000003_request_caller.d.ts.map +1 -0
- package/dist/db/migrations/20260901_000003_request_caller.js +27 -0
- package/dist/db/migrations/20260901_000003_request_caller.js.map +1 -0
- package/dist/db/migrations/20260902_000001_analytics_latency_percentile_index.d.ts +4 -0
- package/dist/db/migrations/20260902_000001_analytics_latency_percentile_index.d.ts.map +1 -0
- package/dist/db/migrations/20260902_000001_analytics_latency_percentile_index.js +35 -0
- package/dist/db/migrations/20260902_000001_analytics_latency_percentile_index.js.map +1 -0
- package/dist/db/migrations/20260903_000001_mcp_enabled_default.d.ts +4 -0
- package/dist/db/migrations/20260903_000001_mcp_enabled_default.d.ts.map +1 -0
- package/dist/db/migrations/20260903_000001_mcp_enabled_default.js +37 -0
- package/dist/db/migrations/20260903_000001_mcp_enabled_default.js.map +1 -0
- package/dist/db/migrations/20260903_000002_response_cache.d.ts +4 -0
- package/dist/db/migrations/20260903_000002_response_cache.d.ts.map +1 -0
- package/dist/db/migrations/20260903_000002_response_cache.js +53 -0
- package/dist/db/migrations/20260903_000002_response_cache.js.map +1 -0
- package/dist/db/migrations/20260904_000001_key_monthly_budget.d.ts +13 -0
- package/dist/db/migrations/20260904_000001_key_monthly_budget.d.ts.map +1 -0
- package/dist/db/migrations/20260904_000001_key_monthly_budget.js +35 -0
- package/dist/db/migrations/20260904_000001_key_monthly_budget.js.map +1 -0
- package/dist/db/migrations/20260913_000001_request_model_attribution.d.ts +4 -0
- package/dist/db/migrations/20260913_000001_request_model_attribution.d.ts.map +1 -0
- package/dist/db/migrations/20260913_000001_request_model_attribution.js +68 -0
- package/dist/db/migrations/20260913_000001_request_model_attribution.js.map +1 -0
- package/dist/db/migrations/20260914_000001_key_monthly_usage.d.ts +5 -0
- package/dist/db/migrations/20260914_000001_key_monthly_usage.d.ts.map +1 -0
- package/dist/db/migrations/20260914_000001_key_monthly_usage.js +37 -0
- package/dist/db/migrations/20260914_000001_key_monthly_usage.js.map +1 -0
- package/dist/db/migrations/20260915_000001_quota_snapshot_freshness.d.ts +4 -0
- package/dist/db/migrations/20260915_000001_quota_snapshot_freshness.d.ts.map +1 -0
- package/dist/db/migrations/20260915_000001_quota_snapshot_freshness.js +28 -0
- package/dist/db/migrations/20260915_000001_quota_snapshot_freshness.js.map +1 -0
- package/dist/db/migrations/20261004_000001_unified_key_sr_prefix.d.ts +4 -0
- package/dist/db/migrations/20261004_000001_unified_key_sr_prefix.d.ts.map +1 -0
- package/dist/db/migrations/20261004_000001_unified_key_sr_prefix.js +25 -0
- package/dist/db/migrations/20261004_000001_unified_key_sr_prefix.js.map +1 -0
- package/dist/db/migrations/20261005_000001_key_budget_period.d.ts +10 -0
- package/dist/db/migrations/20261005_000001_key_budget_period.d.ts.map +1 -0
- package/dist/db/migrations/20261005_000001_key_budget_period.js +78 -0
- package/dist/db/migrations/20261005_000001_key_budget_period.js.map +1 -0
- package/dist/db/migrations/20261005_000002_key_budget_period_auto.d.ts +21 -0
- package/dist/db/migrations/20261005_000002_key_budget_period_auto.d.ts.map +1 -0
- package/dist/db/migrations/20261005_000002_key_budget_period_auto.js +41 -0
- package/dist/db/migrations/20261005_000002_key_budget_period_auto.js.map +1 -0
- package/dist/db/model-pricing.d.ts +39 -0
- package/dist/db/model-pricing.d.ts.map +1 -0
- package/dist/db/model-pricing.js +274 -0
- package/dist/db/model-pricing.js.map +1 -0
- package/dist/db/node-sqlite.d.ts +9 -0
- package/dist/db/node-sqlite.d.ts.map +1 -0
- package/dist/db/node-sqlite.js +87 -0
- package/dist/db/node-sqlite.js.map +1 -0
- package/dist/db/types.d.ts +22 -0
- package/dist/db/types.d.ts.map +1 -0
- package/dist/db/types.js +2 -0
- package/dist/db/types.js.map +1 -0
- package/dist/docs/docs-page.d.ts +2 -0
- package/dist/docs/docs-page.d.ts.map +1 -0
- package/dist/docs/docs-page.js +319 -0
- package/dist/docs/docs-page.js.map +1 -0
- package/dist/docs/openapi.d.ts +1896 -0
- package/dist/docs/openapi.d.ts.map +1 -0
- package/dist/docs/openapi.js +1096 -0
- package/dist/docs/openapi.js.map +1 -0
- package/dist/env.d.ts +2 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +9 -0
- package/dist/env.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +144 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/anthropic-documents.d.ts +41 -0
- package/dist/lib/anthropic-documents.d.ts.map +1 -0
- package/dist/lib/anthropic-documents.js +132 -0
- package/dist/lib/anthropic-documents.js.map +1 -0
- package/dist/lib/app-version.d.ts +5 -0
- package/dist/lib/app-version.d.ts.map +1 -0
- package/dist/lib/app-version.js +61 -0
- package/dist/lib/app-version.js.map +1 -0
- package/dist/lib/attempt-trace.d.ts +23 -0
- package/dist/lib/attempt-trace.d.ts.map +1 -0
- package/dist/lib/attempt-trace.js +32 -0
- package/dist/lib/attempt-trace.js.map +1 -0
- package/dist/lib/budget.d.ts +6 -0
- package/dist/lib/budget.d.ts.map +1 -0
- package/dist/lib/budget.js +40 -0
- package/dist/lib/budget.js.map +1 -0
- package/dist/lib/client-classifier.d.ts +10 -0
- package/dist/lib/client-classifier.d.ts.map +1 -0
- package/dist/lib/client-classifier.js +126 -0
- package/dist/lib/client-classifier.js.map +1 -0
- package/dist/lib/client-context.d.ts +10 -0
- package/dist/lib/client-context.d.ts.map +1 -0
- package/dist/lib/client-context.js +39 -0
- package/dist/lib/client-context.js.map +1 -0
- package/dist/lib/config.d.ts +33 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +94 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/content.d.ts +33 -0
- package/dist/lib/content.d.ts.map +1 -0
- package/dist/lib/content.js +201 -0
- package/dist/lib/content.js.map +1 -0
- package/dist/lib/credential.d.ts +11 -0
- package/dist/lib/credential.d.ts.map +1 -0
- package/dist/lib/credential.js +18 -0
- package/dist/lib/credential.js.map +1 -0
- package/dist/lib/crypto.d.ts +31 -0
- package/dist/lib/crypto.d.ts.map +1 -0
- package/dist/lib/crypto.js +206 -0
- package/dist/lib/crypto.js.map +1 -0
- package/dist/lib/custom-provider-cleanup.d.ts +13 -0
- package/dist/lib/custom-provider-cleanup.d.ts.map +1 -0
- package/dist/lib/custom-provider-cleanup.js +43 -0
- package/dist/lib/custom-provider-cleanup.js.map +1 -0
- package/dist/lib/db-backup.d.ts +31 -0
- package/dist/lib/db-backup.d.ts.map +1 -0
- package/dist/lib/db-backup.js +255 -0
- package/dist/lib/db-backup.js.map +1 -0
- package/dist/lib/endpoint-scope.d.ts +42 -0
- package/dist/lib/endpoint-scope.d.ts.map +1 -0
- package/dist/lib/endpoint-scope.js +95 -0
- package/dist/lib/endpoint-scope.js.map +1 -0
- package/dist/lib/env-drift.d.ts +17 -0
- package/dist/lib/env-drift.d.ts.map +1 -0
- package/dist/lib/env-drift.js +108 -0
- package/dist/lib/env-drift.js.map +1 -0
- package/dist/lib/error-classify.d.ts +40 -0
- package/dist/lib/error-classify.d.ts.map +1 -0
- package/dist/lib/error-classify.js +687 -0
- package/dist/lib/error-classify.js.map +1 -0
- package/dist/lib/error-redaction.d.ts +8 -0
- package/dist/lib/error-redaction.d.ts.map +1 -0
- package/dist/lib/error-redaction.js +45 -0
- package/dist/lib/error-redaction.js.map +1 -0
- package/dist/lib/fallback-loop.d.ts +306 -0
- package/dist/lib/fallback-loop.d.ts.map +1 -0
- package/dist/lib/fallback-loop.js +1336 -0
- package/dist/lib/fallback-loop.js.map +1 -0
- package/dist/lib/file-permissions.d.ts +98 -0
- package/dist/lib/file-permissions.d.ts.map +1 -0
- package/dist/lib/file-permissions.js +159 -0
- package/dist/lib/file-permissions.js.map +1 -0
- package/dist/lib/gemini-wire.d.ts +76 -0
- package/dist/lib/gemini-wire.d.ts.map +1 -0
- package/dist/lib/gemini-wire.js +392 -0
- package/dist/lib/gemini-wire.js.map +1 -0
- package/dist/lib/guardrails.d.ts +37 -0
- package/dist/lib/guardrails.d.ts.map +1 -0
- package/dist/lib/guardrails.js +106 -0
- package/dist/lib/guardrails.js.map +1 -0
- package/dist/lib/header-value.d.ts +8 -0
- package/dist/lib/header-value.d.ts.map +1 -0
- package/dist/lib/header-value.js +55 -0
- package/dist/lib/header-value.js.map +1 -0
- package/dist/lib/image-normalize.d.ts +21 -0
- package/dist/lib/image-normalize.d.ts.map +1 -0
- package/dist/lib/image-normalize.js +218 -0
- package/dist/lib/image-normalize.js.map +1 -0
- package/dist/lib/inbound-chat.d.ts +48 -0
- package/dist/lib/inbound-chat.d.ts.map +1 -0
- package/dist/lib/inbound-chat.js +406 -0
- package/dist/lib/inbound-chat.js.map +1 -0
- package/dist/lib/key-parser.d.ts +79 -0
- package/dist/lib/key-parser.d.ts.map +1 -0
- package/dist/lib/key-parser.js +701 -0
- package/dist/lib/key-parser.js.map +1 -0
- package/dist/lib/key-proxy.d.ts +49 -0
- package/dist/lib/key-proxy.d.ts.map +1 -0
- package/dist/lib/key-proxy.js +92 -0
- package/dist/lib/key-proxy.js.map +1 -0
- package/dist/lib/log-redaction.d.ts +28 -0
- package/dist/lib/log-redaction.d.ts.map +1 -0
- package/dist/lib/log-redaction.js +166 -0
- package/dist/lib/log-redaction.js.map +1 -0
- package/dist/lib/model-scope.d.ts +9 -0
- package/dist/lib/model-scope.d.ts.map +1 -0
- package/dist/lib/model-scope.js +29 -0
- package/dist/lib/model-scope.js.map +1 -0
- package/dist/lib/one-time-code.d.ts +15 -0
- package/dist/lib/one-time-code.d.ts.map +1 -0
- package/dist/lib/one-time-code.js +41 -0
- package/dist/lib/one-time-code.js.map +1 -0
- package/dist/lib/output-cap.d.ts +24 -0
- package/dist/lib/output-cap.d.ts.map +1 -0
- package/dist/lib/output-cap.js +80 -0
- package/dist/lib/output-cap.js.map +1 -0
- package/dist/lib/password.d.ts +3 -0
- package/dist/lib/password.d.ts.map +1 -0
- package/dist/lib/password.js +27 -0
- package/dist/lib/password.js.map +1 -0
- package/dist/lib/process-safety-net.d.ts +32 -0
- package/dist/lib/process-safety-net.d.ts.map +1 -0
- package/dist/lib/process-safety-net.js +123 -0
- package/dist/lib/process-safety-net.js.map +1 -0
- package/dist/lib/provider-identity.d.ts +37 -0
- package/dist/lib/provider-identity.d.ts.map +1 -0
- package/dist/lib/provider-identity.js +110 -0
- package/dist/lib/provider-identity.js.map +1 -0
- package/dist/lib/provider-size-parser.d.ts +6 -0
- package/dist/lib/provider-size-parser.d.ts.map +1 -0
- package/dist/lib/provider-size-parser.js +72 -0
- package/dist/lib/provider-size-parser.js.map +1 -0
- package/dist/lib/provider-timeout.d.ts +17 -0
- package/dist/lib/provider-timeout.d.ts.map +1 -0
- package/dist/lib/provider-timeout.js +70 -0
- package/dist/lib/provider-timeout.js.map +1 -0
- package/dist/lib/proxy.d.ts +180 -0
- package/dist/lib/proxy.d.ts.map +1 -0
- package/dist/lib/proxy.js +1002 -0
- package/dist/lib/proxy.js.map +1 -0
- package/dist/lib/request-log.d.ts +4 -0
- package/dist/lib/request-log.d.ts.map +1 -0
- package/dist/lib/request-log.js +161 -0
- package/dist/lib/request-log.js.map +1 -0
- package/dist/lib/reset-code.d.ts +5 -0
- package/dist/lib/reset-code.d.ts.map +1 -0
- package/dist/lib/reset-code.js +39 -0
- package/dist/lib/reset-code.js.map +1 -0
- package/dist/lib/retry-hint.d.ts +14 -0
- package/dist/lib/retry-hint.d.ts.map +1 -0
- package/dist/lib/retry-hint.js +36 -0
- package/dist/lib/retry-hint.js.map +1 -0
- package/dist/lib/route-live.d.ts +29 -0
- package/dist/lib/route-live.d.ts.map +1 -0
- package/dist/lib/route-live.js +97 -0
- package/dist/lib/route-live.js.map +1 -0
- package/dist/lib/sampling-params.d.ts +183 -0
- package/dist/lib/sampling-params.d.ts.map +1 -0
- package/dist/lib/sampling-params.js +386 -0
- package/dist/lib/sampling-params.js.map +1 -0
- package/dist/lib/scheduler.d.ts +13 -0
- package/dist/lib/scheduler.d.ts.map +1 -0
- package/dist/lib/scheduler.js +11 -0
- package/dist/lib/scheduler.js.map +1 -0
- package/dist/lib/served-model.d.ts +16 -0
- package/dist/lib/served-model.d.ts.map +1 -0
- package/dist/lib/served-model.js +0 -0
- package/dist/lib/served-model.js.map +1 -0
- package/dist/lib/server-logs.d.ts +132 -0
- package/dist/lib/server-logs.d.ts.map +1 -0
- package/dist/lib/server-logs.js +473 -0
- package/dist/lib/server-logs.js.map +1 -0
- package/dist/lib/setup-code.d.ts +5 -0
- package/dist/lib/setup-code.d.ts.map +1 -0
- package/dist/lib/setup-code.js +35 -0
- package/dist/lib/setup-code.js.map +1 -0
- package/dist/lib/structured-output.d.ts +9 -0
- package/dist/lib/structured-output.d.ts.map +1 -0
- package/dist/lib/structured-output.js +72 -0
- package/dist/lib/structured-output.js.map +1 -0
- package/dist/lib/system-prompt.d.ts +30 -0
- package/dist/lib/system-prompt.d.ts.map +1 -0
- package/dist/lib/system-prompt.js +66 -0
- package/dist/lib/system-prompt.js.map +1 -0
- package/dist/lib/task-type.d.ts +18 -0
- package/dist/lib/task-type.d.ts.map +1 -0
- package/dist/lib/task-type.js +92 -0
- package/dist/lib/task-type.js.map +1 -0
- package/dist/lib/think-tags.d.ts +37 -0
- package/dist/lib/think-tags.d.ts.map +1 -0
- package/dist/lib/think-tags.js +203 -0
- package/dist/lib/think-tags.js.map +1 -0
- package/dist/lib/tool-args.d.ts +36 -0
- package/dist/lib/tool-args.d.ts.map +1 -0
- package/dist/lib/tool-args.js +190 -0
- package/dist/lib/tool-args.js.map +1 -0
- package/dist/lib/tool-call-rescue.d.ts +62 -0
- package/dist/lib/tool-call-rescue.d.ts.map +1 -0
- package/dist/lib/tool-call-rescue.js +258 -0
- package/dist/lib/tool-call-rescue.js.map +1 -0
- package/dist/lib/tool-capability.d.ts +13 -0
- package/dist/lib/tool-capability.d.ts.map +1 -0
- package/dist/lib/tool-capability.js +70 -0
- package/dist/lib/tool-capability.js.map +1 -0
- package/dist/lib/tool-validate.d.ts +44 -0
- package/dist/lib/tool-validate.d.ts.map +1 -0
- package/dist/lib/tool-validate.js +165 -0
- package/dist/lib/tool-validate.js.map +1 -0
- package/dist/lib/ttfb-budget.d.ts +13 -0
- package/dist/lib/ttfb-budget.d.ts.map +1 -0
- package/dist/lib/ttfb-budget.js +153 -0
- package/dist/lib/ttfb-budget.js.map +1 -0
- package/dist/lib/url-guard.d.ts +47 -0
- package/dist/lib/url-guard.d.ts.map +1 -0
- package/dist/lib/url-guard.js +229 -0
- package/dist/lib/url-guard.js.map +1 -0
- package/dist/lib/wake-detect.d.ts +12 -0
- package/dist/lib/wake-detect.d.ts.map +1 -0
- package/dist/lib/wake-detect.js +99 -0
- package/dist/lib/wake-detect.js.map +1 -0
- package/dist/middleware/errorHandler.d.ts +3 -0
- package/dist/middleware/errorHandler.d.ts.map +1 -0
- package/dist/middleware/errorHandler.js +45 -0
- package/dist/middleware/errorHandler.js.map +1 -0
- package/dist/middleware/rateLimit.d.ts +4 -0
- package/dist/middleware/rateLimit.d.ts.map +1 -0
- package/dist/middleware/rateLimit.js +125 -0
- package/dist/middleware/rateLimit.js.map +1 -0
- package/dist/middleware/requireAuth.d.ts +3 -0
- package/dist/middleware/requireAuth.d.ts.map +1 -0
- package/dist/middleware/requireAuth.js +17 -0
- package/dist/middleware/requireAuth.js.map +1 -0
- package/dist/providers/aclide.d.ts +18 -0
- package/dist/providers/aclide.d.ts.map +1 -0
- package/dist/providers/aclide.js +174 -0
- package/dist/providers/aclide.js.map +1 -0
- package/dist/providers/aihorde.d.ts +42 -0
- package/dist/providers/aihorde.d.ts.map +1 -0
- package/dist/providers/aihorde.js +192 -0
- package/dist/providers/aihorde.js.map +1 -0
- package/dist/providers/airforce.d.ts +11 -0
- package/dist/providers/airforce.d.ts.map +1 -0
- package/dist/providers/airforce.js +32 -0
- package/dist/providers/airforce.js.map +1 -0
- package/dist/providers/base.d.ts +177 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/base.js +354 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/blaze.d.ts +11 -0
- package/dist/providers/blaze.d.ts.map +1 -0
- package/dist/providers/blaze.js +33 -0
- package/dist/providers/blaze.js.map +1 -0
- package/dist/providers/blockrun.d.ts +14 -0
- package/dist/providers/blockrun.d.ts.map +1 -0
- package/dist/providers/blockrun.js +36 -0
- package/dist/providers/blockrun.js.map +1 -0
- package/dist/providers/clod.d.ts +11 -0
- package/dist/providers/clod.d.ts.map +1 -0
- package/dist/providers/clod.js +39 -0
- package/dist/providers/clod.js.map +1 -0
- package/dist/providers/cloudflare.d.ts +15 -0
- package/dist/providers/cloudflare.d.ts.map +1 -0
- package/dist/providers/cloudflare.js +175 -0
- package/dist/providers/cloudflare.js.map +1 -0
- package/dist/providers/cohere.d.ts +11 -0
- package/dist/providers/cohere.d.ts.map +1 -0
- package/dist/providers/cohere.js +117 -0
- package/dist/providers/cohere.js.map +1 -0
- package/dist/providers/dreamprompting.d.ts +11 -0
- package/dist/providers/dreamprompting.d.ts.map +1 -0
- package/dist/providers/dreamprompting.js +41 -0
- package/dist/providers/dreamprompting.js.map +1 -0
- package/dist/providers/electronhub.d.ts +10 -0
- package/dist/providers/electronhub.d.ts.map +1 -0
- package/dist/providers/electronhub.js +56 -0
- package/dist/providers/electronhub.js.map +1 -0
- package/dist/providers/experiential.d.ts +10 -0
- package/dist/providers/experiential.d.ts.map +1 -0
- package/dist/providers/experiential.js +33 -0
- package/dist/providers/experiential.js.map +1 -0
- package/dist/providers/gizmo.d.ts +15 -0
- package/dist/providers/gizmo.d.ts.map +1 -0
- package/dist/providers/gizmo.js +54 -0
- package/dist/providers/gizmo.js.map +1 -0
- package/dist/providers/google.d.ts +30 -0
- package/dist/providers/google.d.ts.map +1 -0
- package/dist/providers/google.js +766 -0
- package/dist/providers/google.js.map +1 -0
- package/dist/providers/index.d.ts +13 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +561 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/llmtr.d.ts +15 -0
- package/dist/providers/llmtr.d.ts.map +1 -0
- package/dist/providers/llmtr.js +51 -0
- package/dist/providers/llmtr.js.map +1 -0
- package/dist/providers/logfare.d.ts +11 -0
- package/dist/providers/logfare.d.ts.map +1 -0
- package/dist/providers/logfare.js +33 -0
- package/dist/providers/logfare.js.map +1 -0
- package/dist/providers/lucidity.d.ts +11 -0
- package/dist/providers/lucidity.d.ts.map +1 -0
- package/dist/providers/lucidity.js +37 -0
- package/dist/providers/lucidity.js.map +1 -0
- package/dist/providers/modelscope.d.ts +50 -0
- package/dist/providers/modelscope.d.ts.map +1 -0
- package/dist/providers/modelscope.js +143 -0
- package/dist/providers/modelscope.js.map +1 -0
- package/dist/providers/moondream.d.ts +17 -0
- package/dist/providers/moondream.d.ts.map +1 -0
- package/dist/providers/moondream.js +140 -0
- package/dist/providers/moondream.js.map +1 -0
- package/dist/providers/openai-compat.d.ts +140 -0
- package/dist/providers/openai-compat.d.ts.map +1 -0
- package/dist/providers/openai-compat.js +537 -0
- package/dist/providers/openai-compat.js.map +1 -0
- package/dist/providers/opencode-free.d.ts +24 -0
- package/dist/providers/opencode-free.d.ts.map +1 -0
- package/dist/providers/opencode-free.js +262 -0
- package/dist/providers/opencode-free.js.map +1 -0
- package/dist/providers/pollinations.d.ts +32 -0
- package/dist/providers/pollinations.d.ts.map +1 -0
- package/dist/providers/pollinations.js +65 -0
- package/dist/providers/pollinations.js.map +1 -0
- package/dist/providers/router9.d.ts +16 -0
- package/dist/providers/router9.d.ts.map +1 -0
- package/dist/providers/router9.js +42 -0
- package/dist/providers/router9.js.map +1 -0
- package/dist/providers/sail.d.ts +44 -0
- package/dist/providers/sail.d.ts.map +1 -0
- package/dist/providers/sail.js +302 -0
- package/dist/providers/sail.js.map +1 -0
- package/dist/providers/septor.d.ts +10 -0
- package/dist/providers/septor.d.ts.map +1 -0
- package/dist/providers/septor.js +36 -0
- package/dist/providers/septor.js.map +1 -0
- package/dist/providers/speechify.d.ts +14 -0
- package/dist/providers/speechify.d.ts.map +1 -0
- package/dist/providers/speechify.js +28 -0
- package/dist/providers/speechify.js.map +1 -0
- package/dist/providers/speka.d.ts +12 -0
- package/dist/providers/speka.d.ts.map +1 -0
- package/dist/providers/speka.js +37 -0
- package/dist/providers/speka.js.map +1 -0
- package/dist/providers/waterfall.d.ts +11 -0
- package/dist/providers/waterfall.d.ts.map +1 -0
- package/dist/providers/waterfall.js +33 -0
- package/dist/providers/waterfall.js.map +1 -0
- package/dist/providers/xkiro.d.ts +71 -0
- package/dist/providers/xkiro.d.ts.map +1 -0
- package/dist/providers/xkiro.js +119 -0
- package/dist/providers/xkiro.js.map +1 -0
- package/dist/providers/zhipu.d.ts +43 -0
- package/dist/providers/zhipu.d.ts.map +1 -0
- package/dist/providers/zhipu.js +95 -0
- package/dist/providers/zhipu.js.map +1 -0
- package/dist/routes/analytics.d.ts +2 -0
- package/dist/routes/analytics.d.ts.map +1 -0
- package/dist/routes/analytics.js +738 -0
- package/dist/routes/analytics.js.map +1 -0
- package/dist/routes/anthropic.d.ts +7 -0
- package/dist/routes/anthropic.d.ts.map +1 -0
- package/dist/routes/anthropic.js +1076 -0
- package/dist/routes/anthropic.js.map +1 -0
- package/dist/routes/auth.d.ts +2 -0
- package/dist/routes/auth.d.ts.map +1 -0
- package/dist/routes/auth.js +310 -0
- package/dist/routes/auth.js.map +1 -0
- package/dist/routes/backups.d.ts +2 -0
- package/dist/routes/backups.d.ts.map +1 -0
- package/dist/routes/backups.js +127 -0
- package/dist/routes/backups.js.map +1 -0
- package/dist/routes/cache.d.ts +2 -0
- package/dist/routes/cache.d.ts.map +1 -0
- package/dist/routes/cache.js +40 -0
- package/dist/routes/cache.js.map +1 -0
- package/dist/routes/client-profiles.d.ts +2 -0
- package/dist/routes/client-profiles.d.ts.map +1 -0
- package/dist/routes/client-profiles.js +128 -0
- package/dist/routes/client-profiles.js.map +1 -0
- package/dist/routes/compression.d.ts +2 -0
- package/dist/routes/compression.d.ts.map +1 -0
- package/dist/routes/compression.js +82 -0
- package/dist/routes/compression.js.map +1 -0
- package/dist/routes/conversations.d.ts +3 -0
- package/dist/routes/conversations.d.ts.map +1 -0
- package/dist/routes/conversations.js +215 -0
- package/dist/routes/conversations.js.map +1 -0
- package/dist/routes/docs.d.ts +2 -0
- package/dist/routes/docs.d.ts.map +1 -0
- package/dist/routes/docs.js +21 -0
- package/dist/routes/docs.js.map +1 -0
- package/dist/routes/embeddings.d.ts +2 -0
- package/dist/routes/embeddings.d.ts.map +1 -0
- package/dist/routes/embeddings.js +255 -0
- package/dist/routes/embeddings.js.map +1 -0
- package/dist/routes/fallback.d.ts +2 -0
- package/dist/routes/fallback.d.ts.map +1 -0
- package/dist/routes/fallback.js +631 -0
- package/dist/routes/fallback.js.map +1 -0
- package/dist/routes/free-tier.d.ts +22 -0
- package/dist/routes/free-tier.d.ts.map +1 -0
- package/dist/routes/free-tier.js +175 -0
- package/dist/routes/free-tier.js.map +1 -0
- package/dist/routes/gemini.d.ts +2 -0
- package/dist/routes/gemini.d.ts.map +1 -0
- package/dist/routes/gemini.js +218 -0
- package/dist/routes/gemini.js.map +1 -0
- package/dist/routes/health.d.ts +2 -0
- package/dist/routes/health.d.ts.map +1 -0
- package/dist/routes/health.js +72 -0
- package/dist/routes/health.js.map +1 -0
- package/dist/routes/keys.d.ts +17 -0
- package/dist/routes/keys.d.ts.map +1 -0
- package/dist/routes/keys.js +1787 -0
- package/dist/routes/keys.js.map +1 -0
- package/dist/routes/logs.d.ts +2 -0
- package/dist/routes/logs.d.ts.map +1 -0
- package/dist/routes/logs.js +88 -0
- package/dist/routes/logs.js.map +1 -0
- package/dist/routes/mcp.d.ts +4 -0
- package/dist/routes/mcp.d.ts.map +1 -0
- package/dist/routes/mcp.js +563 -0
- package/dist/routes/mcp.js.map +1 -0
- package/dist/routes/media.d.ts +2 -0
- package/dist/routes/media.d.ts.map +1 -0
- package/dist/routes/media.js +180 -0
- package/dist/routes/media.js.map +1 -0
- package/dist/routes/models.d.ts +2 -0
- package/dist/routes/models.d.ts.map +1 -0
- package/dist/routes/models.js +439 -0
- package/dist/routes/models.js.map +1 -0
- package/dist/routes/ollama.d.ts +7 -0
- package/dist/routes/ollama.d.ts.map +1 -0
- package/dist/routes/ollama.js +595 -0
- package/dist/routes/ollama.js.map +1 -0
- package/dist/routes/profiles.d.ts +3 -0
- package/dist/routes/profiles.d.ts.map +1 -0
- package/dist/routes/profiles.js +431 -0
- package/dist/routes/profiles.js.map +1 -0
- package/dist/routes/proxy.d.ts +32 -0
- package/dist/routes/proxy.d.ts.map +1 -0
- package/dist/routes/proxy.js +2793 -0
- package/dist/routes/proxy.js.map +1 -0
- package/dist/routes/responses.d.ts +1161 -0
- package/dist/routes/responses.d.ts.map +1 -0
- package/dist/routes/responses.js +1521 -0
- package/dist/routes/responses.js.map +1 -0
- package/dist/routes/settings.d.ts +2 -0
- package/dist/routes/settings.d.ts.map +1 -0
- package/dist/routes/settings.js +549 -0
- package/dist/routes/settings.js.map +1 -0
- package/dist/routes/status.d.ts +3 -0
- package/dist/routes/status.d.ts.map +1 -0
- package/dist/routes/status.js +214 -0
- package/dist/routes/status.js.map +1 -0
- package/dist/routes/update.d.ts +31 -0
- package/dist/routes/update.d.ts.map +1 -0
- package/dist/routes/update.js +536 -0
- package/dist/routes/update.js.map +1 -0
- package/dist/routes/url-tokens.d.ts +2 -0
- package/dist/routes/url-tokens.d.ts.map +1 -0
- package/dist/routes/url-tokens.js +31 -0
- package/dist/routes/url-tokens.js.map +1 -0
- package/dist/scripts/export-catalog.d.ts +2 -0
- package/dist/scripts/export-catalog.d.ts.map +1 -0
- package/dist/scripts/export-catalog.js +114 -0
- package/dist/scripts/export-catalog.js.map +1 -0
- package/dist/scripts/rotate-encryption-key.d.ts +81 -0
- package/dist/scripts/rotate-encryption-key.d.ts.map +1 -0
- package/dist/scripts/rotate-encryption-key.js +232 -0
- package/dist/scripts/rotate-encryption-key.js.map +1 -0
- package/dist/scripts/routing-sim.d.ts +2 -0
- package/dist/scripts/routing-sim.d.ts.map +1 -0
- package/dist/scripts/routing-sim.js +130 -0
- package/dist/scripts/routing-sim.js.map +1 -0
- package/dist/scripts/test-all-models.d.ts +2 -0
- package/dist/scripts/test-all-models.d.ts.map +1 -0
- package/dist/scripts/test-all-models.js +56 -0
- package/dist/scripts/test-all-models.js.map +1 -0
- package/dist/services/anthropic-map.d.ts +39 -0
- package/dist/services/anthropic-map.d.ts.map +1 -0
- package/dist/services/anthropic-map.js +138 -0
- package/dist/services/anthropic-map.js.map +1 -0
- package/dist/services/auth.d.ts +30 -0
- package/dist/services/auth.d.ts.map +1 -0
- package/dist/services/auth.js +124 -0
- package/dist/services/auth.js.map +1 -0
- package/dist/services/auto-discover.d.ts +77 -0
- package/dist/services/auto-discover.d.ts.map +1 -0
- package/dist/services/auto-discover.js +1047 -0
- package/dist/services/auto-discover.js.map +1 -0
- package/dist/services/backups.d.ts +67 -0
- package/dist/services/backups.d.ts.map +1 -0
- package/dist/services/backups.js +444 -0
- package/dist/services/backups.js.map +1 -0
- package/dist/services/builtin-model-discovery.d.ts +107 -0
- package/dist/services/builtin-model-discovery.d.ts.map +1 -0
- package/dist/services/builtin-model-discovery.js +296 -0
- package/dist/services/builtin-model-discovery.js.map +1 -0
- package/dist/services/cache.d.ts +190 -0
- package/dist/services/cache.d.ts.map +1 -0
- package/dist/services/cache.js +617 -0
- package/dist/services/cache.js.map +1 -0
- package/dist/services/catalog-sync.d.ts +257 -0
- package/dist/services/catalog-sync.d.ts.map +1 -0
- package/dist/services/catalog-sync.js +1041 -0
- package/dist/services/catalog-sync.js.map +1 -0
- package/dist/services/compression/config.d.ts +33 -0
- package/dist/services/compression/config.d.ts.map +1 -0
- package/dist/services/compression/config.js +158 -0
- package/dist/services/compression/config.js.map +1 -0
- package/dist/services/compression/engines/aging.d.ts +2 -0
- package/dist/services/compression/engines/aging.d.ts.map +1 -0
- package/dist/services/compression/engines/aging.js +53 -0
- package/dist/services/compression/engines/aging.js.map +1 -0
- package/dist/services/compression/engines/custom-filters.d.ts +4 -0
- package/dist/services/compression/engines/custom-filters.d.ts.map +1 -0
- package/dist/services/compression/engines/custom-filters.js +49 -0
- package/dist/services/compression/engines/custom-filters.js.map +1 -0
- package/dist/services/compression/engines/dedup.d.ts +2 -0
- package/dist/services/compression/engines/dedup.d.ts.map +1 -0
- package/dist/services/compression/engines/dedup.js +61 -0
- package/dist/services/compression/engines/dedup.js.map +1 -0
- package/dist/services/compression/engines/filter-definitions.d.ts +75 -0
- package/dist/services/compression/engines/filter-definitions.d.ts.map +1 -0
- package/dist/services/compression/engines/filter-definitions.js +45 -0
- package/dist/services/compression/engines/filter-definitions.js.map +1 -0
- package/dist/services/compression/engines/hard-budget.d.ts +2 -0
- package/dist/services/compression/engines/hard-budget.d.ts.map +1 -0
- package/dist/services/compression/engines/hard-budget.js +52 -0
- package/dist/services/compression/engines/hard-budget.js.map +1 -0
- package/dist/services/compression/engines/index.d.ts +9 -0
- package/dist/services/compression/engines/index.d.ts.map +1 -0
- package/dist/services/compression/engines/index.js +9 -0
- package/dist/services/compression/engines/index.js.map +1 -0
- package/dist/services/compression/engines/jsoncompact.d.ts +3 -0
- package/dist/services/compression/engines/jsoncompact.d.ts.map +1 -0
- package/dist/services/compression/engines/jsoncompact.js +145 -0
- package/dist/services/compression/engines/jsoncompact.js.map +1 -0
- package/dist/services/compression/engines/lite.d.ts +2 -0
- package/dist/services/compression/engines/lite.d.ts.map +1 -0
- package/dist/services/compression/engines/lite.js +34 -0
- package/dist/services/compression/engines/lite.js.map +1 -0
- package/dist/services/compression/engines/read-lifecycle.d.ts +2 -0
- package/dist/services/compression/engines/read-lifecycle.d.ts.map +1 -0
- package/dist/services/compression/engines/read-lifecycle.js +70 -0
- package/dist/services/compression/engines/read-lifecycle.js.map +1 -0
- package/dist/services/compression/engines/relevance.d.ts +2 -0
- package/dist/services/compression/engines/relevance.d.ts.map +1 -0
- package/dist/services/compression/engines/relevance.js +74 -0
- package/dist/services/compression/engines/relevance.js.map +1 -0
- package/dist/services/compression/engines/toolfilter.d.ts +2 -0
- package/dist/services/compression/engines/toolfilter.d.ts.map +1 -0
- package/dist/services/compression/engines/toolfilter.js +195 -0
- package/dist/services/compression/engines/toolfilter.js.map +1 -0
- package/dist/services/compression/fidelity-gate.d.ts +12 -0
- package/dist/services/compression/fidelity-gate.d.ts.map +1 -0
- package/dist/services/compression/fidelity-gate.js +90 -0
- package/dist/services/compression/fidelity-gate.js.map +1 -0
- package/dist/services/compression/helpers.d.ts +9 -0
- package/dist/services/compression/helpers.d.ts.map +1 -0
- package/dist/services/compression/helpers.js +52 -0
- package/dist/services/compression/helpers.js.map +1 -0
- package/dist/services/compression/pipeline.d.ts +7 -0
- package/dist/services/compression/pipeline.d.ts.map +1 -0
- package/dist/services/compression/pipeline.js +245 -0
- package/dist/services/compression/pipeline.js.map +1 -0
- package/dist/services/compression/preservation.d.ts +27 -0
- package/dist/services/compression/preservation.d.ts.map +1 -0
- package/dist/services/compression/preservation.js +109 -0
- package/dist/services/compression/preservation.js.map +1 -0
- package/dist/services/compression/registry.d.ts +6 -0
- package/dist/services/compression/registry.d.ts.map +1 -0
- package/dist/services/compression/registry.js +16 -0
- package/dist/services/compression/registry.js.map +1 -0
- package/dist/services/compression/stats.d.ts +29 -0
- package/dist/services/compression/stats.d.ts.map +1 -0
- package/dist/services/compression/stats.js +55 -0
- package/dist/services/compression/stats.js.map +1 -0
- package/dist/services/compression/types.d.ts +90 -0
- package/dist/services/compression/types.d.ts.map +1 -0
- package/dist/services/compression/types.js +2 -0
- package/dist/services/compression/types.js.map +1 -0
- package/dist/services/context-handoff.d.ts +22 -0
- package/dist/services/context-handoff.d.ts.map +1 -0
- package/dist/services/context-handoff.js +164 -0
- package/dist/services/context-handoff.js.map +1 -0
- package/dist/services/cooldown-probe.d.ts +24 -0
- package/dist/services/cooldown-probe.d.ts.map +1 -0
- package/dist/services/cooldown-probe.js +181 -0
- package/dist/services/cooldown-probe.js.map +1 -0
- package/dist/services/custom-endpoint.d.ts +58 -0
- package/dist/services/custom-endpoint.d.ts.map +1 -0
- package/dist/services/custom-endpoint.js +167 -0
- package/dist/services/custom-endpoint.js.map +1 -0
- package/dist/services/custom-media-register.d.ts +22 -0
- package/dist/services/custom-media-register.d.ts.map +1 -0
- package/dist/services/custom-media-register.js +45 -0
- package/dist/services/custom-media-register.js.map +1 -0
- package/dist/services/custom-model-register.d.ts +50 -0
- package/dist/services/custom-model-register.d.ts.map +1 -0
- package/dist/services/custom-model-register.js +103 -0
- package/dist/services/custom-model-register.js.map +1 -0
- package/dist/services/custom-model-seed.d.ts +18 -0
- package/dist/services/custom-model-seed.d.ts.map +1 -0
- package/dist/services/custom-model-seed.js +42 -0
- package/dist/services/custom-model-seed.js.map +1 -0
- package/dist/services/custom-model-sync.d.ts +37 -0
- package/dist/services/custom-model-sync.d.ts.map +1 -0
- package/dist/services/custom-model-sync.js +118 -0
- package/dist/services/custom-model-sync.js.map +1 -0
- package/dist/services/custom-model-tombstone.d.ts +5 -0
- package/dist/services/custom-model-tombstone.d.ts.map +1 -0
- package/dist/services/custom-model-tombstone.js +30 -0
- package/dist/services/custom-model-tombstone.js.map +1 -0
- package/dist/services/declarative-config.d.ts +356 -0
- package/dist/services/declarative-config.d.ts.map +1 -0
- package/dist/services/declarative-config.js +427 -0
- package/dist/services/declarative-config.js.map +1 -0
- package/dist/services/degradation.d.ts +40 -0
- package/dist/services/degradation.d.ts.map +1 -0
- package/dist/services/degradation.js +119 -0
- package/dist/services/degradation.js.map +1 -0
- package/dist/services/embeddings.d.ts +76 -0
- package/dist/services/embeddings.d.ts.map +1 -0
- package/dist/services/embeddings.js +319 -0
- package/dist/services/embeddings.js.map +1 -0
- package/dist/services/fusion.d.ts +162 -0
- package/dist/services/fusion.d.ts.map +1 -0
- package/dist/services/fusion.js +789 -0
- package/dist/services/fusion.js.map +1 -0
- package/dist/services/gemini-map.d.ts +14 -0
- package/dist/services/gemini-map.d.ts.map +1 -0
- package/dist/services/gemini-map.js +78 -0
- package/dist/services/gemini-map.js.map +1 -0
- package/dist/services/health.d.ts +52 -0
- package/dist/services/health.d.ts.map +1 -0
- package/dist/services/health.js +352 -0
- package/dist/services/health.js.map +1 -0
- package/dist/services/idempotency.d.ts +49 -0
- package/dist/services/idempotency.d.ts.map +1 -0
- package/dist/services/idempotency.js +140 -0
- package/dist/services/idempotency.js.map +1 -0
- package/dist/services/key-budget.d.ts +74 -0
- package/dist/services/key-budget.d.ts.map +1 -0
- package/dist/services/key-budget.js +200 -0
- package/dist/services/key-budget.js.map +1 -0
- package/dist/services/media.d.ts +123 -0
- package/dist/services/media.d.ts.map +1 -0
- package/dist/services/media.js +954 -0
- package/dist/services/media.js.map +1 -0
- package/dist/services/model-discovery.d.ts +126 -0
- package/dist/services/model-discovery.d.ts.map +1 -0
- package/dist/services/model-discovery.js +662 -0
- package/dist/services/model-discovery.js.map +1 -0
- package/dist/services/model-groups.d.ts +149 -0
- package/dist/services/model-groups.d.ts.map +1 -0
- package/dist/services/model-groups.js +314 -0
- package/dist/services/model-groups.js.map +1 -0
- package/dist/services/model-listing.d.ts +18 -0
- package/dist/services/model-listing.d.ts.map +1 -0
- package/dist/services/model-listing.js +94 -0
- package/dist/services/model-listing.js.map +1 -0
- package/dist/services/model-retirement.d.ts +29 -0
- package/dist/services/model-retirement.d.ts.map +1 -0
- package/dist/services/model-retirement.js +86 -0
- package/dist/services/model-retirement.js.map +1 -0
- package/dist/services/model-state.d.ts +90 -0
- package/dist/services/model-state.d.ts.map +1 -0
- package/dist/services/model-state.js +342 -0
- package/dist/services/model-state.js.map +1 -0
- package/dist/services/model-weight-overrides.d.ts +48 -0
- package/dist/services/model-weight-overrides.d.ts.map +1 -0
- package/dist/services/model-weight-overrides.js +127 -0
- package/dist/services/model-weight-overrides.js.map +1 -0
- package/dist/services/notification-emitter.d.ts +50 -0
- package/dist/services/notification-emitter.d.ts.map +1 -0
- package/dist/services/notification-emitter.js +177 -0
- package/dist/services/notification-emitter.js.map +1 -0
- package/dist/services/opencode-free-sync.d.ts +29 -0
- package/dist/services/opencode-free-sync.d.ts.map +1 -0
- package/dist/services/opencode-free-sync.js +206 -0
- package/dist/services/opencode-free-sync.js.map +1 -0
- package/dist/services/penalty-inspector.d.ts +56 -0
- package/dist/services/penalty-inspector.d.ts.map +1 -0
- package/dist/services/penalty-inspector.js +167 -0
- package/dist/services/penalty-inspector.js.map +1 -0
- package/dist/services/profile-models.d.ts +5 -0
- package/dist/services/profile-models.d.ts.map +1 -0
- package/dist/services/profile-models.js +62 -0
- package/dist/services/profile-models.js.map +1 -0
- package/dist/services/provider-credential.d.ts +19 -0
- package/dist/services/provider-credential.d.ts.map +1 -0
- package/dist/services/provider-credential.js +51 -0
- package/dist/services/provider-credential.js.map +1 -0
- package/dist/services/provider-quota.d.ts +64 -0
- package/dist/services/provider-quota.d.ts.map +1 -0
- package/dist/services/provider-quota.js +563 -0
- package/dist/services/provider-quota.js.map +1 -0
- package/dist/services/quirks.d.ts +0 -0
- package/dist/services/quirks.d.ts.map +1 -0
- package/dist/services/quirks.js +0 -0
- package/dist/services/quirks.js.map +1 -0
- package/dist/services/quota-forecast.d.ts +50 -0
- package/dist/services/quota-forecast.d.ts.map +1 -0
- package/dist/services/quota-forecast.js +150 -0
- package/dist/services/quota-forecast.js.map +1 -0
- package/dist/services/quota-outlook.d.ts +4 -0
- package/dist/services/quota-outlook.d.ts.map +1 -0
- package/dist/services/quota-outlook.js +92 -0
- package/dist/services/quota-outlook.js.map +1 -0
- package/dist/services/ratelimit.d.ts +249 -0
- package/dist/services/ratelimit.d.ts.map +1 -0
- package/dist/services/ratelimit.js +1182 -0
- package/dist/services/ratelimit.js.map +1 -0
- package/dist/services/request-retention.d.ts +60 -0
- package/dist/services/request-retention.d.ts.map +1 -0
- package/dist/services/request-retention.js +229 -0
- package/dist/services/request-retention.js.map +1 -0
- package/dist/services/router.d.ts +384 -0
- package/dist/services/router.d.ts.map +1 -0
- package/dist/services/router.js +1986 -0
- package/dist/services/router.js.map +1 -0
- package/dist/services/scoring.d.ts +156 -0
- package/dist/services/scoring.d.ts.map +1 -0
- package/dist/services/scoring.js +435 -0
- package/dist/services/scoring.js.map +1 -0
- package/dist/services/url-tokens.d.ts +15 -0
- package/dist/services/url-tokens.d.ts.map +1 -0
- package/dist/services/url-tokens.js +55 -0
- package/dist/services/url-tokens.js.map +1 -0
- package/package.json +77 -4
- package/README.md +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={nav:{models:`Модели`,playground:`Детска площадка`,keys:`Ключове`,analytics:`Аналитика`,premium:`Премиум`,upgrade:`Ъпгрейд`,settings:`Настройки`,signOut:`Излез`,openMenu:`Отвори навигационното меню`,switchLight:`Превключване към светлинна тема`,switchDark:`Премини към тъмна тема`,switchToChinese:`Преход към китайски`,switchToEnglish:`Преход към английски`,modelsMenu:`Видове модели за разглеждане`,agents:`Агенти`,logs:`Логове`,analyticsMenu:`Страници с аналитика`,notifications:`Notifications`,noNotifications:`No notifications yet`},auth:{createYourAccount:`Създайте свой акаунт`,signIn:`Вход`,email:`Имейл`,password:`Парола`,emailPlaceholder:`you@example.com`,passwordPlaceholderSetup:`поне 8 персонажа`,passwordPlaceholderLogin:`Твоята парола`,setupDescription:`Задайте имейла и паролата, които ще защитят това табло.`,loginDescription:`Влезте, за да управлявате ключовете, маршрутизацията и анализите си.`,createAccount:`Създайте акаунт`,creating:`Създавам...`,signingIn:`Влизам...`,loading:`Зареждане...`,newPasswordAutoComplete:`new-password`,currentPasswordAutoComplete:`current-password`,serverUnreachableBefore:`Не мога да се свържа със сървъра. Увери се, че бекендът работи (`,serverUnreachableAfter:`).`,setupCode:`Код за настройка`,setupCodePlaceholder:`код от логовете на сървъра`,setupCodeHint:`Настройката от друго устройство изисква еднократния код, отпечатан в логовете на сървъра при стартиране.`,changePassword:`Смяна на паролата`,changeEmail:`Смяна на имейла`,forgotPassword:`Забравена парола?`,currentPassword:`Текуща парола`,newPassword:`Нова парола`,newEmail:`Нов имейл`,resetCode:`Код за нулиране`,resetCodePlaceholder:`код от логовете на сървъра`,resetCodeHint:`Кодът е в лога на сървъра. Никога не се изпраща по имейл.`,forgotPasswordDescription:`Натиснете бутона по-долу, за да генерирате код за нулиране. Кодът се записва в лога на сървъра и никога не се изпраща по имейл. Въведете го тук, за да зададете нова парола.`,requestResetCode:`Изпрати код`,requestingResetCode:`Изпращане…`,resetPassword:`Нулиране на паролата`,resettingPassword:`Нулиране…`,changingPassword:`Смяна…`,changingEmail:`Смяна…`,backToLogin:`Назад към входа`,passwordChanged:`Паролата е сменена.`,emailChanged:`Имейлът е сменен.`,passwordReset:`Паролата е нулирана. Влезте отново.`,resetCodeDockerHint:`Работите в Docker? Кодът е в лога на контейнера: docker logs <container>.`,desktopSessionFailed:`Таблото не успя да влезе в локалния сървър. Затворете SRouter и го отворете отново.`},common:{save:`Запази`,saving:`Спасявам...`,cancel:`Отмени`,discard:`Изхвърляне`,delete:`Изтрий`,confirm:`Потвърдете`,copy:`Прието.`,copied:`Копирано`,copyFailed:`Копирането не бе успешно — маркирайте текста и го копирайте ръчно`,show:`Шоу`,hide:`Скрий се`,apply:`Кандидатствайте`,applied:`Приложени`,applying:`Кандидатствам...`,active:`Активна`,inactive:`Неактивен`,never:`Никога`,loading:`Зареждане...`,error:`Грешка`,noData:`Все още няма данни`,unsavedChanges:`Незапазени промени`,saveChanges:`Промени в запазването`,remove:`Премахване`,unknownError:`Неизвестна грешка`,model:`Модел`,provider:`Доставчик`,success:`Успех`,failures:`Провали`,dismiss:`Освободете се`,status:`Статус`},settings:{title:`Настройки`,language:`Език`,theme:`Тема`,themeSystem:`Система`,themeLight:`Светла`,themeDark:`Тъмна`,searchLanguage:`Търсене на езици…`,noLanguages:`Няма намерени езици`,sections:`Раздели с настройки`,sectionGeneral:`Общи`,sectionCompression:`Компресия`,sectionAdvanced:`Разширени`,sectionPreview:`Преглед`,generalDescription:`Език и външен вид на този панел.`,advancedDescription:`Прагове и предпазители на веригата за компресия.`,compressionTitle:`Компресия на промпта`,compressionDescription:`Намалете размера на заявката преди маршрутизиране, като запазите код, грешки, пътища, числа и дефиниции на инструменти.`,compressionHelp:`Пренаписва всяка заявка, преди да бъде изпратена към доставчик, за да използва по-малко жетони. Кодът, грешките, файловите пътища и числата са защитени, а всяко пренаписване, което ги поврежда, се отхвърля.`,compressionMode:`Режим`,compressionModeHelp:`„Изкл.“ изпраща заявките без промяна. „Без загуби“ премахва само повтарящия се и излишен текст. „Стандартно“ съкращава и изхода на инструментите. „Агресивно“ допълнително уплътнява по-старите реплики.`,compressionOff:`Изкл.`,compressionLossless:`Без загуби`,compressionStandard:`Стандартно`,compressionAggressive:`Агресивно`,compressionLossy:`Със загуби`,compressionEngines:`Механизми`,compressionEnginesHelp:`Всеки механизъм е една стъпка на пренаписване. Режимът определя кои механизми се изпълняват; изключен тук механизъм не работи в нито един режим.`,engineDedup:`Повтарящи се блокове`,engineDedupHelp:`Заменя блок текст, който вече се е появявал по-рано в разговора, с кратка препратка към него.`,engineLite:`Почистване на празните знаци`,engineLiteHelp:`Премахва интервалите в края на редовете, слива повтарящите се празни редове и изхвърля дублираните системни съобщения.`,engineReadLifecycle:`Остарели прочитания на файлове`,engineReadLifecycleHelp:`Заменя по-ранно прочитане на файл с бележка, щом същият файл бъде прочетен или редактиран отново по-късно.`,engineToolfilter:`Филтър за изхода на инструментите`,engineToolfilterHelp:`Съкращава изхода на команди и инструменти като компилации, тестове и инсталации. Редовете с грешки и следи от стека винаги се запазват.`,engineJsoncompact:`JSON таблици`,engineJsoncompactHelp:`Прекодира дълги JSON масиви с еднакви полета като компактна таблица. Обратимо е, така че нищо не се губи.`,engineRelevance:`Филтър за релевантност`,engineRelevanceHelp:`Изхвърля изреченията, най-слабо свързани с последното съобщение, когато съобщението надхвърли бюджета си за размер.`,engineAging:`По-стари реплики`,engineAgingHelp:`Уплътнява репликите извън последните няколко в кратко резюме, което запазва пътищата, грешките и решенията.`,engineHardBudget:`Таван на жетоните`,engineHardBudgetHelp:`Премахва най-малко ценните редове, докато заявката се побере в целевия брой жетони.`,compressionAutoTrigger:`Автоматично задействане над прогнозния брой жетони`,compressionAutoTriggerHelp:`Заявки с прогноза над този брой жетони автоматично преминават към „Агресивно“. Оставете празно, за да изключите.`,compressionPrefixFreeze:`Замразяване на повтарящи се префикси на промпта`,compressionPrefixFreezeHelp:`Оставя системния промпт непроменен, щом същият текст бъде видян три пъти, за да продължи да работи кеширането на промптове от страна на доставчика.`,compressionTrustProjectFilters:`Доверяване на файловете с филтри на проекта`,compressionTrustProjectFiltersHelp:`Зарежда филтри за изхода на инструментите и от работната директория. Изключено по подразбиране, защото хранилище би могло така да скрие изход от модела.`,compressionStats:`Спестен размер`,compressionEstimatedTokensSaved:`Прогнозно спестени жетони`,compressionPreview:`Преглед на живо`,compressionPreviewDescription:`Прекарайте тяло на заявка през веригата, за да видите какво би получил доставчикът.`,compressionPreviewPlaceholder:`Поставете JSON на заявка или обикновен текст`,compressionRunPreview:`Изпълни преглед`,updatesTitle:`Актуализации`,checkForUpdates:`Проверете за актуализации`,lastChecked:`Последна проверка: {when}`,currentVersion:`Текуща компилация:`,updateAvailable:`Налична е актуализация`,changelog:`Какво се промени`,upToDate:`Актуална версия`,buildAhead:`Тази компилация е пред официалния клон main.`,buildDiverged:`Тази компилация се е отклонила от официалния клон main.`,buildUnknown:`Тази персонализирана компилация не може да бъде сравнена с официалния клон main.`,notGitInstall:`Тази инсталация не съдържа информация за commit.`,checkFailed:`Актуализациите не можаха да бъдат проверени.`,contactsGithub:`Проверките се стартират ръчно и се свързват с GitHub.`,autoUpdateCheck:`Автоматична проверка за актуализации`,autoUpdateCheckHelp:`Проверява GitHub веднъж дневно за ново издание и показва напомняне. По подразбиране е изключено.`,openReleases:`Отвори изданията в GitHub`,restartAfterUpdate:`Рестартирайте SRouter след завършване на компилацията.`,syncSchedule:`Model Sync`,syncScheduleHint:`How often the model catalog is refreshed from the server`,syncIntervalOff:`Off`,syncInterval6h:`Every 6h`,syncInterval12h:`Every 12h`,syncInterval24h:`Every 24h`},models:{title:`Модели`,chatModelsTab:`Модели за чат`,fusionTab:`Сливане`,embeddingsTab:`Вграждания`,imageTab:`Изображение`,videoTab:`Video`,audioTab:`Аудио`,imageDesc:`Модели за генериране на текст в изображение.`,videoDesc:`Text-to-video generation models.`,audioDesc:`Модели текст в реч и реч в текст.`,mediaHint:`Генерирай чрез`,mediaEmpty:`Все още няма модели. Синхронизират се от каталога.`,ttsHeading:`Текст в реч`,sttHeading:`Преобразуване на реч в текст`,sttHint:`Транскрибирайте чрез`,sttEmpty:`Все още няма модели за преобразуване на реч в текст. Синхронизират се от каталога.`,newBadge:`Ново`,monthlyTokenBudget:`Месечен бюджет за жетони`,remaining:`Останали`,used:`Употребявана`,usedScopeHint:`Chat requests only, since the start of this calendar month, summed over every model in the active chain — custom endpoints included. Traffic you send to a provider outside SRouter is not counted.`,legendRemainingTitle:`Remaining / monthly budget for {name} ({platform})`,noPublishedQuota:`+{count} with no published quota`,noPublishedQuotaTitle:`These models have no documented monthly token budget, so there is no remaining figure to show.`,of:`на`,showAllModels:`Покажи всички {count} модели`,showLess:`Покажи по-малко`,vision:`Визия`,visionTitle:`Приема въвеждане на изображения`,tools:`Инструменти`,toolsTitle:`Изпуска структурирани повиквания на инструменти, така че е допустим за заявки, носещи инструменти,`,retired:`Изтеглен`,penalty:`−{value} наказание`,obs:`{count} OBS`,tokPerMonth:`{count} ток/мо`,rpmLimit:`{count} обороти`,rpdLimit:`{count} rpd`,noKey:`Без ключ`,dragToReorder:`Съпротивление за пренареждане`,dragToReorderGroup:`Модел за пренареждане на влачене`,moveToRank:`Към позиция`,providerCount:`{count} доставчици`,servedBy:`Обслужван от {providers}`,viewProviders:`Вижте доставчиците`,backToModels:`Обратно към моделите`,providersHeading:`Доставчици, обслужващи този модел`,codeSnippetHeading:`Използвайте този модел`,modelNotFound:`Този модел не е наличен или няма конфигурирани доставчици.`,providerIdsHeading:`ID на модела на доставчика`,providerIdsHint:`Изпратете унифицирания модел id за отказ при всеки доставчик или специфичен за доставчик идентификатор, за да залепите един доставчик.`,copyModelName:`Копиране на името на модела`,settingsHeading:`Настройки на доставчика`,settingsHint:`Локалните редакции на каталожните модели се запазват между синхронизациите на каталога. Изтритите каталожни модели остават изтрити, докато не ги добавиш отново чрез конфигурация.`,catalogModel:`Каталог`,customModel:`Custom`,discoveredModel:`открит`,localOverride:`Местно преодоляване`,displayName:`Показно име`,sizeLabel:`Клас на способностите`,sizeLabelHint:`Frontier/Large/Medium/Small определят оста на разузнаването: по-високият клас винаги превъзхожда по-ниския, а в рамките на един клас рангът на разузнаването продължава да мести оценката. Модел без разпознат клас получава най-ниската оценка по тази ос, но разузнаването е само една от три оси — силна надеждност и скорост все пак могат да му спечелят маршрут.`,sizeLabelNone:`Без (най-ниска оценка за разузнаване)`,contextWindow:`Контекст`,inFallback:`Във верига`,saveModelSettings:`Запазване на настройките на модела`,aggregateBudget:`{count}/месец`,aggregateBudgetTitle:`Общо безплатни токени на месец при доставчиците на този модел`,rateRpm:`{count} RPM`,rateRpd:`{count} RPD`,rateTitle:`Ограничен процент — няма фиксиран месечен токен бюджет`,rateLimitUsage:`{kind} {used}/{limit}`,rateLimitUsageTitle:`Използване на ограничението за скорост във времевия прозорец (използвано / лимит) при доставчика с най-голям резерв`,splitOut:`Не обединявайте това копие`,splitOutHint:`Дайте на копието на този доставчик собствен отделен запис, вместо да го обедините в единния модел. Можете да го обедините обратно от собствената страница на копието.`,splitUndo:`Обединяване обратно`,splitUndoHint:`Това копие се съхранява отделно от своя унифициран модел. Обединете го обратно, за да преустановите отново всички негови доставчици.`,splitBadge:`съхранявани отделно`,noData:`няма данни`,noDataTitle:`Все още няма записани заявки — надеждността и скоростта са неизмерими за този доставчик.`,bestOfN:`най-доброто от {count}`,perProviderScores:`Резултати на доставчик: {list}`,columnModel:`Модел`,columnOn:`На`,noModelsBefore:`Няма налични модели. Добавете API клавиши на`,keysPageLink:`Страница с ключове`,noModelsAfter:`Първо.`,hiddenNoKeys:`Hidden (без ключове): {platforms}`,searchPlaceholder:`Модели за търсене или доставчици...`,clearSearch:`Чисто търсене`,ctxAny:`Какъвто и да е контекст`,ctxBadge:`{size} CTX`,ctxTitle:`Контекстен прозорец`,copyModelId:`Copy model id`,showingCount:`{shown} от {total} модели`,clearFilters:`Прозрачни филтри`,noMatches:`Нито един модел, който да съвпадне с вашите филтри.`,noModelsTitle:`Няма конфигурирани модели`,intelligenceRank:`Разузнаване`,speedRank:`Скорост`,rankHint:`Ранг в каталога — 1 е най-добър.`,limitRpm:`RPM`,limitRpd:`RPD`,limitTpm:`TPM`,limitTpd:`TPD`,limitRpmHint:`Заявки в минута. Оставете празно за без ограничение.`,limitRpdHint:`Заявки на ден. Оставете празно за без ограничение.`,limitTpmHint:`Жетони в минута. Оставете празно за без ограничение.`,limitTpdHint:`Жетони на ден. Оставете празно за без ограничение.`,usageThisMonth:`Месечно потребление`,usageEmpty:`Няма заявки този месец.`,usageRequestsMonth:`{count} заявки този месец`,aliasMergeHeading:`Merge model aliases`,aliasMergeHint:`Requests for the unified model id are also served through these custom-provider aliases (e.g. custom:my-alias).`,aliasMergeAdd:`Add`,aliasMergeRemove:`Remove`,bulkToggle:`Enable or disable every shown model`,enableAll:`Enable all`,disableAll:`Disable all`,enableAllHint:`Turn on every model shown, then Save`,disableAllHint:`Turn off every model shown, then Save`,enabledOfShown:`{enabled} of {shown} shown models are in the chain`},strategies:{explore:`Изследване на неизмерени модели`,exploreHint:`Give models with no reliability or speed data a 10% chance to go first so they build a track record. Your real request is what gets sent, so it may be answered by an untested model. For a custom endpoint, use Probe endpoint on the Keys page to test it without live traffic.`,keySelection:`Избор на ключ`,keySelectionAuto:`Автоматично`,keySelectionLeastRemaining:`Най-малко остатък`,keySelectionHint:`Как се избира между няколко ключа на един и същ доставчик. Автоматично запазва текущото редуване; Най-малко остатък подрежда ключовете по наблюдаваната квота и първо опитва този с най-много останало.`,cooldownCeiling:`Най-дълго автоматично охлаждане`,cooldownCeilingHint:`Ограничава колко дълго собствените предположения на маршрутизатора могат да изключват провалящата се двойка ключ и модел. Стълбата обикновено расте 2 мин, 10 мин, 1 ч, 24 ч, а грешките за кредит или ниво изключват за ден. Времената за повторен опит, посочени от доставчика, никога не се съкращават.`,cooldownCeilingDefault:`По подразбиране (до 24 ч)`,cooldownCeiling10m:`10 минути`,cooldownCeiling1h:`1 час`,cooldownCeiling6h:`6 часа`,moreOptions:`Още опции`,peakActive:`(пикови часове)`,peakActiveHint:`Корекцията за пиковите часове е активна в момента, така че това не са собствените тегла на предварителната настройка: 60% от теглото на скоростта е прехвърлено към надеждността.`,peakAdjust:`Корекция за пикови часове`,peakAdjustHint:`По подразбиране изключена. В прозореца по-долу премества 60% от теглото на скоростта към надеждността — безплатните релета са най-натоварени тогава, така че надеждността предсказва успеха по-добре от чистата пропускливост. „Най-бърза“ и „Най-надеждна“ остават непроменени.`,peakFrom:`От`,peakTo:`до`,peakTimezoneLabel:`Часова зона`,peakUseBrowserTimezone:`Използвай часовата зона на браузъра`,peakTimezoneInvalid:`Непозната часова зона.`,peakExemptNote:`Тази настройка остава непроменена — тя вече е в единия край на компромиса скорост/надеждност.`,title:`Стратегия за маршрутизиране`,description:`Изберете стратегия за маршрутизиране. В ръчен режим плъзгате, за да зададете реда; Останалите стратегии се насочват по реален резултат по надеждност, скорост и интелигентност.`,weightsSummary:`Надеждност {reliability}% · Скорост {speed}% · Интелигентност {intelligence}%`,guardrails:`Предпазни огради`,guardrailsTooltip:`Винаги на линия: свободна квота за височина × наказание за ограничение на скоростта. Под 1.0 означава, че моделът се задържа.`,scoreTooltip:`Крайна оценка за маршрутизиране = претеглена средна стойност на трите оси, умножена по предпазните огради. Първо по-високи маршрути.`,modeManualHint:`Ръчен режим: заявките следват реда по-долу, отгоре надолу. Влачете, за да подредите отново.`,modeScoreHint:`Резултатите се актуализират от живия трафик. Редът по-долу показва как се насочват заявките в момента.`,manual:`Ръчно`,manualBlurb:`Маршрутизирайте точно в реда, който зададете по-долу. Плъзни дръжките, за да пренаредиш. Без точки; веригата се следва отгоре надолу.`,balanced:`Балансиран`,balancedBlurb:`Надеждността води (50%), като скоростта и интелигентността са еднакво претеглени (по 25%). Разумен всеобщ отказ.`,smartest:`Най-умният`,smartestBlurb:`Предпочитам най-способния модел, който все още работи. Интелигентност 55%, надеждност 35%, скорост 10%.`,fastest:`Най-бързият`,fastestBlurb:`Предпочитам най-бързия модел, който все още работи. Скорост 55%, надеждност 35%, интелигентност 10%.`,reliable:`Най-надеждният`,reliableBlurb:`Максимизирай успеха над всичко. Надеждност 70%, скорост и интелигентност по 15%.`,custom:`Обичай`,customBlurb:`Задайте си собствен баланс между надеждност, скорост и интелигентност с плъзгачи. Същият двигател като пресетите, само тежестите ти.`,adjust:`Коригирай`,customWeights:`Персонализирани тежести`,customWeightsHelp:`Слайдърите са независими; акциите се балансират автоматично до 100%.`,weightReliability:`Надеждност`,weightSpeed:`Скорост`,weightIntelligence:`Разузнаване`,weightRequired:`Поне едно тегло трябва да е над нула.`,scoreColumn:`Партитура`},penaltyInspector:{title:`Налягане в рутера`,subtitle:`Наказания, презареждане и провали от последната {minutes} минута`,rowCount:`{count} активен`,offChain:`извън веригата`,penaltyValue:`Наказателни {value}`,factor:`score x{factor}`,noCooldown:`Няма време за презареждане`,cooldownChip:`{key} - {time}`,resetCooldown:`Reset cooldown`,clearAll:`Изчисти всичко`,clearAllHint:`Незабавно премахва всички охлаждания, наказания и серии от грешки. Напрежението се натрупва отново от следващите реални резултати.`,errorsHeading:`{count} скорошни грешки`,noRecentErrors:`Няма скорошни грешки`,noKey:`Без ключ`,reasons:{penalty:`наказан`,cooldown:`Cooldown`,recent_errors:`Неуспех`}},keys:JSON.parse(`{"pageTitle":"Ключове","pageDescription":"Идентификационните данни на доставчика и унифицираният API ключ, с който се свързват вашите приложения.","tabProviders":"Доставчици","checklistSummary":"Настроени са {configured} от {total} доставчици","checklistKeyless":"не е нужен ключ","checklistNoKeyTip":"Все още не е добавен ключ. Щракнете, за да добавите.","checklistSignupLink":"Отворете {provider}, за да създадете акаунт и да получите ключ","checklistKeylessTip":"Работи без ключ.","tabQuotaSignals":"Квотни сигнали","tabApiKey":"Унифициран API ключ","tabAnthropic":"Anthropic","unifiedKey":"Вашият единен API ключ","regenerate":"Регенерация","showKey":"Шоу","hideKey":"Скрий се","copyKey":"Прието.","copyFullKey":"Копиране на пълния ключ","copiedKey":"Копирано","baseUrl":"Базова URL","endpointChat":"Чат","endpointResponses":"Отговори","endpointEmbeddings":"Вграждания","endpointEmbeddingsHint":"model: \\"auto\\" или семейство от таба Embeddings","endpointMessages":"Послания","endpointMessagesHint":"Anthropic-съвместими (Claude)","quickStart":"Quick start","quickStartDesc":"Use auto for your active routing chain, or auto:fast to prioritize speed across enabled models. Replace $YOUR_KEY with your unified API key.","exampleAuto":"Auto mode (use the active chain)","exampleFast":"Fast mode (prioritize speed)","anthropicTitle":"Claude (Anthropic) модели","anthropicDesc":"Насочете Claude или Anthropic SDK клиент към този сървър. Anthropic клиентите изпращат Claude имена на модели — съпоставят всяко с Auto (рутерът избира свободен модел) или закачат конкретен.","anthropicBaseUrl":"Базова URL","anthropicAuth":"Заглавие за авторизация","anthropicAuto":"Автоматично — рутерът избира най-добрия модел","anthropicSave":"Запазване на картографирането","anthropicSaved":"Спасено","anthropicNote":"Anthropic клиенти запазват вградените си имена Claude модели; Горното картографиране определя как всеки от тях се насочва към басейна ти.","familyDefault":"По подразбиране","familyOpus":"Опус","familySonnet":"Сонет","familyHaiku":"Хайку","selectPlatform":"Изберете доставчик","addKey":"Добави ключ","keyAdded":"Добавен ключ","endpointKeysShareModels":"Ключовете за една и съща крайна точка споделят нейните модели.","export":"Износ","exportAll":"Всички клавиши","exportHealthy":"Само здравословно","exportKeys":"Експортиране на API ключове","exportFormat":"Формат","exportHealthyOnly":"Само здравословни ключове","exportHealthyOnlyDesc":"Изключвайте ключове, които в момента не преминават здравни проверки","exportWillExport":"Ще експортира","exportKey":"Ключ","exportKeys plural":"ключове","exporting":"Изнася...","exportDownload":"Изтегляне","exportSuccess":"Експортирани {count} ключове","adding":"Добавям...","selectProvider":"Изберете доставчик...","accountId":"Идентификация на акаунта","label":"Лейбъл","noKeyNeeded":"(не е нужен ключ)","outboundProxy":"Изходящ прокси","outboundProxyDescription":"Маршрутизирайте изходящите LLM заявки чрез прокси. Поддържа SOCKS5, HTTP и HTTPS.","proxyUrl":"Прокси URL","saveProxy":"Запази","savingProxy":"Спасявам...","proxyLoadFailed":"Не можех да заредя настройките на проксито.","proxyMode":"Mode","proxyModeForward":"Forward proxy","proxyModeFetchRelay":"Fetch relay","relayToken":"Relay token","relayTokenConfigured":"Configured. Leave unchanged to keep.","relayTokenPlaceholder":"Relay bearer token (optional)","relayHeadersHint":"The relay reads the destination and its own credential from","addCustom":"Добавете персонализиран модел, съвместим с OpenAI","addCustomDescription":"Точков чат, вграждане, изображения или аудио модели на всяка OpenAI-съвместима крайна точка. Ключът API е по избор за локални сървъри.","customType":"Тип","customTypeChat":"Чат","customTypeEmbedding":"Вграждане","customTypeImage":"Изображение","customTypeAudio":"Аудио","customTypeTranscription":"Transcription","customBaseUrl":"Базова URL","customModels":"Модели","customModel":"Модел","customDisplayName":"Показно име","customDisplayNamePerModel":"на модел","customDisplayNameOptional":"по избор","customFamily":"Семейство","customFamilyPlaceholder":"По подразбиране към Model ID","customApiKey":"API ключ","customCapabilities":"Възможности","addModel":"Добави модел","modelAdded":"Добавен модел","addModels":"Добавете {count} модели","addEmbeddingModel":"Добави вграждане","addImageModel":"Добави модел на изображението","addAudioModel":"Добави аудио модел","addTranscriptionModel":"Add transcription model","addingCustom":"Добавям...","discoverModels":"Извличане на модели","probeNow":"Тествай крайната точка","probeConfirm":"Да се изпратят до 3 тестови заявки?","probeCapabilities":"разсъждение: {reasoning} · инструменти: {tools}","probeCapYes":"да","probeCapNo":"не","probeCapUnknown":"неизвестно","probeSuccess":"{model} е тестван за {latency}ms","probeFailed":"Тестът е неуспешен: {reason}","discoverTitle":"Модели на тази крайна точка","discoverHint":"Изберете моделите за регистриране. Вече добавените остават заключени.","discoverEmpty":"Тази крайна точка не върна модели.","discoverAlreadyAdded":"Добавен","discoverSelectAll":"Избери всички","modelsAdded":"Добавени модели: {count}","getApiKey":"Вземи API ключа","deleteKeyConfirm":"Да изтрия този ключ? Това не може да бъде отменено.","checkAll":"Провери всички","checking":"Проверявам...","editLabel":"Редактиране на етикета","saveLabel":"Запази етикета","unifiedKeyDescBefore":"Използвай това като OpenAI","unifiedKeyDescAfter":"; Той удостоверява заявките към този прокси.","serverUnreachableBefore":"Не мога да достигна сървъра","serverUnreachableAfter":". Уверете се, че бекендът работи. NPM Run Dev стартира и двете, а логовете на сървъра се печатат под префикса на сървъра.","paneProviderKey":"Ключ на доставчика","paneImportFile":"Импортиращ файл","paneCustomEndpoint":"Персонализирана крайна точка","platform":"Платформа","hideAdded":"Скриване на добавените доставчици","apiToken":"API токен","keyOptionalPlaceholder":"По избор","bearerTokenPlaceholder":"Жетон на носителя","pasteKeyPlaceholder":"Постави ключа тук","pasteSeveral":"Поставяне на няколко","keyOptionalHint":"По избор: оставете празно за анонимното безплатно ниво (ограничение по IP) или поставете собствен ключ, за да използвате акаунта си.","enable":"Включи","noProviderKeys":"Все още няма ключове за доставчика. Добавете една по-горе, за да започнете маршрутизирането.","filterPlaceholder":"Доставчици на филтри или ключове","filterAll":"Всички","filterHealthy":"Здравословен","filterIssues":"Въпроси","filterDisabled":"Изключен","noFilterMatch":"Нито един доставчик не отговаря на вашите филтри.","providerCountSummary":"{providers} доставчици · {keys} ключове","summaryHealthy":"{count} здрав","summaryIssueOne":"{count} проблем","summaryIssueOther":"{count} проблеми","providerActions":"Действия на доставчика","routeViaProxy":"Маршрут чрез прокси","checkNow":"Провери сега","syncModels":"Sync models with upstream","syncModelsResult":"Model list synced: {added} added, {total} live","syncModelsFailed":"Model sync failed: {reason}","syncAllModels":"Sync all providers","syncAllPending":"Syncing…","syncAllResult":"Synced {count} provider(s): {registered} model(s) registered","syncAllFailed":"Sync all failed: {reason}","syncAllNoChanges":"All provider rosters are already up to date","syncAllDialogTitle":"Sync Results","syncAllDialogSummary":"Changes detected in {changed} of {total} providers","syncAllNew":"+{count} new","syncAllUpdated":"{count} updated","syncAllRetired":"{count} retired","syncAllNewModels":"New models","syncAllUpdatedModels":"Updated models","syncAllRetiredModels":"Retired models","syncAllDialogClose":"Done","proxyEnvHintBefore":"Също така може да се конфигурира чрез","proxyEnvHintAfter":"променлива на околната среда (има предимство). Оставете празно за деактивиране. Примери:","importKeys":"Ключове за доставчик на импорт","importKeysDescription":"Качвайте .env, JSON, JSONC, CSV, Markdown или текстови файлове.","importFiles":"Файлове","importFileCount":"{count} избран","previewFiles":"Преглед","previewing":"Предварителен преглед...","selected":"Избрани","provider":"Доставчик","keyName":"Ключово име","keyValue":"Ключова стойност","chooseProvider":"Изберете доставчик","noPreviewKeys":"В тези файлове не са намерени ключове.","skippedItems":"Пропуснато:","moreItems":"+{count} повече","importSelected":"Импорт {count}","importing":"Внасяне...","noImportSelection":"Изберете поне един ред с доставчик.","duplicate":"Дубликат","duplicatesFound":"{count} открити дубликати — вече съществуват и ще бъдат пропуснати.","importResult":"Внесени {imported}; провалил {failed}.","importModelCount":"+{count} модела","importResultWithModels":"Внесени {imported}; регистрирани {models} модела; провалил {failed}.","confirmRemove":"Потвърждавате ли?","quotaSignalsTitle":"Квотни сигнали","quotaSignalsEmptyTitle":"Все още няма наблюдение на квотите","quotaSignalsEmptyDesc":"Това се запълва след като доставчиците върнат заглавия с лимита на скоростта, грешки в квотите или сигнали за валидиране.","quotaKeyRef":"Ключови #{id}","quotaPoolRef":"Басейн {pool}","quotaLimit":"Граница","quotaRemaining":"Останали","quotaReset":"Нулиране","quotaObserved":"Наблюдавано","tabAgents":"Агенти","familyGeminiPro":"Gemini Pro","familyGeminiFlash":"Gemini Flash","familyGeminiFlashLite":"Gemini Flash-Lite","geminiTitle":"Съответствие на Gemini модели","geminiDesc":"Съпоставете имената Gemini Pro, Flash и Flash-Lite с Auto или с конкретен модел от каталога.","compatibilityTitle":"Съвместимост с агенти","compatibilityDesc":"Управлявайте незадължителните повърхности за съвместимост и откриването на модели от Claude Code.","ollamaMode":"Ollama емулация","ollamaModeHint":"Отвореният loopback никога не приема неавтентикиран LAN трафик.","ollamaOff":"Изключено","ollamaLoopback":"Отворено на loopback","ollamaKeyRequired":"Изисква се API ключ","claudeAliases":"Псевдоними за откриване на Claude Code","claudeAliasesHint":"Изложете псевдоними claude/<model>, за да може селекторът на модели на шлюза да покаже каталога.","mcpServer":"MCP сървър","mcpServerHint":"Отваря крайната точка /mcp за агентни клиенти. Новите инсталации започват изключени.","urlTokensTitle":"Отменяеми URL токени","urlTokensDesc":"Само за клиенти без хедъри. URL токените могат да изтекат в историята и логовете, затова ги отменяйте, когато вече не са нужни.","urlTokenLabel":"Етикет на токена","createUrlToken":"Създай токен","urlTokenOnce":"Копирайте този токен сега. Той няма да бъде показан отново.","revoked":"Отменен","revoke":"Отмени","modelScope":"Обхват на моделите","modelScopeDesc":"Ограничете този ключ до конкретни ID на модели. За всеки друг модел рутерът пропуска този ключ.","modelScopeAdd":"Въведете ID на модел и натиснете Enter","modelScopeEmpty":"Няма зададен обхват — този ключ обслужва всички модели на доставчика си.","modelScopeClear":"Изчисти обхвата","modelScopeBadgeOne":"ограничен · 1 модел","modelScopeBadgeOther":"ограничен · {count} модела","modelPicker":{"title":"Кои модели да обслужва този ключ?","hint":"Вашият ключ {provider} беше добавен и в момента обслужва всички модели по-долу. Махнете отметката от тези, които този ключ няма право да използва — за тях рутерът ще го пропуска.","count":"Избрани {selected} от {total}","allNote":"Избрано е всичко — нищо не се запазва, а моделите, добавени в каталога по-късно, също ще използват този ключ.","subsetNote":"Този ключ ще бъде ограничен до избраните модели. Можете да промените това по-късно от реда на ключа.","skip":"Не сега","scopedOne":"Ключът е ограничен до 1 модел","scopedOther":"Ключът е ограничен до {count} модела","allSaved":"Key serves every catalog model"},"cpTitle":"Клиентски профили","cpDesc":"Отделни API ключове за всеки клиент, всеки със системен промпт, който сървърът винаги прилага.","cpEmpty":"Все още няма клиентски профили.","cpNameLabel":"Име","cpNamePlaceholder":"напр. Бот за поддръжка","cpPromptLabel":"Системен промпт (по избор)","cpPromptPlaceholder":"Инструкции, които сървърът добавя преди всяка заявка с този ключ.","cpCreate":"Създай профил","cpRotate":"Смени ключа","cpKeyOnce":"Копирайте този ключ сега — няма да бъде показан отново.","cpEnabledAria":"Профилът е активиран","selectKey":"Изберете този ключ","bulkSelected":"{count} избрани","bulkEnable":"Включи всички","bulkDisable":"Изключи всички","bulkDelete":"Изтрий всички","bulkDeleteConfirm":"Да се изтрият ли {count}?","bulkResult":"Обновени {done}; неуспешни {failed}.","bulkDeleteResult":"Изтрити {done}; неуспешни {failed}.","testProxy":"Test","testingProxy":"Testing…","proxyTestOk":"Proxy works — {ms}ms round trip","proxyTestFail":"Proxy failed: {reason}","editKey":"Редактиране на ключ","editPlatformLocked":"Доставчикът и крайната точка не могат да се променят след създаване.","editCredentialHint":"Оставете празно, за да запазите текущия ключ.","editCredentialPartsRequired":"Въведете и ID на акаунта, и API токен.","editModels":"Редактиране на моделите","editModelsHint":"Choose which catalog models this key may serve. Select everything to clear the scope so future catalog models use it too.","editModelsCustomHint":"Choose which registered endpoint models this key may serve. Select everything to clear the scope.","editModelsSync":"Check catalog updates","editModelsSyncing":"Checking…","editModelsSynced":"Model catalog checked","outlookUnavailable":"Unavailable","outlookNoForecasts":"Forecast unavailable. More recent traffic or reliable quota readings are needed.","outlookCoverage":"Forecasts available for {count} of {total} pools.","outlookTraffic":"{count} successful requests through this instance in the last {minutes} minutes.","outlookMinimumTraffic":"An exhaustion forecast needs at least {count} successful requests within {minutes} minutes.","outlookNotReportedHint":"The provider has not reported a usable request balance and limit. Local usage is shown; remaining quota is unavailable.","outlookMissingResetHint":"The provider did not report a valid reset time. Remaining quota cannot support an exhaustion forecast.","outlookConfidenceHint":"This balance is not reliable enough for an exhaustion forecast.","outlookObserved":"Balance observed: {time}","outlookUnavailablePools":"Unavailable quota pools ({count})","outlookTitle":"Quota outlook","outlookInsufficient":"Not enough data","outlookLowBalance":"Low balance","outlookRunningLow":"Running low soon","outlookStale":"Needs fresh data","outlookUnknown":"Unknown","outlookWithinQuota":"Within quota","outlookResetsFirst":"Not before reset","outlookExhausted":"Already exhausted","outlookLastReported":"requests last reported","outlookRequestsLeft":"requests left","outlookNotReported":"Not reported","outlookRate":"Recent rate","outlookRateValue":"{count} req/min","outlookRunsOut":"May run out","outlookStaleHint":"This balance is old or its window has expired. A fresh provider reading is needed.","outlookError":"Could not load quota forecasts. Raw observations are still available below.","outlookRetry":"Retry","outlookAttention":"Quota pools needing attention: {count}","outlookNoWarnings":"No forecast warnings. Pools with insufficient data may still be limited.","outlookHint":"Rates count successful requests through this instance only, not usage elsewhere. Forecasts require recent provider balances and reported resets. Warnings appear below 20% remaining or when quota may run out within two hours, before reset.","outlookRaw":"Raw quota observations","addCustomModel":"Добавяне на персонализиран модел","modelId":"ID на модела","modelIdRequired":"ID на модела е задължително","modelDisplayName":"Име за показване","modelContextWindow":"Прозорец на контекста (токени)","modelRateLimits":"Лимити на честотата (по избор)","modelSupportsTools":"Поддържа извикване на инструменти","modelSupportsToolsHint":"Активирайте, ако този модел може да извиква функции или инструменти","modelSupportsVision":"Поддържа зрение","modelSupportsVisionHint":"Активирайте, ако този модел приема изображения","createModel":"Създаване на модел","modelAddedSuccess":"Персонализираният модел бе добавен успешно","modelAddFailed":"Неуспешно добавяне на персонализиран модел","testModel":"Тестване","testingModel":"Тестване…","testPassedShort":"Успех","testFailedShort":"Неуспех","testPassed":"Тестът на модела премина успешно за {latency}ms","testFailed":"Тестът на модела е неуспешен","testThrottled":"Моля, изчакайте {seconds} сек преди повторен тест на този модел.","noModelsForProvider":"Няма конфигурирани модели за този доставчик.","testModels":"Тествай моделите","syncAllCatalog":"Catalog: +{inserted} added, ~{updated} updated, -{removed} removed","requestCapLabel":"Request cap","tokenCapLabel":"Token cap","budgetPeriodLabel":"Budget period","budgetPeriodDaily":"Daily","budgetPeriodWeekly":"Weekly","budgetPeriodMonthly":"Monthly","budgetPeriodAuto":"Auto (follow provider)","autoResolvedDaily":"Detected provider cycle: daily","autoResolvedMonthly":"Detected provider cycle: monthly","autoResolvedFallback":"Provider cycle unknown, defaulting to monthly","capUnlimitedPlaceholder":"Неограничен","capEditHint":"Caps reset at the next period boundary, 00:00 UTC. Leave blank for unlimited.","monthlyUsageLine":"{requests} заявки, {tokens} токени този месец","monthlyUsageRequests":"{requests} requests","monthlyUsageTokens":"{tokens} tokens","monthlyUsageRequestsRelative":"{used} / {cap} ({remaining} left) requests","monthlyUsageTokensRelative":"{used} / {cap} ({remaining} left) tokens","monthlyUsageReset":"reset {date}"}`),backups:{title:`Backups`,description:`Save the routing data to a .sql file beside the database, and restore it later.`,excludedNote:`A backup carries your providers, models, routing settings and request history. Accounts, sessions and URL tokens are never included, so a dump holds no password hashes or login tokens and restoring one cannot log you out. Provider keys stay encrypted with this server's ENCRYPTION_KEY: a backup can only be restored on a server that still holds that key.`,selectHint:`Back up everything, or pick the tables you need.`,selectAll:`Select all`,deselectAll:`Clear`,fullBackup:`Full backup`,backupSelected:`Back up selected ({count})`,created:`Backup written to {filename}`,list:`Backups on disk`,empty:`No backups yet`,full:`All tables`,tablesCount:`{count} tables`,manual:`Manual`,scheduled:`Scheduled`,preRestore:`Pre-restore`,download:`Download`,restore:`Restore`,confirmRestore:`Replace data?`,restored:`Restored. The previous data was saved as {filename}.`,delete:`Delete backup`,prevPage:`Previous`,nextPage:`Next`,autoTitle:`Automatic backups`,autoHint:`The server writes a full backup on this cadence.`,time:`Time (HH:mm)`,intervalDays:`Every N days`,path:`Folder`,pathPlaceholder:`backups`,pathHint:`Relative to the database directory. Backups cannot be written outside it.`,save:`Save schedule`,saved:`Saved`},status:{healthy:`здравословно`,rateLimited:`Ограничен тариф`,invalid:`невалидно`,error:`Грешка`,unchecked:`Без контрол`},analytics:{title:`Аналитика`,description:`Заявка за обем, латентност, използване на токени и неуспехи.`,range24h:`24 часа`,range7d:`7d`,range30d:`30d`,range90d:`90d`,requests:`Заявки`,successRate:`Процент на успех`,inputTokens:`Входни токени`,outputTokens:`Изходни токени`,avgLatency:`Средна латентност`,p95Latency:`Латентност на P95`,avgTtft:`Средно TTFT`,estSavings:`Ест. спестявания`,requestsByProvider:`Заявки по доставчици`,avgLatencyByProvider:`Средна латентност по доставчик`,ttftByProvider:`Време до първия токен по доставчик`,ttftEmpty:`Все още няма време за първи запис на жетон.`,requestsOverTime:`Заявки с течение на времето`,tokensOverTime:`Жетони във времето`,byModel:`По модел`,byPlatform:`По платформа`,errors:`Грешки`,errorDistribution:`Разпределение на грешките`,pinnedRequests:`Закачени заявки`,pinnedHonored:`Почетен`,fallbackAttempts:`Резервни опити`,savingsHint:"Всъщност запази ${actual} през последната {range}. Това е, което биха стрували същите токени при платени API-та, според цената на модел. Показаното число проектира темпото ви от последната {span} данни до пълни 30 дни.",savingsHintExact:"Всъщност запази ${actual} през последната {range}. Това е, което биха стрували същите токени при платени API-та, според цената на модел. Показаното число е реалният ти общ резултат за 30 дни.",requestsHintPinned:`{pinned} от тези заявки закачиха конкретен модел по име. {honored} се обслужваха от модела с игли; {failed} се провали, преминах към друг. Останалите бяха с автомаршрут.`,requestsHintAuto:`Всички заявки през този период бяха автоматично насочени; Нито един клиент не е посочил конкретен модел по име.`,requestsHintTypes:`{chat} чат и {embedding} заявки за вграждане.`,rangeLabel24h:`24 часа`,rangeLabel7d:`7 дни`,rangeLabel30d:`30 дни`,rangeLabel90d:`90 дни`,spanDays:`{count} дни`,spanHours:`{count} часа`,latencyMs:`Латентност (ms)`,latency:`Латентност`,pinned:`Залепен`,inTokens:`В жетони`,outTokens:`Изходящи токени`,saved:`Спасено`,message:`Съобщение`,time:`Време`,perModelBreakdown:`Разбивка по модел`,usageByKey:`Използване по клавиш`,keyColumn:`Ключ`,keyLabelFallback:`Ключови #{id}`,errorsByProvider:`Грешки по доставчици`,recentErrors:`Последни грешки`,noErrors:`Без грешки`,recentCalls:`Последни обаждания`,clientIp:`IP на клиента`,clientAgent:`Клиентско приложение`,requestedModelHint:`Поискано {model}, обслужено като резерв`,attempts:`Опити`,filterAll:`Всички`,filterCanceled:`Отменени`,providerBreakdown:`Разпределение на всеки доставчик`,tokensPerSec:`Ток/с`,allProviders:`Всички доставчици`,requestDetailTitle:`Искам #{id}`,failoverLadder:`Резервна стълба`,failoverLadderHint:`При всеки скок тази заявка преминаваше през резервната верига, по ред.`,noAttemptTrace:`Не беше записан опит за проследяване на тази заявка.`,keyOrdinal:`Ключови #{n}`,keyBadge:`Ключ #{n}`,attemptTimingHint:`Изместване на старта от заявката за старт · Продължителност на опита`,requestedModel:`Поискан модел`,ttft:`TTFT`,requestsByAgent:`Заявки по агент`,sortBy:`Сортиране по {column}`,sortHint:`Сортирането се прилага за {count} заредени реда`,cacheHitRate:`Процент попадения в кеша`,cacheSavedTokens:`Спестени {tokens} токена`,cacheHitRateHint:`{hits} попадения срещу {misses} пропуска от старта на сървъра · спестени {requests} заявки към доставчик`},logs:{title:`Логове`,description:`Лог на сървъра на живо. Новите записи пристигат, докато страницата е отворена.`,pause:`Пауза`,resume:`Продължи`,clear:`Изчисти лога`,cleared:`Логът на сървъра е изчистен`,levelFilter:`Нива на лога`,levels:{debug:`Дебъг`,info:`Инфо`,warn:`Предупр.`,error:`Грешка`},countsHint:`Броячите отчитат целия лог буфер на сървъра, а не само записите, отговарящи на тези филтри.`,searchPlaceholder:`Търсене в съобщенията от лога…`,jumpToLatest:`Към най-новите`,showMore:`Покажи повече`,showLess:`Покажи по-малко`,buffered:`Показани са {count} от най-много {max} записа в буфера`,emptyTitle:`Все още няма записи в лога`,emptyDescription:`Записите се появяват тук, докато сървърът ги записва. Разширете филтрите по ниво, доставчик или търсене, ако очаквате изход.`,noLevelsTitle:`Няма избрани нива`,noLevelsDescription:`Включете поне едно ниво, за да видите изхода от лога.`,loadFailed:`Логът на сървъра не можа да бъде зареден.`},playground:{title:`Детска площадка`,description:`Изпратете завършване на чата през рутера и вижте кой доставчик го обслужва.`,autoModel:`Авто (резервна верига)`,fusionModel:`Синтез (мултимоделен синтез)`,selectModel:`Избран модел`,searchModels:`Модели за търсене...`,noModelsFound:`Не са намерени модели`,send:`Изпрати`,sending:`Изпращам...`,clear:`Чисто`,inputPlaceholder:`Напиши съобщение... (⏎ за изпращане, ⇧⏎ за newline)`,emptyTitle:`Изпратете съобщение, за да започнете.`,emptyDescription:`Използвайки {model}. Превключвайте моделите в селектора по-горе.`,noModels:`Все още няма модели. Добавете API клавиш на страницата с ключове, за да попълните този списък.`,copyReply:`Копирай отговора`,fallback:`Резерв`,fallbacks:`Резервни варианти`,fusionPanel:`Панел`,fusionJudge:`Съдия`,fusionTrace:`{count} моделни отговори`,fusionFailed:`Няма отговор`,fusionJudgeSynth:`синтезира окончателния отговор`,errorPrefix:`Грешка:`,systemPromptLabel:`Системна подсказка`,systemPromptPlaceholder:`По желание. Изпратено е като системно съобщение преди чата.`,showSettings:`Покажи настройките`,hideSettings:`Скрий настройките`,samplingHeading:`Семплиране`,samplingHelp:`При изключено се прилага стойността по подразбиране на самия доставчик. Изпращат се само контролите, които включите.`,samplingDefault:`По подразбиране`,temperature:`Температура`,topP:`Top P`,maxTokens:`Максимум токени`,errorTitle:`Заявката беше провалена`,attach:`Прикачване на файлове`,attachTooMany:`Може да прикачите до {count} файла на съобщение.`,attachTooLarge:`{name} е твърде голям. Ограничението е {max}.`,attachUnsupported:`{name} не се поддържа. Прикачете изображения (PNG, JPEG, WebP, GIF) или текстови файлове (TXT, MD, CSV, JSON, LOG).`,attachFailed:`{name} не може да бъде прочетен.`,noVisionBadge:`Без изображения`,visionWarning:`{model} не приема изображения. Изберете модел с визия или Авто.`,dictate:`Диктуване`,dictationStop:`Спри записа`,dictationTranscribing:`Транскрибира се…`,dictationUnavailable:`Добавете доставчици на аудио модели, за да използвате диктуване.`,dictationModel:`Модел за диктуване`,dictationFailed:`Транскрипцията се провали: {reason}`,artifactOpen:`Отвори предварителен преглед`,artifactPreview:`Преглед`,artifactCode:`Код`,artifactClose:`Затвори прегледа`,artifactDownload:`Изтегли`,artifactReload:`Презареди прегледа`,artifactHtml:`HTML страница`,artifactSvg:`SVG изображение`,artifactLines:`реда`,artifactResize:`Преоразмеряване на прегледа`},playgroundSessions:{heading:`Разговори`,newConversation:`Нов разговор`,showSidebar:`Покажи разговорите`,hideSidebar:`Скрий разговорите`,empty:`Все още няма запазени разговори.`,untitled:`Разговор без име`,rename:`Преименувай`,renamePlaceholder:`Име на разговора`,messageCount:`{count} съобщения`,justNow:`току-що`,minutesAgo:`преди {count} мин`,hoursAgo:`преди {count} ч`,daysAgo:`преди {count} д`,loadFailed:`Разговорът не можа да бъде отворен.`,renameFailed:`Разговорът не можа да бъде преименуван.`,deleteFailed:`Разговорът не можа да бъде изтрит.`,actions:`Действия за разговора`,newChat:`Нов чат`},embeddings:{title:`Модели`,description:`Вгражданията се отказват само в рамките на едно семейство: същият модел, обслужван от друг доставчик. Векторите от различни модели са несъвместими, затова рутерът никога не сменя моделите на вас.`,defaultBadge:`По подразбиране · Авто`,makeDefault:`Направете стандарт`,moveUp:`Движи се нагоре`,moveDown:`Преместете се надолу`,usageToday:`{count} изискване днес`,usageMonth:`{count} ток този месец`,autoDescription:`model: "auto" на POST /v1/embeddings маршрути към стандартното семейство. Наименованието на семейство (или идентификатор на доставчик) закрепва това семейство; Доставчиците вътре в нея се изпробват по ред.`,unsavedChanges:`Незапазени промени`,saveChanges:`Промени в запазването`,savingChanges:`Спасявам...`,tokMax:`{tokens} ток макс`,emptyTitle:`Все още няма вградени модели`,emptyDesc:`Семействата за вграждане се появяват тук, след като добавите доставчик ключ, който поддържа вграждания.`,dragToReorder:`Drag to reorder provider`},fusion:{title:`Сливане`,description:`Панел от модели отговаря паралелно, след което съдия синтезира един по-силен отговор. Използвай го, като извикаш API с модела "сливане".`,panelSource:`Източник на панела`,panelSourceHelp:`Откъде идват моделите на панелите, когато заявката не уточнява своята собствена.`,mode:{auto:`Авто (резервна верига)`,autoHelp:`Изберете разнообразен набор от модели от вашата Fallback верига, класирани според активната ви стратегия за маршрутизиране.`,explicit:`Експлицитен панел`,explicitHelp:`Винаги използвайте конкретните модели, които избирате по-долу.`},panelModels:`Панелни модели`,selectedCount:`{count} от {max} избрани`,noModels:`Все още няма свързани модели. Добавете API ключ, след което активирайте моделите във Fallback Chain.`,panelSize:`Размер на панела`,panelSizeHelp:`Колко различни модели да изберете автоматично (1–{max}).`,judge:`Модел на съдия`,judgeHelp:`Моделът, който синтезира отговорите на панела в един. Auto използва най-високо класирания наличен модел.`,judgeAuto:`Auto (най-високо класиран наличен)`,strategy:`Стратегия`,strategySynthesize:`Синтезирайте — смесете панела в един отговор`,strategyBestOf:`Най-доброто от — върнете най-силния отговор (без решение на съдия)`,strategySynthesizeShort:`Синтезирайте`,strategyBestOfShort:`Най-доброто от`,exposePanel:`Детайли за излагане на панела`,exposePanelHelp:`Прикачете отговора на всеки модел и метаданните на съдията под поле x_fusion в отговора.`,howToUse:`Как да използвате`,howToUseHelp:`Изпратете обикновена заявка за чат с модел "fusion". Тези настройки са по подразбиране; Всяка заявка може да ги замени с поле "сливане".`,unsavedChanges:`Незапазени промени`,save:`Запази`,searchPlaceholder:`Search models…`,providerFilterLabel:`Filter by provider`,providerAll:`All providers`,noMatch:`No models match your search.`},premium:{title:`Премиум`,description:`Каталогът с живи модели на всяко устройство.`,loading:`Зареждане...`,checkForUpdates:`Проверете за актуализации`,syncing:`Синхронизация...`,catalogFeed:`Каталожен поток`,liveFeed:`Живо излъчване`,monthlySnapshot:`Месечен моментен преглед`,lastChecked:`Последна проверка: {when}`,liveDescription:`Нови безплатни модели, промени в квотите и поправки на куиркове пристигат тук в рамките на часове след изпращането. Приложението проверява автоматично два пъти на ден; Нищо за правене.`,snapshotDescription:`Безплатен слой: каталогът се обновява от месечен моментен преглед, който се проверява автоматично два пъти на ден. Premium превключва това към живия поток, който се обновява на всеки 2-3 дни.`,lastSyncProblem:`Последен проблем със синхронизацията: {error}`,license:`Лиценз`,planAnnual:`Премиум годишна`,planLifetime:`Премиум срок на живот`,expired:`Изтекъл`,inactive:`Неактивен`,lifetimeNote:`Пожизнен лиценз: никога не изтича.`,renewsOn:`Подновява на {date}.`,willNotRenew:`Няма да подновя. Премиум до {date}, след което тази инсталация се връща към безплатния месечен каталог.`,keyInactive:`Този ключ вече не е активен. Приложението продължава да работи по безплатния месечен каталог.`,manageSubscription:`Управление на абонамента`,openingPortal:`Отваряне...`,removeKey:`Извадете ключа от това устройство`,manageHint:`Управление на абонамент отваря портала за фактуриране на Stripe: анулирайте, обновете картата си или изтеглете фактури. Премахването на ключа само деактивира това устройство; Вашата покупка остава непокътната.`,licenseKey:`Лицензионен ключ`,licenseKeyPlaceholder:`fla_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`,activate:`Активирай`,activating:`Активирам...`,keyHint:`Ключът ви е в имейла за покупка и на страницата след плащане. Изгуби го?`,recoverKey:`Възстановете го на уебсайта`,upsellTitle:`Пусни на живо за 19 долара годишно`,upsellDescription:`Нови безплатни модели веднага щом се появят, вместо 30 дни по-късно. Един ключ, всяко устройство. Отмени по всяко време; Рутерът остава свободен завинаги.`,goPremium:`Go Premium`,bundled:`пакетирани`,planGeneric:`Премиум`},languages:{en:`English`,"zh-CN":`中文 (简体)`,es:`Español`,fr:`Français`,"pt-BR":`Português (Brasil)`,it:`Italiano`,hi:`हिन्दी`,ar:`العربية`,bn:`বাংলা`,ru:`Русский`,ur:`اردو`,id:`Bahasa Indonesia`,de:`Deutsch`,ja:`日本語`,sw:`Kiswahili`,mr:`मराठी`,te:`తెలుగు`,tr:`Türkçe`,ta:`தமிழ்`,vi:`Tiếng Việt`,ko:`한국어`,fa:`فارسی`,th:`ไทย`,gu:`ગુજરાતી`,pl:`Polski`,uk:`Українська`,kn:`ಕನ್ನಡ`,ml:`മലയാളം`,or:`ଓଡ଼ିଆ`,my:`မြန်မာဘာသာ`,pa:`ਪੰਜਾਬੀ`,ro:`Română`,nl:`Nederlands`,ms:`Bahasa Melayu`,tl:`Filipino`,ha:`Hausa`,yo:`Yorùbá`,ig:`Igbo`,am:`አማርኛ`,uz:`Oʻzbekcha`,az:`Azərbaycanca`,si:`සිංහල`,ne:`नेपाली`,km:`ខ្មែរ`,el:`Ελληνικά`,cs:`Čeština`,hu:`Magyar`,sv:`Svenska`,he:`עברית`,da:`Dansk`,fi:`Suomi`,no:`Norsk`,sk:`Slovenčina`,bg:`Български`,hr:`Hrvatski`,sr:`Српски`,lt:`Lietuvių`,"zh-TW":`中文 (繁體)`,"pt-PT":`Português (Portugal)`,ka:`ქართული`},errors:{boundaryTitle:`Нещо се обърка`,boundaryDescription:`Таблото срещна неочаквана грешка. Вашите данни са в безопасност. Опитайте отново или се върнете на страницата с моделите.`,tryAgain:`Опитай пак`,goHome:`Обратно към моделите`},notFound:{title:`Страницата не е намерена`,description:`Тази страница не съществува или може би е преместена.`},setup:{title:`Започване`,subtitle:`Три стъпки за маршрутизиране на първата ви заявка.`,progress:`{done} на {total}`,step1Title:`Добавете ключ за доставчик`,step1Desc:`Свържете поне един акаунт на доставчик. Безплатните ключове работят.`,step1Cta:`Добави клавиши`,step2Title:`Изпрати заявка за тест`,step2Desc:`Избери който и да е модел в Playground и кажи здравей.`,step2Cta:`Отворена площадка`,step3Title:`Свържете приложението си`,step3Desc:`Използвайте своя унифициран API ключ с всеки OpenAI-съвместим клиент.`,copyKey:`Копирай API ключа`,copyUrl:`Копирай базова URL`,copiedKey:`API ключ копиран в клипборда`,copiedUrl:`Базовият URL копиран в клипборда`},palette:{title:`Командна палитра`,placeholder:`Страници за търсене, модели, действия...`,empty:`Няма резултати`,groupPages:`Страници`,groupActions:`Действия`,groupModels:`Модели`,toggleTheme:`Превключване на тъмен режим`},validation:{required:`Задължително`,url:`Въведете валиден URL, започващ с http:// или https://`,email:`Въведете валиден имейл адрес`,passwordMin:`Поне {min} герои`},agents:{title:`Агенти за програмиране`,description:`Свържете инструменти за програмиране към един шлюз за безплатни модели с генерирана конфигурация и безопасно архивиране.`,apiKey:`API ключ`,quickstartTitle:`Бърз старт`,quickstart:`Най-бързият път: конфигурирайте Claude Code от каталога на живо.`,currentKey:`Текущ унифициран ключ:`,seenRecently:`Видян наскоро`,setupLabel:`Автоматична настройка`,setupHint:`Записва вместо вас конфигурационния файл на инструмента, насочен към този шлюз.`,setupGuideHint:`Показва стъпките за настройка на инструмента; не се записват файлове.`,manualLabel:`Ръчна връзка`,manualHint:`Базов URL и ключ за въвеждане в настройките на самия инструмент.`,endpoint:`Крайна точка`,documentation:`Документация`,descriptions:{claude:`Anthropic's terminal agent: it plans, edits files, and runs commands in your repo.`,codex:`OpenAI's terminal agent, which runs your task in a local sandbox first.`,cline:`A VS Code extension that asks you to approve every edit and command.`,continue:`A VS Code and JetBrains extension for inline autocomplete and chat while you type.`,aider:`A command-line pair programmer that turns each change into its own git commit.`,opencode:`A provider-agnostic terminal agent with a full-screen text interface.`,goose:`Block's local agent, extended with MCP servers to reach past your code.`,qwen:`A Gemini CLI fork tuned for Qwen models and large repositories.`,roo:`A VS Code extension with switchable modes: architect, coder, debugger.`,kilo:`A VS Code extension merging Roo and Cline, with an orchestrator that splits up work.`,crush:`Charm's terminal agent, written in Go, with one session per project.`,dsh:`DeepSeek's harness, which keeps every provider as a route you can switch between.`,mimo:`Xiaomi's terminal agent, an OpenCode fork that takes any OpenAI-compatible provider.`,cursor:`The AI-first editor; it calls through Cursor's cloud, so it needs a public URL.`,generic:`Anything else that speaks the OpenAI API, set up by hand from a base URL and key.`,atomcode:`AtomGit's terminal agent, written in Rust, that takes any OpenAI-compatible endpoint.`,openclaw:`Винаги активен личен асистент, който отговаря в WhatsApp, Telegram, Discord и други направо от вашата машина.`,hermes:`Самоусъвършенстващият се агент на Nous Research с постоянна памет и умения — в терминала или в чат приложенията.`,pi:`Минималистичен агент за терминала, който оформяте със собствени разширения, умения и шаблони за подкани.`}},update:{available:`New version available`,whatsNew:`What's new in v{version}`,publishedOn:`Published {date}`,noNotes:`No release notes were published for this version.`,openRelease:`Open release page`,dismissVersion:`Dismiss this version`,dismiss:`Dismiss`},freeTier:{poolsToggle:`Free-tier pools ({count})`,poolsToggleBare:`Free-tier pools`,summary:`{pools} pools · {budget} tokens/mo counted once per pool · {credits} credits-based · {unpublished} unpublished`,pool:`Pool`,models:`Models`,budget:`Monthly budget`,kind:`Kind`,kindDocumented:`Documented`,kindCredits:`Credits`,kindUnpublished:`Unpublished`,remaining:`Remaining`,resetAt:`Resets at`,disabledModels:`({count} off)`,metricTokens:`tokens`,metricRequests:`requests`,metricCredits:`credits`,metricNeurons:`neurons`,metricOther:`units`,empty:`No enabled models with free-tier budget data.`,poolLabel:`{platform} · shared {scope} pool`,poolLabelBare:`{platform} · shared pool`,poolModels:`{count} models`,poolBudget:`{budget}/mo`,poolBudgetTitle:`One monthly allowance for the whole pool, scaled by the {count} usable keys on this platform. Every model listed under it draws from the same budget.`,poolNoQuota:`no published quota`,poolResets:`resets {time}`,independentBudgets:`independent budgets`},chains:{title:`Fallback chains`,description:`Named chains, each callable as auto:<name> in /v1/models.`,count:`{count} chains`,active:`Active`,default:`Default`,activate:`Activate`,activateHint:`Make this the chain the table below edits and the one auto routes through`,deleteHint:`Delete this chain`,deleteConfirm:`Delete chain "{name}"?`,create:`Create`,createPlaceholder:`Chain name`,createFailed:`Could not create the chain.`,nameRules:`Up to 20 characters: letters, digits, hyphens and underscores.`,startEmpty:`Start empty`,startEmptyHint:`Create the chain with no models in it, and keep new catalog models out of it. Unchecked, it starts as a copy of the default chain.`,curated:`Curated`,curatedHint:`New catalog models are not added to this chain automatically.`,renameHint:`Преименувай тази верига`,renameConfirm:`Преименуване на верига "{oldName}" на "{name}"? Клиенти, извикващи auto:{oldName}, трябва да преминат към auto:{name}.`,renamePlaceholder:`Ново име на веригата`,renameFailed:`Веригата не можа да бъде преименувана.`},notifications:{catalogAdded:`{count} new models added from catalog`,catalogAddedFrom:`{count} new models added for {provider}`,catalogRemoved:`{count} models removed from catalog`,catalogRemovedFrom:`{count} models removed for {provider}`,catalogUpdated:`{count} models updated from latest catalog`,catalogUpdatedFrom:`{count} models updated for {provider}`,discoverAdded:`{count} new models from provider {provider}`,discoverRemoved:`{count} models removed from provider {provider}`,degraded:`Degraded mode active — only {healthy}/{total} providers healthy ({pct}%)`,updateAvailable:`Update available: v{version}`},routingStrip:{canceled:`Canceled`,title:`Live routing`,mode:`Mode`,processing:`Processing…`,idle:`Waiting for a request…`,failed:`Failed`,afterAttempts:`Success after {n} attempts`,activeCount:`{n} active`}};export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={nav:{models:`মডেল`,playground:`খেলার মাঠ`,keys:`চাবি`,analytics:`বিশ্লেষণ`,premium:`প্রিমিয়াম`,upgrade:`আপগ্রেড করুন`,settings:`সেটিংস`,signOut:`সাইন আউট করুন`,openMenu:`নেভিগেশন মেনু খুলুন`,switchLight:`হালকা থিমে স্যুইচ করুন`,switchDark:`অন্ধকার থিমে স্যুইচ করুন`,switchToChinese:`চাইনিজ এ স্যুইচ করুন`,switchToEnglish:`ইংরেজিতে স্যুইচ করুন`,modelsMenu:`মডেলের ধরন ব্রাউজ করুন`,agents:`এজেন্ট`,logs:`লগ`,analyticsMenu:`বিশ্লেষণ পৃষ্ঠা`,notifications:`Notifications`,noNotifications:`No notifications yet`},auth:{createYourAccount:`আপনার অ্যাকাউন্ট তৈরি করুন`,signIn:`সাইন ইন করুন`,email:`ইমেইল`,password:`পাসওয়ার্ড`,emailPlaceholder:`you@example.com`,passwordPlaceholderSetup:`কমপক্ষে 8টি অক্ষর`,passwordPlaceholderLogin:`আপনার পাসওয়ার্ড`,setupDescription:`ইমেল এবং পাসওয়ার্ড সেট করুন যা এই ড্যাশবোর্ডকে সুরক্ষিত করবে।`,loginDescription:`আপনার কী, রাউটিং এবং বিশ্লেষণ পরিচালনা করতে সাইন ইন করুন।`,createAccount:`অ্যাকাউন্ট তৈরি করুন`,creating:`তৈরি করা হচ্ছে...`,signingIn:`সাইন ইন করা হচ্ছে...`,loading:`লোড হচ্ছে...`,newPasswordAutoComplete:`নতুন পাসওয়ার্ড`,currentPasswordAutoComplete:`বর্তমান পাসওয়ার্ড`,serverUnreachableBefore:`সার্ভারে পৌঁছানো যাচ্ছে না। নিশ্চিত করুন যে ব্যাকএন্ড চলছে (`,serverUnreachableAfter:`)`,setupCode:`সেটআপ কোড`,setupCodePlaceholder:`সার্ভার লগ থেকে কোড`,setupCodeHint:`অন্য ডিভাইস থেকে সেট আপ করার জন্য স্টার্টআপের সময় সার্ভার লগগুলিতে প্রিন্ট করা এককালীন কোড প্রয়োজন৷`,changePassword:`পাসওয়ার্ড পরিবর্তন`,changeEmail:`ইমেল পরিবর্তন`,forgotPassword:`পাসওয়ার্ড ভুলে গেছেন?`,currentPassword:`বর্তমান পাসওয়ার্ড`,newPassword:`নতুন পাসওয়ার্ড`,newEmail:`নতুন ইমেল`,resetCode:`রিসেট কোড`,resetCodePlaceholder:`সার্ভার লগ থেকে কোড`,resetCodeHint:`কোডটি সার্ভার লগে আছে। এটি কখনও ইমেইলে পাঠানো হয় না।`,forgotPasswordDescription:`রিসেট কোড তৈরি করতে নিচের বোতামে ক্লিক করুন। কোডটি সার্ভার লগে লেখা হয়, কখনও ইমেইলে পাঠানো হয় না। নতুন পাসওয়ার্ড সেট করতে এখানে দিন।`,requestResetCode:`রিসেট কোড পাঠান`,requestingResetCode:`পাঠানো হচ্ছে…`,resetPassword:`পাসওয়ার্ড রিসেট করুন`,resettingPassword:`রিসেট হচ্ছে…`,changingPassword:`পরিবর্তন হচ্ছে…`,changingEmail:`পরিবর্তন হচ্ছে…`,backToLogin:`সাইন ইনে ফিরুন`,passwordChanged:`পাসওয়ার্ড সফলভাবে পরিবর্তিত হয়েছে।`,emailChanged:`ইমেল সফলভাবে পরিবর্তিত হয়েছে।`,passwordReset:`পাসওয়ার্ড রিসেট হয়েছে। সাইন ইন করুন।`,resetCodeDockerHint:`Docker-এ চালাচ্ছেন? কোডটি কন্টেইনার লগে আছে: docker logs <container>।`,desktopSessionFailed:`ড্যাশবোর্ড লোকাল সার্ভারে সাইন ইন করতে পারেনি। SRouter বন্ধ করে আবার খুলুন।`},common:{save:`সংরক্ষণ করুন`,saving:`সংরক্ষণ করা হচ্ছে...`,cancel:`বাতিল করুন`,discard:`বাতিল করুন`,delete:`মুছে দিন`,confirm:`নিশ্চিত করুন`,copy:`কপি`,copied:`কপি করা হয়েছে`,copyFailed:`কপি করা যায়নি — টেক্সট নির্বাচন করে নিজে কপি করুন`,show:`দেখান`,hide:`লুকান`,apply:`আবেদন করুন`,applied:`প্রয়োগ করা হয়েছে`,applying:`আবেদন করা হচ্ছে...`,active:`সক্রিয়`,inactive:`নিষ্ক্রিয়`,never:`কখনই`,loading:`লোড হচ্ছে...`,error:`ত্রুটি`,noData:`এখনো কোনো তথ্য নেই`,unsavedChanges:`অসংরক্ষিত পরিবর্তন`,saveChanges:`পরিবর্তনগুলি সংরক্ষণ করুন`,remove:`সরান`,unknownError:`অজানা ত্রুটি`,model:`মডেল`,provider:`প্রদানকারী`,success:`সফলতা`,failures:`ব্যর্থতা`,dismiss:`খারিজ`,status:`স্ট্যাটাস`},settings:{title:`সেটিংস`,language:`ভাষা`,theme:`থিম`,themeSystem:`সিস্টেম`,themeLight:`হালকা`,themeDark:`গাঢ়`,searchLanguage:`ভাষা অনুসন্ধান করুন...`,noLanguages:`কোনো ভাষা পাওয়া যায়নি`,sections:`সেটিংস বিভাগ`,sectionGeneral:`সাধারণ`,sectionCompression:`কম্প্রেশন`,sectionAdvanced:`উন্নত`,sectionPreview:`প্রিভিউ`,generalDescription:`এই ড্যাশবোর্ডের ভাষা ও চেহারা।`,advancedDescription:`কম্প্রেশন পাইপলাইনের সীমা ও নিরাপত্তা সুইচ।`,compressionTitle:`প্রম্পট কম্প্রেশন`,compressionDescription:`কোড, ত্রুটি, পাথ, সংখ্যা এবং টুল সংজ্ঞা সংরক্ষণ করে রাউটিংয়ের আগে অনুরোধের আকার কমান।`,compressionHelp:`প্রতিটি অনুরোধ প্রদানকারীর কাছে পাঠানোর আগে পুনর্লিখন করে, যাতে কম টোকেন লাগে। কোড, ত্রুটি, ফাইল পাথ ও সংখ্যা সুরক্ষিত থাকে, এবং সেগুলির ক্ষতি করে এমন যেকোনো পুনর্লিখন বাতিল করা হয়।`,compressionMode:`মোড`,compressionModeHelp:`বন্ধ থাকলে অনুরোধ অপরিবর্তিত পাঠানো হয়। লসলেস কেবল পুনরাবৃত্ত ও অপ্রয়োজনীয় টেক্সট সরায়। স্ট্যান্ডার্ড টুল আউটপুটও সংক্ষিপ্ত করে। আক্রমণাত্মক অতিরিক্তভাবে পুরোনো পর্বগুলিও সংক্ষিপ্ত করে।`,compressionOff:`বন্ধ`,compressionLossless:`লসলেস`,compressionStandard:`স্ট্যান্ডার্ড`,compressionAggressive:`আক্রমণাত্মক`,compressionLossy:`লসি`,compressionEngines:`ইঞ্জিন`,compressionEnginesHelp:`প্রতিটি ইঞ্জিন একটি পুনর্লিখন ধাপ। কোন ইঞ্জিন চলবে তা মোড ঠিক করে; এখানে কোনোটি বন্ধ করলে সেটি সব মোডেই বাদ থাকে।`,engineDedup:`পুনরাবৃত্ত ব্লক`,engineDedupHelp:`কথোপকথনে আগে দেখা গেছে এমন টেক্সট ব্লককে তার একটি সংক্ষিপ্ত রেফারেন্স দিয়ে প্রতিস্থাপন করে।`,engineLite:`ফাঁকা জায়গা পরিষ্কার`,engineLiteHelp:`শেষের ফাঁকা জায়গা ছেঁটে দেয়, পুনরাবৃত্ত ফাঁকা লাইন একত্র করে এবং পুনরাবৃত্ত সিস্টেম বার্তা বাদ দেয়।`,engineReadLifecycle:`অপ্রচলিত ফাইল রিড`,engineReadLifecycleHelp:`একই ফাইল পরে আবার পড়া বা সম্পাদনা হলে আগের ফাইল রিড-কে একটি নোট দিয়ে প্রতিস্থাপন করে।`,engineToolfilter:`টুল আউটপুট ফিল্টার`,engineToolfilterHelp:`বিল্ড, টেস্ট ও ইনস্টলের মতো কমান্ড ও টুল আউটপুট সংক্ষিপ্ত করে। ত্রুটি ও স্ট্যাক-ট্রেস লাইন সবসময় থেকে যায়।`,engineJsoncompact:`JSON টেবিল`,engineJsoncompactHelp:`একই ফিল্ডযুক্ত দীর্ঘ JSON অ্যারেকে সংক্ষিপ্ত টেবিল হিসেবে পুনরায় এনকোড করে। এটি বিপরীতমুখী, তাই কিছুই হারায় না।`,engineRelevance:`প্রাসঙ্গিকতা ফিল্টার`,engineRelevanceHelp:`কোনো বার্তা তার আকারের সীমা ছাড়িয়ে গেলে, সাম্প্রতিক বার্তার সঙ্গে সবচেয়ে কম সম্পর্কিত বাক্যগুলি বাদ দেয়।`,engineAging:`পুরোনো পর্ব`,engineAgingHelp:`সাম্প্রতিক কয়েকটির আগের পর্বগুলিকে একটি সংক্ষিপ্ত সারাংশে পরিণত করে, যেখানে পাথ, ত্রুটি ও সিদ্ধান্ত থেকে যায়।`,engineHardBudget:`টোকেন সীমা`,engineHardBudgetHelp:`অনুরোধটি টোকেন লক্ষ্যমাত্রায় না আসা পর্যন্ত সবচেয়ে কম গুরুত্বপূর্ণ লাইনগুলি সরিয়ে দেয়।`,compressionAutoTrigger:`আনুমানিক টোকেন ছাড়িয়ে গেলে স্বয়ংক্রিয়ভাবে চালু হবে`,compressionAutoTriggerHelp:`এই সংখ্যক টোকেনের বেশি আনুমানিক অনুরোধ স্বয়ংক্রিয়ভাবে আক্রমণাত্মক মোডে চলে যায়। নিষ্ক্রিয় করতে ফাঁকা রাখুন।`,compressionPrefixFreeze:`পুনরাবৃত্ত প্রম্পট প্রিফিক্স ফ্রিজ করুন`,compressionPrefixFreezeHelp:`একই টেক্সট তিনবার দেখা গেলে সিস্টেম প্রম্পট অপরিবর্তিত রাখে, যাতে প্রদানকারীর দিকের প্রম্পট ক্যাশিং কাজ করতে থাকে।`,compressionTrustProjectFilters:`প্রজেক্টের ফিল্টার ফাইল বিশ্বাস করুন`,compressionTrustProjectFiltersHelp:`কাজের ডিরেক্টরি থেকেও টুল-আউটপুট ফিল্টার লোড করে। ডিফল্টভাবে বন্ধ, কারণ কোনো রিপোজিটরি এটি ব্যবহার করে মডেলের কাছ থেকে আউটপুট লুকাতে পারে।`,compressionStats:`আকার সাশ্রয়`,compressionEstimatedTokensSaved:`আনুমানিক টোকেন সাশ্রয়`,compressionPreview:`লাইভ প্রিভিউ`,compressionPreviewDescription:`প্রদানকারী কী পাবে তা দেখতে একটি অনুরোধ বডি পাইপলাইনের মধ্য দিয়ে পাঠান।`,compressionPreviewPlaceholder:`অনুরোধের JSON বা সাধারণ টেক্সট পেস্ট করুন`,compressionRunPreview:`প্রিভিউ চালান`,updatesTitle:`আপডেটসমূহ`,checkForUpdates:`আপডেটের জন্য চেক করুন`,lastChecked:`সর্বশেষ চেক করা হয়েছে: {when}`,currentVersion:`বর্তমান বিল্ড:`,updateAvailable:`আপডেট উপলব্ধ`,changelog:`কী পরিবর্তন হয়েছে`,upToDate:`হালনাগাদ আছে`,buildAhead:`এই বিল্ডটি অফিসিয়াল main-এর চেয়ে এগিয়ে আছে।`,buildDiverged:`এই বিল্ডটি অফিসিয়াল main থেকে বিচ্যুত হয়েছে।`,buildUnknown:`এই কাস্টম বিল্ডটির সঙ্গে অফিসিয়াল main-এর তুলনা করা যায় না।`,notGitInstall:`এই ইনস্টলেশনে কমিটের তথ্য নেই।`,checkFailed:`আপডেট পরীক্ষা করা যায়নি।`,contactsGithub:`পরীক্ষাগুলি ম্যানুয়ালি করা হয় এবং GitHub-এর সঙ্গে যোগাযোগ করে।`,autoUpdateCheck:`স্বয়ংক্রিয় আপডেট পরীক্ষা`,autoUpdateCheckHelp:`দিনে একবার নতুন রিলিজের জন্য GitHub পরীক্ষা করে এবং একটি অনুস্মারক দেখায়। ডিফল্টভাবে বন্ধ।`,openReleases:`GitHub রিলিজ খুলুন`,restartAfterUpdate:`বিল্ড সম্পূর্ণ হওয়ার পর SRouter পুনরায় চালু করুন।`,syncSchedule:`Model Sync`,syncScheduleHint:`How often the model catalog is refreshed from the server`,syncIntervalOff:`Off`,syncInterval6h:`Every 6h`,syncInterval12h:`Every 12h`,syncInterval24h:`Every 24h`},models:JSON.parse(`{"title":"মডেল","chatModelsTab":"চ্যাট মডেল","fusionTab":"ফিউশন","embeddingsTab":"এমবেডিং","imageTab":"ছবি","videoTab":"Video","audioTab":"অডিও","imageDesc":"টেক্সট-টু-ইমেজ জেনারেশন মডেল।","videoDesc":"Text-to-video generation models.","audioDesc":"টেক্সট-টু-স্পিচ এবং স্পিচ-টু-টেক্সট মডেল।","mediaHint":"এর মাধ্যমে তৈরি করুন","mediaEmpty":"এখনো কোনো মডেল নেই। তারা ক্যাটালগ থেকে সিঙ্ক.","ttsHeading":"টেক্সট টু বক্তৃতা","sttHeading":"টেক্সট থেকে বক্তৃতা","sttHint":"মাধ্যমে প্রতিলিপি","sttEmpty":"এখনো কোনো স্পিচ-টু-টেক্সট মডেল নেই। তারা ক্যাটালগ থেকে সিঙ্ক.","newBadge":"নতুন","monthlyTokenBudget":"মাসিক টোকেন বাজেট","remaining":"অবশিষ্ট","used":"ব্যবহৃত","usedScopeHint":"Chat requests only, since the start of this calendar month, summed over every model in the active chain — custom endpoints included. Traffic you send to a provider outside SRouter is not counted.","legendRemainingTitle":"Remaining / monthly budget for {name} ({platform})","noPublishedQuota":"+{count} with no published quota","noPublishedQuotaTitle":"These models have no documented monthly token budget, so there is no remaining figure to show.","of":"এর","showAllModels":"সমস্ত {count} মডেল দেখান","showLess":"কম দেখান","vision":"দৃষ্টি","visionTitle":"ইমেজ ইনপুট গ্রহণ করে","tools":"টুলস","toolsTitle":"স্ট্রাকচার্ড টুল কল নির্গত করে, তাই এটি টুল-বেয়ারিং অনুরোধের জন্য যোগ্য","retired":"প্রত্যাহৃত","penalty":"−{value} পেনাল্টি","obs":"{count} obs","tokPerMonth":"{count} টোক/মাস","rpmLimit":"{count} rpm","rpdLimit":"{count} rpd","noKey":"কোন চাবি নেই","dragToReorder":"পুনরায় সাজাতে টেনে আনুন","dragToReorderGroup":"মডেল পুনরায় সাজাতে টেনে আনুন","moveToRank":"র্যাংকে যান","providerCount":"{count} প্রদানকারী","servedBy":"{providers} দ্বারা পরিবেশিত","viewProviders":"প্রদানকারী দেখুন","backToModels":"মডেলগুলিতে ফিরে যান","providersHeading":"এই মডেল পরিবেশন প্রদানকারী","codeSnippetHeading":"এই মডেল ব্যবহার করুন","modelNotFound":"এই মডেলটি উপলভ্য নয়, বা এটির কোন কনফিগার করা প্রদানকারী নেই।","providerIdsHeading":"প্রদানকারী মডেল আইডি","providerIdsHint":"প্রতিটি প্রদানকারী জুড়ে ব্যর্থ হওয়ার জন্য ইউনিফাইড মডেল আইডি পাঠান, অথবা একটি প্রদানকারীকে পিন করতে একটি প্রদানকারী-নির্দিষ্ট আইডি পাঠান।","copyModelName":"মডেলের নাম কপি করুন","settingsHeading":"প্রদানকারী সেটিংস","settingsHint":"ক্যাটালগ মডেলের স্থানীয় সম্পাদনাগুলি ক্যাটালগ সিঙ্ক জুড়ে রাখা হয়। মুছে ফেলা ক্যাটালগ মডেলগুলি আপনি কনফিগারের মাধ্যমে আবার যোগ না করা পর্যন্ত মুছে ফেলা থাকবে।","catalogModel":"ক্যাটালগ","customModel":"কাস্টম","discoveredModel":"আবিষ্কৃত","localOverride":"স্থানীয় ওভাররাইড","displayName":"প্রদর্শনের নাম","sizeLabel":"সক্ষমতার স্তর","sizeLabelHint":"Frontier/Large/Medium/Small বুদ্ধিমত্তার অক্ষ নির্ধারণ করে: উঁচু স্তর সব সময় নিচু স্তরকে ছাড়িয়ে যায়, আর একই স্তরের ভিতরে বুদ্ধিমত্তার র্যাঙ্ক স্কোরকে নাড়াতে থাকে। স্বীকৃত স্তর ছাড়া মডেল এই অক্ষে সবচেয়ে কম স্কোর পায়, তবে বুদ্ধিমত্তা তিনটি অক্ষের মাত্র একটি — ভালো নির্ভরযোগ্যতা ও গতি থাকলে সেটি তবুও রুট জিততে পারে।","sizeLabelNone":"কিছুই না (সবচেয়ে কম বুদ্ধিমত্তার স্কোর)","contextWindow":"প্রসঙ্গ","inFallback":"শৃঙ্খলে","saveModelSettings":"মডেল সেটিংস সংরক্ষণ করুন","aggregateBudget":"{count}/মাস","aggregateBudgetTitle":"এই মডেলের প্রদানকারী জুড়ে প্রতি মাসে মোট বিনামূল্যে টোকেন","rateRpm":"{count} RPM","rateRpd":"{count} RPD","rateTitle":"হার-সীমিত — কোনো নির্দিষ্ট মাসিক টোকেন বাজেট নেই","rateLimitUsage":"{kind} {used}/{limit}","rateLimitUsageTitle":"সময়-উইন্ডো রেট লিমিট ব্যবহার (ব্যবহৃত / সীমা), সবচেয়ে বেশি অবশিষ্ট ক্ষমতাসম্পন্ন প্রদানকারীর","splitOut":"এই অনুলিপি একত্রিত করবেন না","splitOutHint":"এই প্রদানকারীর অনুলিপিটিকে ইউনিফাইড মডেলে মার্জ করার পরিবর্তে এর নিজস্ব আলাদা এন্ট্রি দিন৷ আপনি অনুলিপির নিজস্ব পৃষ্ঠা থেকে এটি আবার মার্জ করতে পারেন।","splitUndo":"ফিরে একত্রিত","splitUndoHint":"এই কপিটি এর ইউনিফাইড মডেল থেকে আলাদা রাখা হয়েছে। আবার এর সমস্ত প্রদানকারী জুড়ে ব্যর্থ হওয়ার জন্য এটিকে আবার মার্জ করুন।","splitBadge":"আলাদা রাখা হয়েছে","noData":"কোন তথ্য নেই","noDataTitle":"কোন অনুরোধ এখনও রেকর্ড করা হয়নি — নির্ভরযোগ্যতা এবং গতি এই প্রদানকারীর জন্য অপরিমাপিত.","bestOfN":"{count}-এর সেরা","perProviderScores":"প্রতি-প্রদানকারীর স্কোর: {list}","columnModel":"মডেল","columnOn":"চালু","noModelsBefore":"কোন মডেল উপলব্ধ. তে API কী যোগ করুন","keysPageLink":"কী পৃষ্ঠা","noModelsAfter":"প্রথম","hiddenNoKeys":"লুকানো (কোন কী নেই): {platforms}","searchPlaceholder":"মডেল বা প্রদানকারী অনুসন্ধান করুন...","clearSearch":"সাফ অনুসন্ধান","ctxAny":"যেকোন প্রসঙ্গ","ctxBadge":"{size} ctx","ctxTitle":"প্রসঙ্গ উইন্ডো","copyModelId":"মডেল আইডি কপি করুন","showingCount":"{total} মডেলের {shown}","clearFilters":"ফিল্টার সাফ করুন","noMatches":"কোনো মডেল আপনার ফিল্টার মেলে না.","noModelsTitle":"কোন মডেল কনফিগার করা","intelligenceRank":"বুদ্ধিমত্তা","speedRank":"গতি","rankHint":"ক্যাটালগে র্যাঙ্ক — 1 সেরা।","limitRpm":"RPM","limitRpd":"RPD","limitTpm":"TPM","limitTpd":"TPD","limitRpmHint":"প্রতি মিনিটে অনুরোধ। কোনো সীমা না রাখতে ফাঁকা রাখুন।","limitRpdHint":"প্রতি দিনে অনুরোধ। কোনো সীমা না রাখতে ফাঁকা রাখুন।","limitTpmHint":"প্রতি মিনিটে টোকেন। কোনো সীমা না রাখতে ফাঁকা রাখুন।","limitTpdHint":"প্রতি দিনে টোকেন। কোনো সীমা না রাখতে ফাঁকা রাখুন।","usageThisMonth":"মাসিক ব্যবহার","usageEmpty":"এই মাসে এখনও কোনো অনুরোধ নেই।","usageRequestsMonth":"এই মাসে {count}টি অনুরোধ","aliasMergeHeading":"Merge model aliases","aliasMergeHint":"Requests for the unified model id are also served through these custom-provider aliases (e.g. custom:my-alias).","aliasMergeAdd":"Add","aliasMergeRemove":"Remove","bulkToggle":"Enable or disable every shown model","enableAll":"Enable all","disableAll":"Disable all","enableAllHint":"Turn on every model shown, then Save","disableAllHint":"Turn off every model shown, then Save","enabledOfShown":"{enabled} of {shown} shown models are in the chain"}`),strategies:{explore:`অপরিমাপিত মডেল অন্বেষণ করুন`,exploreHint:`Give models with no reliability or speed data a 10% chance to go first so they build a track record. Your real request is what gets sent, so it may be answered by an untested model. For a custom endpoint, use Probe endpoint on the Keys page to test it without live traffic.`,keySelection:`কী নির্বাচন`,keySelectionAuto:`স্বয়ংক্রিয়`,keySelectionLeastRemaining:`সবচেয়ে কম অবশিষ্ট`,keySelectionHint:`একই প্রদানকারীর একাধিক কী-এর মধ্যে কীভাবে বাছাই করা হবে। স্বয়ংক্রিয় বর্তমান রোটেশন বজায় রাখে; সবচেয়ে কম অবশিষ্ট পর্যবেক্ষিত কোটা অনুযায়ী কী সাজায় এবং সবচেয়ে বেশি বাকি থাকা কী আগে চেষ্টা করে।`,cooldownCeiling:`সর্বোচ্চ স্বয়ংক্রিয় কুলডাউন`,cooldownCeilingHint:`রাউটারের নিজস্ব অনুমান কোনো ব্যর্থ কী ও মডেল জুটিকে কতক্ষণ বসিয়ে রাখতে পারে তা সীমিত করে। সিঁড়ি সাধারণত ২ মিনিট, ১০ মিনিট, ১ ঘণ্টা, ২৪ ঘণ্টা পর্যন্ত ওঠে, আর ক্রেডিট বা স্তরের ত্রুটি এক দিনের জন্য বসিয়ে রাখে। প্রদানকারীর জানানো পুনঃচেষ্টার সময় কখনও কমানো হয় না।`,cooldownCeilingDefault:`ডিফল্ট (২৪ ঘণ্টা পর্যন্ত)`,cooldownCeiling10m:`১০ মিনিট`,cooldownCeiling1h:`১ ঘণ্টা`,cooldownCeiling6h:`৬ ঘণ্টা`,moreOptions:`আরও বিকল্প`,peakActive:`(ব্যস্ত সময়)`,peakActiveHint:`ব্যস্ত-সময় সমন্বয় এখন সক্রিয়, তাই এগুলো প্রিসেটের নিজস্ব ওজন নয়: গতির ওজনের ৬০% নির্ভরযোগ্যতায় সরানো হয়েছে।`,peakAdjust:`ব্যস্ত-সময় সমন্বয়`,peakAdjustHint:`ডিফল্টভাবে বন্ধ। নিচের সময়সীমার ভেতরে গতির ওজনের ৬০% নির্ভরযোগ্যতায় সরে যায় — ফ্রি রিলে তখনই সবচেয়ে ব্যস্ত থাকে, তাই কাঁচা থ্রুপুটের চেয়ে নির্ভরযোগ্যতা সাফল্য ভালো আঁচ করে। «দ্রুততম» ও «সবচেয়ে নির্ভরযোগ্য» অপরিবর্তিত থাকে।`,peakFrom:`থেকে`,peakTo:`পর্যন্ত`,peakTimezoneLabel:`সময় অঞ্চল`,peakUseBrowserTimezone:`ব্রাউজারের সময় অঞ্চল ব্যবহার করুন`,peakTimezoneInvalid:`অজানা সময় অঞ্চল।`,peakExemptNote:`এই প্রিসেট অপরিবর্তিত থাকে — এটি ইতিমধ্যেই গতি/নির্ভরযোগ্যতা সমঝোতার এক প্রান্তে আছে।`,title:`রাউটিং কৌশল`,description:`একটি রাউটিং কৌশল বেছে নিন। ম্যানুয়াল মোডে আপনি অর্ডার সেট করতে টেনে আনুন; নির্ভরযোগ্যতা, গতি এবং বুদ্ধিমত্তা জুড়ে লাইভ স্কোরের মাধ্যমে অন্যান্য কৌশলগুলি।`,weightsSummary:`নির্ভরযোগ্যতা {reliability}% · গতি {speed}% · বুদ্ধিমত্তা {intelligence}%`,guardrails:`গার্ডেল`,guardrailsTooltip:`সর্বদা-চালু গার্ডেল: ফ্রি-কোটা হেডরুম × লাইভ রেট-সীমা জরিমানা। 1.0 এর নিচে মানে মডেলটিকে আটকে রাখা হচ্ছে।`,scoreTooltip:`চূড়ান্ত রাউটিং স্কোর = তিনটি অক্ষের ওজনযুক্ত গড়, গার্ডেল দ্বারা গুণিত। প্রথমে উচ্চতর রুট।`,modeManualHint:`ম্যানুয়াল মোড: অনুরোধগুলি নীচের আদেশ অনুসরণ করে, উপরে থেকে নীচে। পুনরায় সাজাতে টেনে আনুন।`,modeScoreHint:`লাইভ ট্রাফিক থেকে স্কোর আপডেট. নিচের ক্রমটি হল এই মুহূর্তে অনুরোধগুলি কীভাবে রুট করা হয়।`,manual:`ম্যানুয়াল`,manualBlurb:`আপনি নীচে সেট করা সঠিক ক্রমে রুট করুন। পুনরায় সাজাতে হ্যান্ডলগুলি টেনে আনুন। কোন স্কোরিং নেই; চেইন উপরে থেকে নীচে অনুসরণ করা হয়.`,balanced:`সুষম`,balancedBlurb:`নির্ভরযোগ্যতা লিড (50%), গতি এবং বুদ্ধিমত্তা সমানভাবে ওজনযুক্ত (প্রতিটি 25%)। একটি বুদ্ধিমান অলরাউন্ড ডিফল্ট.`,smartest:`সবচেয়ে স্মার্ট`,smartestBlurb:`সবচেয়ে সক্ষম মডেল পছন্দ করুন যা এখনও কাজ করে। বুদ্ধিমত্তা 55%, নির্ভরযোগ্যতা 35%, গতি 10%।`,fastest:`দ্রুততম`,fastestBlurb:`দ্রুততম মডেলটিকে পছন্দ করুন যা এখনও কাজ করে। গতি 55%, নির্ভরযোগ্যতা 35%, বুদ্ধিমত্তা 10%।`,reliable:`সবচেয়ে নির্ভরযোগ্য`,reliableBlurb:`সর্বোপরি সাফল্যের হার সর্বাধিক করুন। নির্ভরযোগ্যতা 70%, গতি এবং বুদ্ধিমত্তা 15% প্রতিটি।`,custom:`কাস্টম`,customBlurb:`স্লাইডারগুলির সাথে আপনার নিজের নির্ভরযোগ্যতা, গতি এবং বুদ্ধিমত্তার ভারসাম্য সেট করুন। প্রিসেটের মতো একই ইঞ্জিন, শুধু আপনার ওজন।`,adjust:`সামঞ্জস্য করুন`,customWeights:`কাস্টম ওজন`,customWeightsHelp:`স্লাইডার স্বাধীন; অটো-ব্যালেন্স 100% শেয়ার করে।`,weightReliability:`নির্ভরযোগ্যতা`,weightSpeed:`গতি`,weightIntelligence:`বুদ্ধিমত্তা`,weightRequired:`কমপক্ষে একটি ওজন শূন্যের উপরে হতে হবে।`,scoreColumn:`স্কোর`},penaltyInspector:{title:`রাউটারের চাপ`,subtitle:`শেষ {minutes} মিনিট থেকে পেনাল্টি, কুলডাউন এবং ব্যর্থতা`,rowCount:`{count} সক্রিয়`,offChain:`চেইন বন্ধ`,penaltyValue:`পেনাল্টি {value}`,factor:`স্কোর x{factor}`,noCooldown:`কুলডাউন নেই`,cooldownChip:`{key} - {time}`,resetCooldown:`Reset cooldown`,clearAll:`সব মুছুন`,clearAllHint:`সব কুলডাউন, জরিমানা ও ব্যর্থতার ধারা এখনই তুলে নিন। পরবর্তী বাস্তব ফলাফল থেকে চাপ আবার তৈরি হয়।`,errorsHeading:`{count} সাম্প্রতিক ত্রুটি৷`,noRecentErrors:`কোন সাম্প্রতিক ত্রুটি`,noKey:`কোন চাবি নেই`,reasons:{penalty:`শাস্তিপ্রাপ্ত`,cooldown:`কুলডাউন`,recent_errors:`ব্যর্থ`}},keys:JSON.parse(`{"pageTitle":"চাবি","pageDescription":"প্রদানকারীর শংসাপত্র এবং ইউনিফাইড API কী যেটির সাথে আপনার অ্যাপগুলি সংযোগ করে৷","tabProviders":"প্রদানকারী","checklistSummary":"{total}টি প্রদানকারীর মধ্যে {configured}টি কনফিগার করা হয়েছে","checklistKeyless":"কোনো কী প্রয়োজন নেই","checklistNoKeyTip":"এখনও কোনো কী যোগ করা হয়নি। যোগ করতে ক্লিক করুন।","checklistSignupLink":"অ্যাকাউন্ট তৈরি করতে এবং কী পেতে {provider} খুলুন","checklistKeylessTip":"কী ছাড়াই কাজ করে।","tabQuotaSignals":"কোটা সংকেত","tabApiKey":"ইউনিফাইড API কী","tabAnthropic":"Anthropic","unifiedKey":"আপনার ইউনিফাইড API কী","regenerate":"পুনর্জন্ম","showKey":"দেখান","hideKey":"লুকান","copyKey":"কপি","copyFullKey":"সম্পূর্ণ কী কপি করুন","copiedKey":"কপি করা হয়েছে","baseUrl":"বেস URL","endpointChat":"চ্যাট","endpointResponses":"প্রতিক্রিয়া","endpointEmbeddings":"এমবেডিং","endpointEmbeddingsHint":"model: \\"auto\\" বা এম্বেডিং ট্যাব থেকে একটি পরিবার","endpointMessages":"বার্তা","endpointMessagesHint":"Anthropic- সামঞ্জস্যপূর্ণ (Claude)","quickStart":"Quick start","quickStartDesc":"Use auto for your active routing chain, or auto:fast to prioritize speed across enabled models. Replace $YOUR_KEY with your unified API key.","exampleAuto":"Auto mode (use the active chain)","exampleFast":"Fast mode (prioritize speed)","anthropicTitle":"Claude (Anthropic) মডেল","anthropicDesc":"এই সার্ভারে একটি Claude বা Anthropic SDK ক্লায়েন্ট নির্দেশ করুন৷ Anthropic ক্লায়েন্টরা Claude মডেলের নাম পাঠায় — প্রতিটিকে অটোতে ম্যাপ করুন (রাউটার একটি বিনামূল্যের মডেল বেছে নেয়) অথবা একটি নির্দিষ্ট একটি পিন করে।","anthropicBaseUrl":"বেস URL","anthropicAuth":"প্রমাণ শিরোনাম","anthropicAuto":"অটো — রাউটার সেরা মডেল বাছাই করে","anthropicSave":"ম্যাপিং সংরক্ষণ করুন","anthropicSaved":"সংরক্ষিত","anthropicNote":"Anthropic ক্লায়েন্টরা তাদের অন্তর্নির্মিত Claude মডেলের নাম রাখে; উপরের ম্যাপিং নির্ধারণ করে যে প্রত্যেকে কীভাবে আপনার পুলে যাবে।","familyDefault":"ডিফল্ট","familyOpus":"ওপাস","familySonnet":"সনেট","familyHaiku":"হাইকু","selectPlatform":"একটি প্রদানকারী নির্বাচন করুন","addKey":"কী যোগ করুন","keyAdded":"কী যোগ করা হয়েছে","endpointKeysShareModels":"একই এন্ডপয়েন্টের কীগুলি একই মডেল ভাগ করে।","export":"রপ্তানি","exportAll":"সব কী","exportHealthy":"শুধুমাত্র স্বাস্থ্যকর","exportKeys":"API কী রপ্তানি করুন","exportFormat":"বিন্যাস","exportHealthyOnly":"শুধুমাত্র স্বাস্থ্যকর কী","exportHealthyOnlyDesc":"বর্তমানে স্বাস্থ্য পরীক্ষা ব্যর্থ হচ্ছে এমন কীগুলি বাদ দিন","exportWillExport":"রপ্তানি করবে","exportKey":"চাবি","exportKeys plural":"কী","exporting":"রপ্তানি হচ্ছে...","exportDownload":"ডাউনলোড করুন","exportSuccess":"রপ্তানি করা {count} কী","adding":"যোগ করা হচ্ছে...","selectProvider":"একটি প্রদানকারী নির্বাচন করুন...","accountId":"অ্যাকাউন্ট আইডি","label":"লেবেল","noKeyNeeded":"(কোন চাবির প্রয়োজন নেই)","outboundProxy":"আউটবাউন্ড প্রক্সি","outboundProxyDescription":"একটি প্রক্সির মাধ্যমে আউটবাউন্ড এলএলএম অনুরোধগুলিকে রুট করুন৷ SOCKS5, HTTP, এবং HTTPS সমর্থন করে।","proxyUrl":"প্রক্সি URL","saveProxy":"সংরক্ষণ করুন","savingProxy":"সংরক্ষণ করা হচ্ছে...","proxyLoadFailed":"প্রক্সি সেটিংস লোড করা যায়নি৷","proxyMode":"Mode","proxyModeForward":"Forward proxy","proxyModeFetchRelay":"Fetch relay","relayToken":"Relay token","relayTokenConfigured":"Configured. Leave unchanged to keep.","relayTokenPlaceholder":"Relay bearer token (optional)","relayHeadersHint":"The relay reads the destination and its own credential from","addCustom":"একটি কাস্টম OpenAI- সামঞ্জস্যপূর্ণ মডেল যোগ করুন","addCustomDescription":"যেকোনো OpenAI-সামঞ্জস্যপূর্ণ এন্ডপয়েন্টে চ্যাট, এম্বেডিং, ছবি বা অডিও মডেল পয়েন্ট করুন। API কী স্থানীয় সার্ভারের জন্য ঐচ্ছিক।","customType":"টাইপ","customTypeChat":"চ্যাট","customTypeEmbedding":"এমবেডিং","customTypeImage":"ছবি","customTypeAudio":"অডিও","customTypeTranscription":"Transcription","customBaseUrl":"বেস URL","customModels":"মডেল","customModel":"মডেল","customDisplayName":"প্রদর্শনের নাম","customDisplayNamePerModel":"প্রতি মডেল","customDisplayNameOptional":"ঐচ্ছিক","customFamily":"পরিবার","customFamilyPlaceholder":"মডেল আইডিতে ডিফল্ট","customApiKey":"API কী","customCapabilities":"ক্ষমতা","addModel":"মডেল যোগ করুন","modelAdded":"মডেল যোগ করা হয়েছে","addModels":"{count} মডেল যোগ করুন","addEmbeddingModel":"এম্বেডিং যোগ করুন","addImageModel":"ইমেজ মডেল যোগ করুন","addAudioModel":"অডিও মডেল যোগ করুন","addTranscriptionModel":"Add transcription model","addingCustom":"যোগ করা হচ্ছে...","discoverModels":"মডেল আনুন","probeNow":"এন্ডপয়েন্ট পরীক্ষা করুন","probeConfirm":"সর্বোচ্চ ৩টি পরীক্ষামূলক অনুরোধ পাঠাবেন?","probeCapabilities":"যুক্তি: {reasoning} · টুল: {tools}","probeCapYes":"হ্যাঁ","probeCapNo":"না","probeCapUnknown":"অজানা","probeSuccess":"{model} {latency}ms-এ পরীক্ষা করা হয়েছে","probeFailed":"পরীক্ষা ব্যর্থ হয়েছে: {reason}","discoverTitle":"এই এন্ডপয়েন্টের মডেল","discoverHint":"নিবন্ধনের জন্য মডেল বেছে নিন। ইতিমধ্যে যোগ করা মডেল লক থাকে।","discoverEmpty":"এই এন্ডপয়েন্ট কোনো মডেল ফেরত দেয়নি।","discoverAlreadyAdded":"যোগ করা হয়েছে","discoverSelectAll":"সব নির্বাচন করুন","modelsAdded":"{count}টি মডেল যোগ করা হয়েছে","getApiKey":"API কী পান","deleteKeyConfirm":"এই কী মুছবেন? এটি পূর্বাবস্থায় ফেরানো যাবে না।","checkAll":"সব চেক করুন","checking":"পরীক্ষা করা হচ্ছে...","editLabel":"লেবেল সম্পাদনা করুন","saveLabel":"লেবেল সংরক্ষণ করুন","unifiedKeyDescBefore":"এটি আপনার OpenAI হিসাবে ব্যবহার করুন","unifiedKeyDescAfter":"; এটি এই প্রক্সির অনুরোধগুলিকে প্রমাণীকরণ করে৷","serverUnreachableBefore":"সার্ভারে পৌঁছানো যাচ্ছে না","serverUnreachableAfter":". নিশ্চিত করুন যে ব্যাকএন্ড চলছে। npm run dev উভয়ই শুরু হয় এবং সার্ভার লগগুলি সার্ভার উপসর্গের অধীনে মুদ্রণ করে।","paneProviderKey":"প্রদানকারী কী","paneImportFile":"ফাইল আমদানি করুন","paneCustomEndpoint":"কাস্টম শেষ বিন্দু","platform":"প্ল্যাটফর্ম","hideAdded":"যোগ করা প্রদানকারী লুকান","apiToken":"API টোকেন","keyOptionalPlaceholder":"ঐচ্ছিক","bearerTokenPlaceholder":"বহনকারী টোকেন","pasteKeyPlaceholder":"এখানে কী পেস্ট করুন","pasteSeveral":"একাধিক পেস্ট করুন","keyOptionalHint":"ঐচ্ছিক: বেনামী ফ্রি টিয়ারের জন্য খালি রাখুন (প্রতি IP-তে হার-সীমিত), অথবা আপনার অ্যাকাউন্ট ব্যবহার করতে নিজের কী পেস্ট করুন।","enable":"সক্ষম করুন","noProviderKeys":"এখনও কোন প্রদানকারী কী. রাউটিং শুরু করতে উপরে একটি যোগ করুন।","filterPlaceholder":"ফিল্টার প্রদানকারী বা কী","filterAll":"সব","filterHealthy":"সুস্থ","filterIssues":"ইস্যু","filterDisabled":"অক্ষম","noFilterMatch":"কোনো প্রদানকারী আপনার ফিল্টার মেলে না.","providerCountSummary":"{providers} প্রদানকারী · {keys} কী","summaryHealthy":"{count} সুস্থ","summaryIssueOne":"{count} সমস্যা","summaryIssueOther":"{count} সমস্যা","providerActions":"প্রদানকারী কর্ম","routeViaProxy":"প্রক্সি মাধ্যমে রুট","checkNow":"এখন পরীক্ষা করুন","syncModels":"Sync models with upstream","syncModelsResult":"Model list synced: {added} added, {total} live","syncModelsFailed":"Model sync failed: {reason}","syncAllModels":"Sync all providers","syncAllPending":"Syncing…","syncAllResult":"Synced {count} provider(s): {registered} model(s) registered","syncAllFailed":"Sync all failed: {reason}","syncAllNoChanges":"All provider rosters are already up to date","syncAllDialogTitle":"Sync Results","syncAllDialogSummary":"Changes detected in {changed} of {total} providers","syncAllNew":"+{count} new","syncAllUpdated":"{count} updated","syncAllRetired":"{count} retired","syncAllNewModels":"New models","syncAllUpdatedModels":"Updated models","syncAllRetiredModels":"Retired models","syncAllDialogClose":"Done","proxyEnvHintBefore":"এছাড়াও মাধ্যমে কনফিগারযোগ্য","proxyEnvHintAfter":"পরিবেশ পরিবর্তনশীল (অগ্রাধিকার নেয়)। নিষ্ক্রিয় করতে ফাঁকা ছেড়ে দিন। উদাহরণ:","importKeys":"সরবরাহকারী কী আমদানি করুন","importKeysDescription":".env, JSON, JSONC, CSV, Markdown, বা পাঠ্য ফাইলগুলি আপলোড করুন৷","importFiles":"ফাইল","importFileCount":"{count} নির্বাচিত হয়েছে৷","previewFiles":"পূর্বরূপ","previewing":"পূর্বরূপ দেখা হচ্ছে...","selected":"নির্বাচিত","provider":"প্রদানকারী","keyName":"মূল নাম","keyValue":"মূল মান","chooseProvider":"প্রদানকারী নির্বাচন করুন","noPreviewKeys":"সেই ফাইলগুলিতে কোন কী পাওয়া যায়নি।","skippedItems":"এড়িয়ে যাওয়া:","moreItems":"+{count} আরও","importSelected":"{count} আমদানি করুন","importing":"আমদানি করা হচ্ছে...","noImportSelection":"একটি প্রদানকারীর সাথে কমপক্ষে একটি সারি নির্বাচন করুন৷","duplicate":"ডুপ্লিকেট","duplicatesFound":"{count} সদৃশ (গুলি) সনাক্ত করা হয়েছে — ইতিমধ্যেই বিদ্যমান এবং এড়িয়ে যাওয়া হবে৷","importResult":"আমদানি করা {imported}; ব্যর্থ {failed}.","importModelCount":"+{count}টি মডেল","importResultWithModels":"আমদানি করা {imported}; {models}টি মডেল নিবন্ধিত হয়েছে; ব্যর্থ {failed}.","confirmRemove":"নিশ্চিত?","quotaSignalsTitle":"কোটা সংকেত","quotaSignalsEmptyTitle":"এখনও কোন কোটা পর্যবেক্ষণ","quotaSignalsEmptyDesc":"প্রদানকারীরা হার-সীমা শিরোনাম, কোটা ত্রুটি, বা বৈধতা সংকেত ফেরত দেওয়ার পরে এটি পূরণ হয়।","quotaKeyRef":"কী #{id}","quotaPoolRef":"পুল {pool}","quotaLimit":"সীমা","quotaRemaining":"অবশিষ্ট","quotaReset":"রিসেট করুন","quotaObserved":"পর্যবেক্ষণ করা হয়েছে","tabAgents":"এজেন্ট","familyGeminiPro":"Gemini Pro","familyGeminiFlash":"Gemini Flash","familyGeminiFlashLite":"Gemini Flash-Lite","geminiTitle":"Gemini মডেল ম্যাপিং","geminiDesc":"Gemini Pro, Flash এবং Flash-Lite নামগুলি Auto বা ক্যাটালগের একটি নির্দিষ্ট মডেলে ম্যাপ করুন।","compatibilityTitle":"এজেন্ট সামঞ্জস্য","compatibilityDesc":"ঐচ্ছিক সামঞ্জস্য পৃষ্ঠতল এবং Claude Code মডেল আবিষ্কার নিয়ন্ত্রণ করুন।","ollamaMode":"Ollama এমুলেশন","ollamaModeHint":"লুপব্যাকে খোলা মোড কখনও প্রমাণীকরণবিহীন LAN ট্র্যাফিক গ্রহণ করে না।","ollamaOff":"বন্ধ","ollamaLoopback":"লুপব্যাকে খোলা","ollamaKeyRequired":"API কী প্রয়োজন","claudeAliases":"Claude Code আবিষ্কারের অ্যালিয়াস","claudeAliasesHint":"গেটওয়ের মডেল নির্বাচক যাতে ক্যাটালগ তালিকাভুক্ত করতে পারে সেজন্য claude/<model> অ্যালিয়াস উন্মুক্ত করুন।","mcpServer":"MCP সার্ভার","mcpServerHint":"এজেন্ট ক্লায়েন্টের জন্য /mcp এন্ডপয়েন্ট উন্মুক্ত করে। নতুন ইনস্টলে এটি বন্ধ থাকে।","urlTokensTitle":"প্রত্যাহারযোগ্য URL টোকেন","urlTokensDesc":"শুধুমাত্র হেডারবিহীন ক্লায়েন্টদের জন্য। URL টোকেন ইতিহাস এবং লগে ফাঁস হতে পারে, তাই আর প্রয়োজন না হলে সেগুলি প্রত্যাহার করুন।","urlTokenLabel":"টোকেন লেবেল","createUrlToken":"টোকেন তৈরি করুন","urlTokenOnce":"এই টোকেনটি এখনই কপি করুন। এটি আর দেখানো হবে না।","revoked":"প্রত্যাহার করা হয়েছে","revoke":"প্রত্যাহার করুন","modelScope":"মডেল পরিধি","modelScopeDesc":"এই কী-টিকে নির্দিষ্ট মডেল ID-তে সীমাবদ্ধ করুন। অন্য যেকোনো মডেলের জন্য রাউটার এই কী এড়িয়ে যায়।","modelScopeAdd":"মডেল ID লিখে Enter চাপুন","modelScopeEmpty":"কোনো পরিধি সেট নেই — এই কী তার প্রোভাইডারের সব মডেলের জন্য কাজ করে।","modelScopeClear":"পরিধি মুছুন","modelScopeBadgeOne":"সীমিত · 1টি মডেল","modelScopeBadgeOther":"সীমিত · {count}টি মডেল","modelPicker":{"title":"এই কী কোন মডেলগুলির জন্য কাজ করবে?","hint":"আপনার {provider} কী যোগ করা হয়েছে এবং এটি এখন নিচের প্রতিটি মডেলের জন্য কাজ করে। যেসব মডেলে এই কী ব্যবহার করা উচিত নয়, সেগুলির টিক তুলে দিন — রাউটার সেগুলির জন্য এই কী এড়িয়ে যাবে।","count":"{total}টির মধ্যে {selected}টি নির্বাচিত","allNote":"সবকিছু নির্বাচিত — কিছুই সংরক্ষণ করা হয় না, এবং পরে ক্যাটালগে যোগ হওয়া মডেলগুলিও এই কী ব্যবহার করবে।","subsetNote":"এই কী শুধুমাত্র নির্বাচিত মডেলগুলিতে সীমাবদ্ধ থাকবে। আপনি পরে কী-এর সারি থেকে এটি পরিবর্তন করতে পারবেন।","skip":"এখন নয়","scopedOne":"কী 1টি মডেলে সীমাবদ্ধ","scopedOther":"কী {count}টি মডেলে সীমাবদ্ধ","allSaved":"Key serves every catalog model"},"cpTitle":"ক্লায়েন্ট প্রোফাইল","cpDesc":"প্রতিটি ক্লায়েন্টের জন্য আলাদা API কী, যার সিস্টেম প্রম্পট সার্ভার সবসময় প্রয়োগ করে।","cpEmpty":"এখনও কোনো ক্লায়েন্ট প্রোফাইল নেই।","cpNameLabel":"নাম","cpNamePlaceholder":"যেমন: সাপোর্ট বট","cpPromptLabel":"সিস্টেম প্রম্পট (ঐচ্ছিক)","cpPromptPlaceholder":"এই কী দিয়ে করা প্রতিটি অনুরোধের আগে সার্ভার এই নির্দেশাবলি যুক্ত করে।","cpCreate":"প্রোফাইল তৈরি করুন","cpRotate":"কী পরিবর্তন করুন","cpKeyOnce":"এই কী এখনই কপি করুন — এটি আর দেখানো হবে না।","cpEnabledAria":"প্রোফাইল সক্রিয়","selectKey":"এই কী নির্বাচন করুন","bulkSelected":"{count} নির্বাচিত","bulkEnable":"সব সক্ষম করুন","bulkDisable":"সব নিষ্ক্রিয় করুন","bulkDelete":"সব মুছে দিন","bulkDeleteConfirm":"{count}টি মুছবেন?","bulkResult":"{done}টি হালনাগাদ হয়েছে; {failed}টি ব্যর্থ।","bulkDeleteResult":"{done}টি মুছে ফেলা হয়েছে; {failed}টি ব্যর্থ।","testProxy":"Test","testingProxy":"Testing…","proxyTestOk":"Proxy works — {ms}ms round trip","proxyTestFail":"Proxy failed: {reason}","editKey":"কী সম্পাদনা করুন","editPlatformLocked":"তৈরির পরে প্রোভাইডার বা এন্ডপয়েন্ট পরিবর্তন করা যাবে না।","editCredentialHint":"বর্তমান কী রাখতে ফাঁকা রাখুন।","editCredentialPartsRequired":"অ্যাকাউন্ট আইডি ও API টোকেন—দুটিই দিন।","editModels":"মডেল সম্পাদনা","editModelsHint":"Choose which catalog models this key may serve. Select everything to clear the scope so future catalog models use it too.","editModelsCustomHint":"Choose which registered endpoint models this key may serve. Select everything to clear the scope.","editModelsSync":"Check catalog updates","editModelsSyncing":"Checking…","editModelsSynced":"Model catalog checked","outlookUnavailable":"Unavailable","outlookNoForecasts":"Forecast unavailable. More recent traffic or reliable quota readings are needed.","outlookCoverage":"Forecasts available for {count} of {total} pools.","outlookTraffic":"{count} successful requests through this instance in the last {minutes} minutes.","outlookMinimumTraffic":"An exhaustion forecast needs at least {count} successful requests within {minutes} minutes.","outlookNotReportedHint":"The provider has not reported a usable request balance and limit. Local usage is shown; remaining quota is unavailable.","outlookMissingResetHint":"The provider did not report a valid reset time. Remaining quota cannot support an exhaustion forecast.","outlookConfidenceHint":"This balance is not reliable enough for an exhaustion forecast.","outlookObserved":"Balance observed: {time}","outlookUnavailablePools":"Unavailable quota pools ({count})","outlookTitle":"Quota outlook","outlookInsufficient":"Not enough data","outlookLowBalance":"Low balance","outlookRunningLow":"Running low soon","outlookStale":"Needs fresh data","outlookUnknown":"Unknown","outlookWithinQuota":"Within quota","outlookResetsFirst":"Not before reset","outlookExhausted":"Already exhausted","outlookLastReported":"requests last reported","outlookRequestsLeft":"requests left","outlookNotReported":"Not reported","outlookRate":"Recent rate","outlookRateValue":"{count} req/min","outlookRunsOut":"May run out","outlookStaleHint":"This balance is old or its window has expired. A fresh provider reading is needed.","outlookError":"Could not load quota forecasts. Raw observations are still available below.","outlookRetry":"Retry","outlookAttention":"Quota pools needing attention: {count}","outlookNoWarnings":"No forecast warnings. Pools with insufficient data may still be limited.","outlookHint":"Rates count successful requests through this instance only, not usage elsewhere. Forecasts require recent provider balances and reported resets. Warnings appear below 20% remaining or when quota may run out within two hours, before reset.","outlookRaw":"Raw quota observations","addCustomModel":"কাস্টম মডেল যোগ করুন","modelId":"মডেল আইডি","modelIdRequired":"মডেল আইডি আবশ্যক","modelDisplayName":"প্রদর্শনের নাম","modelContextWindow":"কনটেক্সট উইন্ডো (টোকেন)","modelRateLimits":"রেট সীমা (ঐচ্ছিক)","modelSupportsTools":"টুল কলিং সমর্থন করে","modelSupportsToolsHint":"যদি এই মডেলটি ফাংশন বা টুল কল করতে পারে তবে সক্রিয় করুন","modelSupportsVision":"ভিশন সমর্থন করে","modelSupportsVisionHint":"যদি এই মডেলটি চিত্র ইনপুট গ্রহণ করে তবে সক্রিয় করুন","createModel":"মডেল তৈরি করুন","modelAddedSuccess":"কাস্টম মডেল সফলভাবে যোগ করা হয়েছে","modelAddFailed":"কাস্টম মডেল যোগ করতে ব্যর্থ হয়েছে","testModel":"পরীক্ষা করুন","testingModel":"পরীক্ষা করা হচ্ছে…","testPassedShort":"সফল","testFailedShort":"ব্যর্থ","testPassed":"মডেল পরীক্ষা {latency}ms-এ সফল হয়েছে","testFailed":"মডেল পরীক্ষা ব্যর্থ হয়েছে","testThrottled":"এই মডেলটি আবার পরীক্ষা করার আগে অনুগ্রহ করে {seconds} সেকেন্ড অপেক্ষা করুন।","noModelsForProvider":"এই প্রদানকারীর জন্য কোনো মডেল কনফিগার করা হয়নি।","testModels":"মডেল পরীক্ষা করুন","syncAllCatalog":"Catalog: +{inserted} added, ~{updated} updated, -{removed} removed","requestCapLabel":"Request cap","tokenCapLabel":"Token cap","budgetPeriodLabel":"Budget period","budgetPeriodDaily":"Daily","budgetPeriodWeekly":"Weekly","budgetPeriodMonthly":"Monthly","budgetPeriodAuto":"Auto (follow provider)","autoResolvedDaily":"Detected provider cycle: daily","autoResolvedMonthly":"Detected provider cycle: monthly","autoResolvedFallback":"Provider cycle unknown, defaulting to monthly","capUnlimitedPlaceholder":"সীমাহীন","capEditHint":"Caps reset at the next period boundary, 00:00 UTC. Leave blank for unlimited.","monthlyUsageLine":"এই মাসে {requests} অনুরোধ, {tokens} টোকেন","monthlyUsageRequests":"{requests} requests","monthlyUsageTokens":"{tokens} tokens","monthlyUsageRequestsRelative":"{used} / {cap} ({remaining} left) requests","monthlyUsageTokensRelative":"{used} / {cap} ({remaining} left) tokens","monthlyUsageReset":"reset {date}"}`),backups:{title:`Backups`,description:`Save the routing data to a .sql file beside the database, and restore it later.`,excludedNote:`A backup carries your providers, models, routing settings and request history. Accounts, sessions and URL tokens are never included, so a dump holds no password hashes or login tokens and restoring one cannot log you out. Provider keys stay encrypted with this server's ENCRYPTION_KEY: a backup can only be restored on a server that still holds that key.`,selectHint:`Back up everything, or pick the tables you need.`,selectAll:`Select all`,deselectAll:`Clear`,fullBackup:`Full backup`,backupSelected:`Back up selected ({count})`,created:`Backup written to {filename}`,list:`Backups on disk`,empty:`No backups yet`,full:`All tables`,tablesCount:`{count} tables`,manual:`Manual`,scheduled:`Scheduled`,preRestore:`Pre-restore`,download:`Download`,restore:`Restore`,confirmRestore:`Replace data?`,restored:`Restored. The previous data was saved as {filename}.`,delete:`Delete backup`,prevPage:`Previous`,nextPage:`Next`,autoTitle:`Automatic backups`,autoHint:`The server writes a full backup on this cadence.`,time:`Time (HH:mm)`,intervalDays:`Every N days`,path:`Folder`,pathPlaceholder:`backups`,pathHint:`Relative to the database directory. Backups cannot be written outside it.`,save:`Save schedule`,saved:`Saved`},status:{healthy:`সুস্থ`,rateLimited:`হার-সীমিত`,invalid:`অবৈধ`,error:`ত্রুটি`,unchecked:`আনচেক`},analytics:{title:`বিশ্লেষণ`,description:`অনুরোধ ভলিউম, লেটেন্সি, টোকেন ব্যবহার, এবং ব্যর্থতা.`,range24h:`24 ঘন্টা`,range7d:`7d`,range30d:`30d`,range90d:`90d`,requests:`অনুরোধ`,successRate:`সাফল্যের হার`,inputTokens:`ইনপুট টোকেন`,outputTokens:`আউটপুট টোকেন`,avgLatency:`গড় বিলম্ব`,p95Latency:`P95 লেটেন্সি`,avgTtft:`গড় TTFT`,estSavings:`অনুমান। সঞ্চয়`,requestsByProvider:`প্রদানকারী দ্বারা অনুরোধ`,avgLatencyByProvider:`প্রদানকারীর দ্বারা গড় বিলম্ব`,ttftByProvider:`প্রদানকারীর দ্বারা প্রথম টোকেন করার সময়`,ttftEmpty:`প্রথম টোকেন করার সময় এখনও রেকর্ড করা হয়নি।`,requestsOverTime:`সময়ের সাথে সাথে অনুরোধ`,tokensOverTime:`সময়ের সাথে টোকেন`,byModel:`মডেল দ্বারা`,byPlatform:`প্ল্যাটফর্ম দ্বারা`,errors:`ত্রুটি`,errorDistribution:`ত্রুটি বিতরণ`,pinnedRequests:`পিন করা অনুরোধ`,pinnedHonored:`সম্মানিত`,fallbackAttempts:`ফলব্যাক প্রচেষ্টা`,savingsHint:"আপনি আসলে শেষ {range} থেকে ${actual} সংরক্ষণ করেছেন। একই টোকেনগুলির দাম প্রতি মডেলের দামের জন্য প্রদত্ত এপিআই-এ খরচ হবে৷ দেখানো সংখ্যাটি শেষ {span} ডেটা থেকে সম্পূর্ণ 30 দিন পর্যন্ত আপনার গতি প্রজেক্ট করে।",savingsHintExact:"আপনি আসলে শেষ {range} থেকে ${actual} সংরক্ষণ করেছেন। একই টোকেনগুলির দাম প্রতি মডেলের দামের জন্য প্রদত্ত এপিআই-এ খরচ হবে৷ দেখানো সংখ্যাটি আপনার প্রকৃত 30-দিনের মোট।",requestsHintPinned:`এই অনুরোধগুলির মধ্যে {pinned} নামের একটি নির্দিষ্ট মডেল পিন করা হয়েছে৷ {honored} পিন করা মডেল দ্বারা পরিবেশিত হয়েছিল; {failed} অন্য একটিতে ব্যর্থ হয়েছে৷ বাকিগুলো ছিল স্বয়ংক্রিয়ভাবে।`,requestsHintAuto:`এই সময়ের মধ্যে সমস্ত অনুরোধ স্বয়ংক্রিয়ভাবে রুট করা হয়েছিল; কোন ক্লায়েন্ট নাম দ্বারা একটি নির্দিষ্ট মডেল পিন.`,requestsHintTypes:`{chat} চ্যাট এবং {embedding} এম্বেড করার অনুরোধ।`,rangeLabel24h:`24 ঘন্টা`,rangeLabel7d:`7 দিন`,rangeLabel30d:`30 দিন`,rangeLabel90d:`90 দিন`,spanDays:`{count} দিন`,spanHours:`{count} ঘন্টা`,latencyMs:`লেটেন্সি (মিসে)`,latency:`লেটেন্সি`,pinned:`পিন করা হয়েছে`,inTokens:`টোকেনে`,outTokens:`আউট টোকেন`,saved:`সংরক্ষিত`,message:`বার্তা`,time:`সময়`,perModelBreakdown:`প্রতি-মডেল ভাঙ্গন`,usageByKey:`চাবি দ্বারা ব্যবহার`,keyColumn:`চাবি`,keyLabelFallback:`কী #{id}`,errorsByProvider:`প্রদানকারী দ্বারা ত্রুটি`,recentErrors:`সাম্প্রতিক ত্রুটি`,noErrors:`কোন ত্রুটি নেই`,recentCalls:`সাম্প্রতিক কল`,clientIp:`ক্লায়েন্ট আইপি`,clientAgent:`ক্লায়েন্ট অ্যাপ`,requestedModelHint:`অনুরোধ করা হয়েছে {model}, ফলব্যাক দ্বারা পরিবেশিত৷`,attempts:`প্রচেষ্টা`,filterAll:`সব`,filterCanceled:`বাতিল`,providerBreakdown:`প্রতি-প্রদানকারী ব্রেকডাউন`,tokensPerSec:`টোক/সে`,allProviders:`সমস্ত প্রদানকারী`,requestDetailTitle:`#{id} অনুরোধ করুন`,failoverLadder:`ফেইলওভার মই`,failoverLadderHint:`প্রতিটি হপ এই অনুরোধটি ফলব্যাক চেইনের মাধ্যমে নেওয়া হয়েছে, ক্রমানুসারে।`,noAttemptTrace:`এই অনুরোধের জন্য কোন প্রচেষ্টা ট্রেস রেকর্ড করা হয়নি.`,keyOrdinal:`কী #{n}`,keyBadge:`কী #{n}`,attemptTimingHint:`অনুরোধ শুরু থেকে অফসেট শুরু করুন · প্রচেষ্টার সময়কাল`,requestedModel:`অনুরোধ করা মডেল`,ttft:`TTFT`,requestsByAgent:`এজেন্ট অনুযায়ী অনুরোধ`,sortBy:`{column} অনুযায়ী সাজান`,sortHint:`সাজানো শুধুমাত্র লোড হওয়া {count}টি সারিতে প্রযোজ্য`,cacheHitRate:`ক্যাশ হিট রেট`,cacheSavedTokens:`{tokens} টোকেন সাশ্রয়`,cacheHitRateHint:`সার্ভার চালুর পর থেকে {hits} হিট বনাম {misses} মিস · {requests} প্রোভাইডার কল এড়ানো হয়েছে`},logs:{title:`লগ`,description:`লাইভ সার্ভার লগ। পৃষ্ঠাটি খোলা থাকা অবস্থায় নতুন এন্ট্রি আসতে থাকে।`,pause:`থামান`,resume:`চালু করুন`,clear:`লগ সাফ করুন`,cleared:`সার্ভার লগ সাফ করা হয়েছে`,levelFilter:`লগ লেভেল`,levels:{debug:`ডিবাগ`,info:`ইনফো`,warn:`সতর্কতা`,error:`ত্রুটি`},countsHint:`গণনাগুলি সার্ভারের পুরো লগ বাফারের মোট, শুধু এই ফিল্টারের সাথে মেলা এন্ট্রিগুলির নয়।`,searchPlaceholder:`লগ বার্তা অনুসন্ধান করুন...`,jumpToLatest:`সর্বশেষে যান`,showMore:`আরও দেখান`,showLess:`কম দেখান`,buffered:`সর্বোচ্চ {max} বাফার করা এন্ট্রির মধ্যে {count}টি দেখানো হচ্ছে`,emptyTitle:`এখনো কোনো লগ এন্ট্রি নেই`,emptyDescription:`সার্ভার যেমন লেখে, এন্ট্রিগুলি এখানে দেখা যাবে। আউটপুট আশা করে থাকলে লেভেল, প্রদানকারী বা অনুসন্ধান ফিল্টারের পরিসর বাড়ান।`,noLevelsTitle:`কোনো লেভেল নির্বাচিত নয়`,noLevelsDescription:`লগ আউটপুট দেখতে অন্তত একটি লেভেল চালু করুন।`,loadFailed:`সার্ভার লগ লোড করা গেল না।`},playground:{title:`খেলার মাঠ`,description:`রাউটারের মাধ্যমে একটি চ্যাট সমাপ্তি পাঠান এবং দেখুন কোন প্রদানকারী এটি পরিবেশন করে।`,autoModel:`স্বয়ংক্রিয় (ফলব্যাক চেইন)`,fusionModel:`ফিউশন (মাল্টি-মডেল সংশ্লেষণ)`,selectModel:`মডেল নির্বাচন করুন`,searchModels:`মডেল অনুসন্ধান করুন...`,noModelsFound:`কোন মডেল পাওয়া যায়নি`,send:`পাঠান`,sending:`পাঠানো হচ্ছে...`,clear:`পরিষ্কার`,inputPlaceholder:`একটি বার্তা টাইপ করুন... (পাঠাতে ⏎, নতুন লাইনের জন্য ⇧⏎)`,emptyTitle:`শুরু করতে একটি বার্তা পাঠান.`,emptyDescription:`{model} ব্যবহার করে। উপরের নির্বাচকে মডেলগুলি পরিবর্তন করুন৷`,noModels:`এখনো কোনো মডেল নেই। এই তালিকাটি পূরণ করতে কী পৃষ্ঠায় একটি API কী যোগ করুন।`,copyReply:`উত্তর কপি করুন`,fallback:`ফলব্যাক`,fallbacks:`ফলব্যাক`,fusionPanel:`প্যানেল`,fusionJudge:`বিচারক`,fusionTrace:`{count} মডেল প্রতিক্রিয়া`,fusionFailed:`কোন প্রতিক্রিয়া`,fusionJudgeSynth:`চূড়ান্ত উত্তর সংশ্লেষিত`,errorPrefix:`ত্রুটি:`,systemPromptLabel:`সিস্টেম প্রম্পট`,systemPromptPlaceholder:`ঐচ্ছিক। আপনার চ্যাটের আগে একটি সিস্টেম বার্তা হিসাবে পাঠানো হয়েছে৷`,showSettings:`সেটিংস দেখান`,hideSettings:`সেটিংস লুকান`,samplingHeading:`স্যাম্পলিং`,samplingHelp:`বন্ধ থাকলে প্রদানকারীর নিজস্ব ডিফল্ট প্রযোজ্য হয়। আপনি যেগুলি চালু করবেন কেবল সেই নিয়ন্ত্রণগুলিই পাঠানো হয়।`,samplingDefault:`ডিফল্ট`,temperature:`তাপমাত্রা`,topP:`Top P`,maxTokens:`সর্বোচ্চ টোকেন`,errorTitle:`অনুরোধ ব্যর্থ হয়েছে`,attach:`ফাইল সংযুক্ত করুন`,attachTooMany:`আপনি প্রতি বার্তায় সর্বোচ্চ {count}টি ফাইল সংযুক্ত করতে পারেন।`,attachTooLarge:`{name} খুব বড়। সীমা হল {max}।`,attachUnsupported:`{name} সমর্থিত নয়। ছবি (PNG, JPEG, WebP, GIF) বা পাঠ্য ফাইল (TXT, MD, CSV, JSON, LOG) সংযুক্ত করুন।`,attachFailed:`{name} পড়া যায়নি।`,noVisionBadge:`ছবি নেই`,visionWarning:`{model} ছবি গ্রহণ করে না। একটি দৃষ্টি মডেল বা স্বয়ংক্রিয় নির্বাচন করুন।`,dictate:`বলে লিখুন`,dictationStop:`রেকর্ডিং বন্ধ করুন`,dictationTranscribing:`লেখা হচ্ছে…`,dictationUnavailable:`বলে লেখা ব্যবহার করতে অডিও মডেলের প্রদানকারী যোগ করুন।`,dictationModel:`শ্রুতলিখন মডেল`,dictationFailed:`লেখা ব্যর্থ হয়েছে: {reason}`,artifactOpen:`প্রিভিউ খুলুন`,artifactPreview:`প্রিভিউ`,artifactCode:`কোড`,artifactClose:`প্রিভিউ বন্ধ করুন`,artifactDownload:`ডাউনলোড`,artifactReload:`প্রিভিউ পুনরায় লোড করুন`,artifactHtml:`HTML পেজ`,artifactSvg:`SVG ছবি`,artifactLines:`লাইন`,artifactResize:`প্রিভিউর আকার বদলান`},playgroundSessions:{heading:`কথোপকথন`,newConversation:`নতুন কথোপকথন`,showSidebar:`কথোপকথন দেখান`,hideSidebar:`কথোপকথন লুকান`,empty:`এখনো কোনো সংরক্ষিত কথোপকথন নেই।`,untitled:`শিরোনামহীন কথোপকথন`,rename:`নাম পরিবর্তন করুন`,renamePlaceholder:`কথোপকথনের নাম`,messageCount:`{count}টি বার্তা`,justNow:`এইমাত্র`,minutesAgo:`{count} মি. আগে`,hoursAgo:`{count} ঘ. আগে`,daysAgo:`{count} দিন আগে`,loadFailed:`সেই কথোপকথনটি খোলা গেল না।`,renameFailed:`সেই কথোপকথনের নাম পরিবর্তন করা গেল না।`,deleteFailed:`সেই কথোপকথনটি মুছে দেওয়া গেল না।`,actions:`কথোপকথনের ক্রিয়া`,newChat:`নতুন চ্যাট`},embeddings:{title:`মডেল`,description:`এম্বেডিংগুলি শুধুমাত্র একটি পরিবারের মধ্যে ব্যর্থ হয়: একই মডেল অন্য প্রদানকারী দ্বারা পরিবেশিত হয়। বিভিন্ন মডেলের ভেক্টরগুলি বেমানান, তাই রাউটার কখনই আপনার উপর মডেল অদলবদল করে না।`,defaultBadge:`ডিফল্ট · স্বয়ংক্রিয়`,makeDefault:`ডিফল্ট করুন`,moveUp:`উপরে সরান`,moveDown:`নিচে সরান`,usageToday:`{count} আজ অনুরোধ`,usageMonth:`এই মাসে {count} টোক`,autoDescription:`model: "auto" POST /v1/embeddings রুটে ডিফল্ট পরিবারে। একটি পরিবারের নামকরণ (বা একটি প্রদানকারী মডেল আইডি) সেই পরিবারটিকে পিন করে; এটি ভিতরে প্রদানকারী ক্রমানুসারে চেষ্টা করা হয়.`,unsavedChanges:`অসংরক্ষিত পরিবর্তন`,saveChanges:`পরিবর্তনগুলি সংরক্ষণ করুন`,savingChanges:`সংরক্ষণ করা হচ্ছে...`,tokMax:`{tokens} টোক সর্বাধিক`,emptyTitle:`এখনও কোনো এমবেডিং মডেল নেই৷`,emptyDesc:`আপনি এম্বেডিং সমর্থন করে এমন একটি প্রদানকারী কী যোগ করার পরে এমবেডিং পরিবারগুলি এখানে উপস্থিত হবে৷`,dragToReorder:`প্রদানকারীকে পুনরায় সাজাতে টেনে আনুন`},fusion:{title:`ফিউশন`,description:`মডেলগুলির একটি প্যানেল সমান্তরালভাবে উত্তর দেয়, তারপর একজন বিচারক একটি শক্তিশালী উত্তর সংশ্লেষ করে। মডেল "ফিউশন" সহ API কল করে এটি ব্যবহার করুন।`,panelSource:`প্যানেল উৎস`,panelSourceHelp:`প্যানেল মডেল কোথা থেকে আসে যখন একটি অনুরোধ তার নিজস্ব নির্দিষ্ট করে না।`,mode:{auto:`স্বয়ংক্রিয় (ফলব্যাক চেইন)`,autoHelp:`আপনার সক্রিয় রাউটিং কৌশল দ্বারা র্যাঙ্ক করা আপনার ফলব্যাক চেইন থেকে মডেলের একটি বৈচিত্র্যময় সেট বেছে নিন।`,explicit:`স্পষ্ট প্যানেল`,explicitHelp:`সর্বদা আপনি নীচে চয়ন নির্দিষ্ট মডেল ব্যবহার করুন.`},panelModels:`প্যানেল মডেল`,selectedCount:`{max}-এর {count} বেছে নেওয়া হয়েছে`,noModels:`কোন মডেল এখনো সংযুক্ত করা হয় না. একটি API কী যোগ করুন, তারপর ফলব্যাক চেইনে মডেলগুলি সক্ষম করুন৷`,panelSize:`প্যানেলের আকার`,panelSizeHelp:`কত বৈচিত্র্যময় মডেল স্বয়ংক্রিয়ভাবে বাছাই করতে হবে (1–{max})।`,judge:`বিচারক মডেল`,judgeHelp:`যে মডেলটি প্যানেলের উত্তরগুলিকে একটিতে সংশ্লেষিত করে৷ অটো আপনার শীর্ষ-র্যাঙ্কযুক্ত উপলব্ধ মডেল ব্যবহার করে।`,judgeAuto:`স্বয়ংক্রিয় (উপলভ্য শীর্ষস্থানীয়)`,strategy:`কৌশল`,strategySynthesize:`সংশ্লেষিত করুন — প্যানেলটিকে একটি উত্তরে মিশ্রিত করুন`,strategyBestOf:`সর্বোত্তম - একক শক্তিশালী উত্তর ফেরত দিন (কোন বিচারকের কল নেই)`,strategySynthesizeShort:`সংশ্লেষণ করুন`,strategyBestOfShort:`সেরা`,exposePanel:`প্যানেলের বিবরণ প্রকাশ করুন`,exposePanelHelp:`প্রতিক্রিয়াতে একটি x_fusion ক্ষেত্রের অধীনে প্রতিটি মডেলের উত্তর এবং বিচারকের মেটাডেটা সংযুক্ত করুন।`,howToUse:`কিভাবে ব্যবহার করবেন`,howToUseHelp:`মডেল "ফিউশন" সহ একটি সাধারণ চ্যাট অনুরোধ পাঠান। এই সেটিংস ডিফল্ট; যেকোনো অনুরোধ একটি "ফিউশন" ফিল্ড দিয়ে তাদের ওভাররাইড করতে পারে।`,unsavedChanges:`অসংরক্ষিত পরিবর্তন`,save:`সংরক্ষণ করুন`,searchPlaceholder:`Search models…`,providerFilterLabel:`Filter by provider`,providerAll:`All providers`,noMatch:`No models match your search.`},premium:{title:`প্রিমিয়াম`,description:`প্রতিটি ডিভাইসে লাইভ মডেল ক্যাটালগ।`,loading:`লোড হচ্ছে...`,checkForUpdates:`আপডেটের জন্য চেক করুন`,syncing:`সিঙ্ক হচ্ছে...`,catalogFeed:`ক্যাটালগ ফিড`,liveFeed:`লাইভ ফিড`,monthlySnapshot:`মাসিক স্ন্যাপশট`,lastChecked:`সর্বশেষ চেক করা হয়েছে: {when}`,liveDescription:`নতুন বিনামূল্যের মডেল, কোটা পরিবর্তন, এবং কুইর্ক ফিক্সগুলি পাঠানোর কয়েক ঘণ্টার মধ্যেই এখানে আসে৷ অ্যাপটি দিনে দুবার স্বয়ংক্রিয়ভাবে পরীক্ষা করে; কিছুই করার নেই`,snapshotDescription:`বিনামূল্যের স্তর: ক্যাটালগটি একটি মাসিক স্ন্যাপশট থেকে রিফ্রেশ হয়, দিনে দুবার স্বয়ংক্রিয়ভাবে পরীক্ষা করা হয়। প্রিমিয়াম এটিকে লাইভ ফিডে স্যুইচ করে, প্রতি 2-3 দিনে আপডেট হয়।`,lastSyncProblem:`শেষ সিঙ্ক সমস্যা: {error}`,license:`লাইসেন্স`,planAnnual:`প্রিমিয়াম বার্ষিক`,planLifetime:`প্রিমিয়াম লাইফটাইম`,expired:`মেয়াদ শেষ`,inactive:`নিষ্ক্রিয়`,lifetimeNote:`আজীবন লাইসেন্স: মেয়াদ শেষ হয় না।`,renewsOn:`{date} এ পুনর্নবীকরণ।`,willNotRenew:`নবায়ন হবে না। {date} পর্যন্ত প্রিমিয়াম, তারপর এই ইনস্টলটি বিনামূল্যে মাসিক ক্যাটালগে ফিরে আসে।`,keyInactive:`এই কী আর সক্রিয় নয়। অ্যাপটি বিনামূল্যে মাসিক ক্যাটালগে কাজ করে।`,manageSubscription:`সদস্যতা পরিচালনা করুন`,openingPortal:`খোলা হচ্ছে...`,removeKey:`এই ডিভাইস থেকে কী সরান`,manageHint:`সদস্যতা পরিচালনা করুন Stripe এর বিলিং পোর্টাল খোলে: বাতিল করুন, আপনার কার্ড আপডেট করুন বা চালান ডাউনলোড করুন। কী অপসারণ শুধুমাত্র এই ডিভাইস নিষ্ক্রিয়; আপনার ক্রয় অস্পৃশ্য.`,licenseKey:`লাইসেন্স কী`,licenseKeyPlaceholder:`fla_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`,activate:`সক্রিয় করুন`,activating:`সক্রিয় করা হচ্ছে...`,keyHint:`আপনার কী আপনার ক্রয় ইমেলে এবং পোস্ট-চেকআউট পৃষ্ঠায় রয়েছে। হারিয়ে গেছে?`,recoverKey:`ওয়েবসাইটে এটি পুনরুদ্ধার করুন`,upsellTitle:`বছরে 19 ডলারে লাইভ যান`,upsellDescription:`30 দিন পরের পরিবর্তে নতুন বিনামূল্যের মডেল যে মুহূর্তে তারা বিদ্যমান। একটি কী, প্রতিটি ডিভাইস। যেকোনো সময় বাতিল করুন; রাউটার চিরতরে বিনামূল্যে থাকে।`,goPremium:`প্রিমিয়াম যান`,bundled:`বান্ডিল`,planGeneric:`প্রিমিয়াম`},languages:{en:`English`,"zh-CN":`中文 (简体)`,es:`Español`,fr:`Français`,"pt-BR":`Português (Brasil)`,it:`Italiano`,hi:`हिन्दी`,ar:`العربية`,bn:`বাংলা`,ru:`Русский`,ur:`اردو`,id:`Bahasa Indonesia`,de:`Deutsch`,ja:`日本語`,sw:`Kiswahili`,mr:`मराठी`,te:`తెలుగు`,tr:`Türkçe`,ta:`தமிழ்`,vi:`Tiếng Việt`,ko:`한국어`,fa:`فارسی`,th:`ไทย`,gu:`ગુજરાતી`,pl:`Polski`,uk:`Українська`,kn:`ಕನ್ನಡ`,ml:`മലയാളം`,or:`ଓଡ଼ିଆ`,my:`မြန်မာဘာသာ`,pa:`ਪੰਜਾਬੀ`,ro:`Română`,nl:`Nederlands`,ms:`Bahasa Melayu`,tl:`Filipino`,ha:`Hausa`,yo:`Yorùbá`,ig:`Igbo`,am:`አማርኛ`,uz:`Oʻzbekcha`,az:`Azərbaycanca`,si:`සිංහල`,ne:`नेपाली`,km:`ខ្មែរ`,el:`Ελληνικά`,cs:`Čeština`,hu:`Magyar`,sv:`Svenska`,he:`עברית`,da:`Dansk`,fi:`Suomi`,no:`Norsk`,sk:`Slovenčina`,bg:`Български`,hr:`Hrvatski`,sr:`Српски`,lt:`Lietuvių`,"zh-TW":`中文 (繁體)`,"pt-PT":`Português (Portugal)`,ka:`ქართული`},errors:{boundaryTitle:`কিছু ভুল হয়েছে`,boundaryDescription:`ড্যাশবোর্ড একটি অপ্রত্যাশিত ত্রুটি আঘাত. আপনার ডেটা নিরাপদ। আবার চেষ্টা করুন বা মডেল পৃষ্ঠায় ফিরে যান।`,tryAgain:`আবার চেষ্টা করুন`,goHome:`মডেলগুলিতে ফিরে যান`},notFound:{title:`পেজ পাওয়া যায়নি`,description:`এই পৃষ্ঠাটি বিদ্যমান নেই বা স্থানান্তরিত হতে পারে।`},setup:{title:`শুরু হচ্ছে`,subtitle:`আপনার প্রথম অনুরোধ রুট করার জন্য তিনটি ধাপ।`,progress:`{total} এর {done}`,step1Title:`একটি প্রদানকারী কী যোগ করুন`,step1Desc:`অন্তত একটি প্রদানকারী অ্যাকাউন্ট সংযুক্ত করুন. বিনামূল্যে কী কাজ করে।`,step1Cta:`কী যোগ করুন`,step2Title:`একটি পরীক্ষার অনুরোধ পাঠান`,step2Desc:`খেলার মাঠের যেকোনো মডেল বেছে নিন এবং হ্যালো বলুন।`,step2Cta:`খোলা খেলার মাঠ`,step3Title:`আপনার অ্যাপ্লিকেশন সংযোগ করুন`,step3Desc:`যেকোনো OpenAI- সামঞ্জস্যপূর্ণ ক্লায়েন্টের সাথে আপনার ইউনিফাইড API কী ব্যবহার করুন।`,copyKey:`API কী অনুলিপি করুন`,copyUrl:`বেস URL কপি করুন`,copiedKey:`API কী ক্লিপবোর্ডে অনুলিপি করা হয়েছে৷`,copiedUrl:`বেস URL ক্লিপবোর্ডে কপি করা হয়েছে`},palette:{title:`কমান্ড প্যালেট`,placeholder:`অনুসন্ধান পৃষ্ঠা, মডেল, কর্ম…`,empty:`কোনো ফলাফল নেই`,groupPages:`পাতা`,groupActions:`কর্ম`,groupModels:`মডেল`,toggleTheme:`অন্ধকার মোড টগল করুন`},validation:{required:`প্রয়োজন`,url:`http:// বা https:// দিয়ে শুরু করে একটি বৈধ URL লিখুন`,email:`একটি বৈধ ইমেল ঠিকানা লিখুন`,passwordMin:`অন্তত {min} অক্ষর`},agents:{title:`কোডিং এজেন্ট`,description:`জেনারেট করা, ব্যাকআপ-নিরাপদ কনফিগারেশন সহ কোডিং টুলগুলিকে একটি ফ্রি-মডেল গেটওয়েতে সংযুক্ত করুন।`,apiKey:`API কী`,quickstartTitle:`দ্রুত শুরু`,quickstart:`দ্রুততম পথ: লাইভ ক্যাটালগ থেকে Claude Code কনফিগার করুন।`,currentKey:`বর্তমান একীভূত কী:`,seenRecently:`সম্প্রতি দেখা গেছে`,setupLabel:`স্বয়ংক্রিয় সেটআপ`,setupHint:`এই টুলের কনফিগ ফাইল আপনার হয়ে লেখে, এই গেটওয়ের দিকে নির্দেশ করে।`,setupGuideHint:`এই টুলের সেটআপ ধাপগুলি দেখায়; কোনো ফাইল লেখা হয় না।`,manualLabel:`ম্যানুয়াল সংযোগ`,manualHint:`টুলের নিজস্ব সেটিংসে দেওয়ার জন্য বেস URL এবং কী।`,endpoint:`এন্ডপয়েন্ট`,documentation:`ডকুমেন্টেশন`,descriptions:{claude:`Anthropic's terminal agent: it plans, edits files, and runs commands in your repo.`,codex:`OpenAI's terminal agent, which runs your task in a local sandbox first.`,cline:`A VS Code extension that asks you to approve every edit and command.`,continue:`A VS Code and JetBrains extension for inline autocomplete and chat while you type.`,aider:`A command-line pair programmer that turns each change into its own git commit.`,opencode:`A provider-agnostic terminal agent with a full-screen text interface.`,goose:`Block's local agent, extended with MCP servers to reach past your code.`,qwen:`A Gemini CLI fork tuned for Qwen models and large repositories.`,roo:`A VS Code extension with switchable modes: architect, coder, debugger.`,kilo:`A VS Code extension merging Roo and Cline, with an orchestrator that splits up work.`,crush:`Charm's terminal agent, written in Go, with one session per project.`,dsh:`DeepSeek's harness, which keeps every provider as a route you can switch between.`,mimo:`Xiaomi's terminal agent, an OpenCode fork that takes any OpenAI-compatible provider.`,cursor:`The AI-first editor; it calls through Cursor's cloud, so it needs a public URL.`,generic:`Anything else that speaks the OpenAI API, set up by hand from a base URL and key.`,atomcode:`AtomGit's terminal agent, written in Rust, that takes any OpenAI-compatible endpoint.`,openclaw:`একটি সর্বদা সক্রিয় ব্যক্তিগত সহকারী যা আপনার নিজের মেশিন থেকে WhatsApp, Telegram, Discord ও আরও অনেক জায়গায় উত্তর দেয়।`,hermes:`Nous Research-এর স্ব-উন্নয়নশীল এজেন্ট, স্থায়ী মেমোরি ও দক্ষতাসহ, টার্মিনালে বা চ্যাট অ্যাপে।`,pi:`একটি ন্যূনতম টার্মিনাল এজেন্ট, যা আপনি নিজের এক্সটেনশন, দক্ষতা ও প্রম্পট টেমপ্লেট দিয়ে গড়ে নেন।`}},update:{available:`New version available`,whatsNew:`What's new in v{version}`,publishedOn:`Published {date}`,noNotes:`No release notes were published for this version.`,openRelease:`Open release page`,dismissVersion:`Dismiss this version`,dismiss:`Dismiss`},freeTier:{poolsToggle:`Free-tier pools ({count})`,poolsToggleBare:`Free-tier pools`,summary:`{pools} pools · {budget} tokens/mo counted once per pool · {credits} credits-based · {unpublished} unpublished`,pool:`Pool`,models:`Models`,budget:`Monthly budget`,kind:`Kind`,kindDocumented:`Documented`,kindCredits:`Credits`,kindUnpublished:`Unpublished`,remaining:`Remaining`,resetAt:`Resets at`,disabledModels:`({count} off)`,metricTokens:`tokens`,metricRequests:`requests`,metricCredits:`credits`,metricNeurons:`neurons`,metricOther:`units`,empty:`No enabled models with free-tier budget data.`,poolLabel:`{platform} · shared {scope} pool`,poolLabelBare:`{platform} · shared pool`,poolModels:`{count} models`,poolBudget:`{budget}/mo`,poolBudgetTitle:`One monthly allowance for the whole pool, scaled by the {count} usable keys on this platform. Every model listed under it draws from the same budget.`,poolNoQuota:`no published quota`,poolResets:`resets {time}`,independentBudgets:`independent budgets`},chains:{title:`Fallback chains`,description:`Named chains, each callable as auto:<name> in /v1/models.`,count:`{count} chains`,active:`Active`,default:`Default`,activate:`Activate`,activateHint:`Make this the chain the table below edits and the one auto routes through`,deleteHint:`Delete this chain`,deleteConfirm:`Delete chain "{name}"?`,create:`Create`,createPlaceholder:`Chain name`,createFailed:`Could not create the chain.`,nameRules:`Up to 20 characters: letters, digits, hyphens and underscores.`,startEmpty:`Start empty`,startEmptyHint:`Create the chain with no models in it, and keep new catalog models out of it. Unchecked, it starts as a copy of the default chain.`,curated:`Curated`,curatedHint:`New catalog models are not added to this chain automatically.`,renameHint:`এই চেইনের নাম পরিবর্তন করুন`,renameConfirm:`চেইন "{oldName}" এর নাম "{name}" করবেন? auto:{oldName} কল করা ক্লায়েন্টদের auto:{name} এ যেতে হবে।`,renamePlaceholder:`নতুন চেইন নাম`,renameFailed:`চেইনের নাম পরিবর্তন করা যায়নি।`},notifications:{catalogAdded:`{count} new models added from catalog`,catalogAddedFrom:`{count} new models added for {provider}`,catalogRemoved:`{count} models removed from catalog`,catalogRemovedFrom:`{count} models removed for {provider}`,catalogUpdated:`{count} models updated from latest catalog`,catalogUpdatedFrom:`{count} models updated for {provider}`,discoverAdded:`{count} new models from provider {provider}`,discoverRemoved:`{count} models removed from provider {provider}`,degraded:`Degraded mode active — only {healthy}/{total} providers healthy ({pct}%)`,updateAvailable:`Update available: v{version}`},routingStrip:{canceled:`Canceled`,title:`Live routing`,mode:`Mode`,processing:`Processing…`,idle:`Waiting for a request…`,failed:`Failed`,afterAttempts:`Success after {n} attempts`,activeCount:`{n} active`}};export{e as default};
|