fix(i18n): localize billing settings page into Spanish (#176)

## Summary

- Wrap benefit card titles and descriptions in `__()` — they were
hardcoded strings never passed through the translation function
- Move the `benefits` array inside the component so `__()` is called at
render time (after translations are loaded)
- Add 7 missing Spanish translation keys in `lang/es.json`
- Fix the untranslated `"— $9/month"` entry that had the English string
as its own translation

## Missing keys added

| English | Spanish |
|---|---|
| Unlimited Everything | Sin Límites en Todo |
| No limits on bank accounts, transactions, or categories. | Sin límites
en cuentas bancarias, transacciones o categorías. |
| Your data is never shared with third parties. You are always the
owner. | Tus datos nunca se comparten con terceros. Tú eres siempre el
propietario. |
| Smart Automation | Automatización Inteligente |
| Automation rules to categorize transactions automatically. | Reglas de
automatización para categorizar transacciones automáticamente. |
| Priority Support | Soporte Prioritario |
| Get help when you need it with priority email support. | Obtén ayuda
cuando la necesites con soporte prioritario por correo electrónico. |
| — $9/month | — $9/mes |
This commit is contained in:
Víctor Falcón 2026-03-01 17:43:09 +00:00 committed by GitHub
parent b433f1f07e
commit 7a8eda9d90
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 42 additions and 26 deletions

View File

@ -162,6 +162,7 @@
"Automation Rules": "Reglas de Automatización",
"Automation rules": "Reglas de automatización",
"Automation rules settings": "Configuración de reglas de automatización",
"Automation rules to categorize transactions automatically.": "Reglas de automatización para categorizar transacciones automáticamente.",
"Available:": "Disponible:",
"Back": "Atrás",
"Blue": "Azul",
@ -331,6 +332,7 @@
"Delete account": "Eliminar cuenta",
"Delete accounts": "Eliminar cuentas",
"Delete balance": "Eliminar balance",
"Delete budget": "Eliminar presupuesto",
"Delete your account and all of its resources": "Elimina tu cuenta y todos sus recursos",
"Deleting...": "Eliminando...",
"Demo encryption password:": "Contraseña de encriptación de demo:",
@ -456,6 +458,7 @@
"Get Started": "Comenzar",
"Get Started for Free": "Empieza Gratis",
"Get notified when you're close to your limit. Never overspend again.": "Recibe notificaciones cuando estés cerca de tu límite. Nunca vuelvas a gastar de más.",
"Get help when you need it with priority email support.": "Obtén ayuda cuando la necesites con soporte prioritario por correo electrónico.",
"Get started quickly with your existing financial data.": "Comienza rápidamente con tus datos financieros existentes.",
"Github": "Github",
"Go to Dashboard": "Ir al Panel",
@ -642,11 +645,13 @@
"New password": "Nueva contraseña",
"Next": "Siguiente",
"Next month": "Mes siguiente",
"Next period": "Período siguiente",
"No AI Snooping": "Sin Espionaje por IA",
"No AI, No Data Mining": "Sin IA, Sin Minería de Datos",
"No AI. No bank connections. Your privacy is our priority.": "Sin IA. Sin conexiones bancarias. Tu privacidad es nuestra prioridad.",
"No Bank Access Required": "Sin Acceso Bancario Requerido",
"No Third-Party Data Sharing:": "Sin Compartir Datos con Terceros:",
"No limits on bank accounts, transactions, or categories.": "Sin límites en cuentas bancarias, transacciones o categorías.",
"No Uncategorized Transactions": "Sin Transacciones Sin Categorizar",
"No account data available": "No hay datos de cuentas disponibles",
"No accounts found.": "No se encontraron cuentas.",
@ -739,8 +744,10 @@
"Preview Transactions": "Vista Previa de Transacciones",
"Previous": "Anterior",
"Previous month": "Mes anterior",
"Previous period": "Período anterior",
"Priority": "Prioridad",
"Priority support": "Soporte prioritario",
"Priority Support": "Soporte Prioritario",
"Privacy First": "Privacidad Primero",
"Privacy First:": "Privacidad Primero:",
"Privacy Policy": "Política de Privacidad",
@ -880,6 +887,7 @@
"Simple, transparent pricing": "Precios simples y transparentes",
"Skip": "Saltar",
"Smart Automation Rules": "Reglas automáticas",
"Smart Automation": "Automatización Inteligente",
"Smart Budgets": "Presupuestos Inteligentes",
"Smart Categorization": "Categorización Inteligente",
"Smart Rules": "Reglas Inteligentes",
@ -1034,6 +1042,7 @@
"Unlimited accounts": "Cuentas ilimitadas",
"Unlimited transaction imports": "Importaciones de transacciones ilimitadas",
"Unlimited transactions": "Transacciones ilimitadas",
"Unlimited Everything": "Sin Límites en Todo",
"Unlock": "Desbloquear",
"Unlock Encrypted Data": "Desbloquear Datos Encriptados",
"Unlock encryption key": "Desbloquear clave de encriptación",
@ -1230,6 +1239,7 @@
"Your data encrypted and private": "Tus datos cifrados y privados",
"Your data is encrypted before it leaves your browser.": "Tus datos se encriptan antes de salir de tu navegador.",
"Your data is never shared with third parties": "Tus datos nunca se comparten con terceros",
"Your data is never shared with third parties. You are always the owner.": "Tus datos nunca se comparten con terceros. Tú eres siempre el propietario.",
"Your data is ready": "Tus datos están listos",
"Your data is stored securely and never shared with third parties. We don't use your financial data for AI training, advertising, or any purpose other than providing you the service.": "Tus datos se almacenan de forma segura y nunca se comparten con terceros. No usamos tus datos financieros para entrenamiento de IA, publicidad ni ningún otro propósito que no sea proporcionarte el servicio.",
"Your data is yours alone. Sign up to get started.": "Tus datos son solo tuyos. Regístrate para comenzar.",
@ -1331,7 +1341,7 @@
"will be updated or created.": "será actualizado o creado.",
"will be updated or\\n created.": "serán actualizadas o creadas.",
"yellow": "amarillo",
"— $9/month": "— $9/month",
"— $9/month": "— $9/mes",
"← Back to home": "← Volver al inicio",
"🎉 Get a founder discount •": "🎉 Obtén un descuento de fundador •"
}

View File

@ -23,33 +23,39 @@ const breadcrumbs: BreadcrumbItem[] = [
},
];
const benefits = [
{
icon: InfinityIcon,
title: 'Unlimited Everything',
description: 'No limits on bank accounts, transactions, or categories.',
},
{
icon: ShieldCheckIcon,
title: 'Privacy First',
description:
'Your data is never shared with third parties. You are always the owner.',
},
{
icon: SparklesIcon,
title: 'Smart Automation',
description:
'Automation rules to categorize transactions automatically.',
},
{
icon: CreditCardIcon,
title: 'Priority Support',
description: 'Get help when you need it with priority email support.',
},
];
export default function Billing() {
const { auth } = usePage<SharedData>().props;
const benefits = [
{
icon: InfinityIcon,
title: __('Unlimited Everything'),
description: __(
'No limits on bank accounts, transactions, or categories.',
),
},
{
icon: ShieldCheckIcon,
title: __('Privacy First'),
description: __(
'Your data is never shared with third parties. You are always the owner.',
),
},
{
icon: SparklesIcon,
title: __('Smart Automation'),
description: __(
'Automation rules to categorize transactions automatically.',
),
},
{
icon: CreditCardIcon,
title: __('Priority Support'),
description: __(
'Get help when you need it with priority email support.',
),
},
];
const isDemoAccount = auth?.isDemoAccount ?? false;
return (