mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-26 09:52:11 +03:00
chore(i18n): extend quotaShare + add quotaPlans namespace (pt-BR + en) (B/F9)
This commit is contained in:
@@ -836,6 +836,7 @@
|
||||
"analyticsCompression": "Compression",
|
||||
"costsBudget": "Budget",
|
||||
"costsQuotaShare": "Quota Sharing",
|
||||
"costsQuotaPlans": "Plans & Quotas",
|
||||
"costsPricing": "Pricing",
|
||||
"logsProxy": "Proxy Logs",
|
||||
"logsConsole": "Console",
|
||||
@@ -903,6 +904,7 @@
|
||||
"costsPricingSubtitle": "Per-model pricing rules",
|
||||
"costsBudgetSubtitle": "Budget limits",
|
||||
"costsQuotaShareSubtitle": "Share provider quotas across keys",
|
||||
"costsQuotaPlansSubtitle": "Configure plans by provider",
|
||||
"auditLogSubtitle": "Authorization audit",
|
||||
"auditMcpSubtitle": "MCP server audit",
|
||||
"auditA2aSubtitle": "A2A protocol audit",
|
||||
@@ -7299,7 +7301,54 @@
|
||||
"betaConfigSavedSuffix": "(not yet persisted on the server). Per-request cap enforcement is not yet wired into the proxy pipeline. This screen lets you design and visualize the quota split; real enforcement will land in a future iteration with DB persistence and upstream call interception.",
|
||||
"policyLabel": "Policy:",
|
||||
"resetIn": "reset in",
|
||||
"quotaTotal": "total"
|
||||
"quotaTotal": "total",
|
||||
"conceptTitle": "How Quota Share works",
|
||||
"conceptIntro": "Quota Share divides a provider's quota among multiple API keys using work-conserving fair-share: each key receives a proportional slice but can borrow from the free balance without exceeding the global cap.",
|
||||
"conceptFairShare": "Fair-share: each key receives quota proportional to its configured weight",
|
||||
"conceptBorrowing": "Borrowing: keys can consume free balance from others without breaching the cap",
|
||||
"conceptGlobalCap": "Hard global cap: the provider's absolute limit is never exceeded",
|
||||
"conceptWindows": "Windows: 5h, hourly, daily, weekly, monthly — each tracked independently",
|
||||
"burnRateTitle": "Burn rate",
|
||||
"burnRateExhaustsIn": "Exhausts in",
|
||||
"dimensionResetIn": "Resets in",
|
||||
"realConsumedColumn": "Consumed",
|
||||
"deficitColumn": "Deficit",
|
||||
"borrowingIndicator": "borrowing",
|
||||
"migratedFromLocalStorageNotice": "Pools successfully migrated from localStorage.",
|
||||
"policyCapAbsoluteLabel": "Absolute cap",
|
||||
"policyCapAbsolutePlaceholder": "Numeric limit (optional)",
|
||||
"multiDimensionLabel": "Multi-dimension"
|
||||
},
|
||||
"quotaPlans": {
|
||||
"title": "Plans & Quotas",
|
||||
"description": "Configure quota plans per provider — dimensions (%, requests, tokens, $) and time windows",
|
||||
"providerLabel": "Provider / Connection",
|
||||
"detectedPlanLabel": "Detected plan",
|
||||
"manualPlanLabel": "Manual override",
|
||||
"unconfiguredLabel": "Not configured — manual required",
|
||||
"dimensionLabel": "Dimensions",
|
||||
"addDimension": "Add dimension",
|
||||
"removeDimension": "Remove",
|
||||
"limitLabel": "Limit",
|
||||
"unitOptions": {
|
||||
"percent": "%",
|
||||
"requests": "requests",
|
||||
"tokens": "tokens",
|
||||
"usd": "USD ($)"
|
||||
},
|
||||
"windowOptions": {
|
||||
"5h": "5 hours",
|
||||
"hourly": "Hourly",
|
||||
"daily": "Daily",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly"
|
||||
},
|
||||
"useCatalogButton": "Use catalog",
|
||||
"saveOverrideButton": "Save override",
|
||||
"revertToCatalogButton": "Revert to catalog",
|
||||
"unknownProviderNotice": "Select a provider on the left to configure its quota plan.",
|
||||
"catalogTitle": "Known catalog",
|
||||
"catalogDescription": "Automatically detected plans for the following providers:"
|
||||
},
|
||||
"activity": {
|
||||
"title": "Activity",
|
||||
|
||||
@@ -836,6 +836,7 @@
|
||||
"analyticsCompression": "Compression",
|
||||
"costsBudget": "Budget",
|
||||
"costsQuotaShare": "Compartilhamento de Cota",
|
||||
"costsQuotaPlans": "Planos & Cotas",
|
||||
"costsPricing": "Pricing",
|
||||
"logsProxy": "Proxy Logs",
|
||||
"logsConsole": "Console",
|
||||
@@ -903,6 +904,7 @@
|
||||
"costsPricingSubtitle": "Regras de preço por modelo",
|
||||
"costsBudgetSubtitle": "Limites de orçamento",
|
||||
"costsQuotaShareSubtitle": "Compartilhe cotas de provedor entre chaves",
|
||||
"costsQuotaPlansSubtitle": "Configurar planos por provider",
|
||||
"auditLogSubtitle": "Auditoria de autorização",
|
||||
"auditMcpSubtitle": "Auditoria do servidor MCP",
|
||||
"auditA2aSubtitle": "Auditoria do protocolo A2A",
|
||||
@@ -7289,7 +7291,54 @@
|
||||
"betaConfigSavedSuffix": "(ainda não persistido no servidor). A aplicação do limite por solicitação ainda não está conectada ao pipeline do proxy. Esta tela permite desenhar e visualizar a divisão de cotas; a aplicação real chegará em uma iteração futura com persistência de banco de dados e interceptação de chamadas upstream.",
|
||||
"policyLabel": "Política:",
|
||||
"resetIn": "redefinir em",
|
||||
"quotaTotal": "total"
|
||||
"quotaTotal": "total",
|
||||
"conceptTitle": "Como funciona o Quota Share",
|
||||
"conceptIntro": "O Quota Share divide a cota de um provider entre múltiplas API keys usando fair-share work-conserving: cada key recebe uma fatia proporcional, mas pode tomar emprestado do saldo livre sem estourar o teto global.",
|
||||
"conceptFairShare": "Fair-share: cada key recebe proporcionalmente ao peso configurado",
|
||||
"conceptBorrowing": "Empréstimo: keys podem usar saldo livre de outras sem ultrapassar o teto",
|
||||
"conceptGlobalCap": "Teto intransponível: o cap absoluto do provider nunca é excedido",
|
||||
"conceptWindows": "Janelas: 5h, horária, diária, semanal, mensal — cada uma rastreada independentemente",
|
||||
"burnRateTitle": "Taxa de consumo",
|
||||
"burnRateExhaustsIn": "Esgota em",
|
||||
"dimensionResetIn": "Reset em",
|
||||
"realConsumedColumn": "Consumido",
|
||||
"deficitColumn": "Déficit",
|
||||
"borrowingIndicator": "empréstimo",
|
||||
"migratedFromLocalStorageNotice": "Pools migrados do localStorage com sucesso.",
|
||||
"policyCapAbsoluteLabel": "Cap absoluto",
|
||||
"policyCapAbsolutePlaceholder": "Limite numérico (opcional)",
|
||||
"multiDimensionLabel": "Multi-dimensão"
|
||||
},
|
||||
"quotaPlans": {
|
||||
"title": "Planos & Cotas",
|
||||
"description": "Configure os planos de cota por provider — dimensões (%, requests, tokens, $) e janelas de tempo",
|
||||
"providerLabel": "Provider / Conexão",
|
||||
"detectedPlanLabel": "Plano detectado",
|
||||
"manualPlanLabel": "Override manual",
|
||||
"unconfiguredLabel": "Não configurado — manual obrigatório",
|
||||
"dimensionLabel": "Dimensões",
|
||||
"addDimension": "Adicionar dimensão",
|
||||
"removeDimension": "Remover",
|
||||
"limitLabel": "Limite",
|
||||
"unitOptions": {
|
||||
"percent": "%",
|
||||
"requests": "requests",
|
||||
"tokens": "tokens",
|
||||
"usd": "USD ($)"
|
||||
},
|
||||
"windowOptions": {
|
||||
"5h": "5 horas",
|
||||
"hourly": "Por hora",
|
||||
"daily": "Diária",
|
||||
"weekly": "Semanal",
|
||||
"monthly": "Mensal"
|
||||
},
|
||||
"useCatalogButton": "Usar catálogo",
|
||||
"saveOverrideButton": "Salvar override",
|
||||
"revertToCatalogButton": "Reverter para catálogo",
|
||||
"unknownProviderNotice": "Selecione um provider à esquerda para configurar o plano de cota.",
|
||||
"catalogTitle": "Catálogo conhecido",
|
||||
"catalogDescription": "Planos automaticamente detectados para os seguintes providers:"
|
||||
},
|
||||
"activity": {
|
||||
"title": "Atividade",
|
||||
|
||||
Reference in New Issue
Block a user