i18n: add quotaModal block in en/es/pt-br/zh-cn (10 keys × 4 langs)

The quota-exhausted modal (rendered by the velxio.dev pro overlay when
a free user hits the daily AI cap) was hardcoded English. The modal is
seen by users from CN/BR/MX/CO/AR/PE/IN — the audiences most likely to
bounce on English-only UX. This adds the four key languages.

Keys:
  titleFree    — "You've hit today's free limit"
  titlePaid    — "You've reached your daily limit"
  bodyFree     — explainer + Pro upgrade pitch (interpolates cap/proCap/multiplier)
  bodyPaid     — explainer for paid users who hit their own tier's cap
  today / thisMonth / resets — stats labels
  ctaUpgrade   — primary CTA ("Upgrade to Pro — $15/mo")
  ctaSeePlans  — fallback CTA for non-free users
  ctaWait      — secondary "Wait until reset"

Upstream-only change — the velxio-prod overlay's AgentChatPanel.tsx is
wired to consume these via useTranslation in a separate commit.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
David Montero 2026-05-28 20:57:29 +02:00
parent 0d37472aa3
commit 0beee4af3d
4 changed files with 52 additions and 4 deletions

View File

@ -402,5 +402,17 @@
"failed": "Registration failed." "failed": "Registration failed."
} }
} }
},
"quotaModal": {
"titleFree": "You've hit today's free limit",
"titlePaid": "You've reached your daily limit",
"bodyFree": "Free accounts get {{cap}} AI messages a day. Pro ($15/mo) gives you {{proCap}}/day — {{multiplier}}× the cap. Or wait until your quota resets.",
"bodyPaid": "Your {{plan}} plan allows {{cap}} messages per day. Upgrade to a higher tier or wait for the reset.",
"today": "Today",
"thisMonth": "This month",
"resets": "Resets",
"ctaUpgrade": "Upgrade to Pro — $15/mo",
"ctaSeePlans": "See plans",
"ctaWait": "Wait until reset"
} }
} }

View File

@ -402,5 +402,17 @@
"failed": "Error al registrarse." "failed": "Error al registrarse."
} }
} }
},
"quotaModal": {
"titleFree": "Llegaste al límite gratuito de hoy",
"titlePaid": "Alcanzaste tu límite diario",
"bodyFree": "Las cuentas Free reciben {{cap}} mensajes de IA por día. Pro ($15/mes) te da {{proCap}}/día — {{multiplier}}× el límite. O esperá hasta que se reinicie tu cuota.",
"bodyPaid": "Tu plan {{plan}} permite {{cap}} mensajes por día. Subí a un plan superior o esperá al reinicio.",
"today": "Hoy",
"thisMonth": "Este mes",
"resets": "Se reinicia",
"ctaUpgrade": "Pasar a Pro — $15/mes",
"ctaSeePlans": "Ver planes",
"ctaWait": "Esperar al reinicio"
} }
} }

View File

@ -402,5 +402,17 @@
"failed": "Falha no registro." "failed": "Falha no registro."
} }
} }
},
"quotaModal": {
"titleFree": "Você atingiu o limite gratuito de hoje",
"titlePaid": "Você atingiu seu limite diário",
"bodyFree": "Contas Free recebem {{cap}} mensagens de IA por dia. O Pro ($15/mês) te dá {{proCap}}/dia — {{multiplier}}× o limite. Ou espere até sua cota reiniciar.",
"bodyPaid": "Seu plano {{plan}} permite {{cap}} mensagens por dia. Faça upgrade ou aguarde o reinício.",
"today": "Hoje",
"thisMonth": "Este mês",
"resets": "Reinicia",
"ctaUpgrade": "Fazer upgrade para Pro — $15/mês",
"ctaSeePlans": "Ver planos",
"ctaWait": "Aguardar reinício"
} }
} }

View File

@ -402,5 +402,17 @@
"failed": "注册失败。" "failed": "注册失败。"
} }
} }
},
"quotaModal": {
"titleFree": "今日免费额度已用完",
"titlePaid": "已达到每日上限",
"bodyFree": "免费账户每天有 {{cap}} 条 AI 消息。Pro ($15/月) 可享 {{proCap}}/天 —— 是免费版的 {{multiplier}} 倍。或等待配额重置。",
"bodyPaid": "您的 {{plan}} 套餐每天允许 {{cap}} 条消息。升级到更高级别或等待重置。",
"today": "今日",
"thisMonth": "本月",
"resets": "重置时间",
"ctaUpgrade": "升级到 Pro — $15/月",
"ctaSeePlans": "查看套餐",
"ctaWait": "等待重置"
} }
} }