trypost/lang/es/billing.php
Paulo Castellano f3f72afecd refactor: auth split layout, subscribe redesign, onboarding, i18n, cookie locale
Auth pages:
- Create AuthSplitLayout with animated feature slides (6 slides, 3 languages)
- All auth pages use split layout (form left, visual right)
- Add show/hide password toggle with tooltip on Register
- Legal footer only shown on Register via showLegal prop

Subscribe page:
- Redesign to match auth card pattern (centered, clean)
- Platform icons, feature checklist, dynamic trial days (trialDays - 1)
- Add "Switch workspace" link
- Full i18n (en, es, pt-BR)

Onboarding:
- Rename URLs: step1 -> role, step2 -> connect
- Add enforceStep() to prevent skipping/going back steps
- Redirect /onboarding to /onboarding/role
- Redesign Step2 with AuthSplitLayout and compact platform list
- 21 tests covering all step enforcement scenarios

Workspaces page:
- Redesign with AuthSplitLayout (list with avatars, current badge)

Language system:
- Move locale from DB to cookie (forever, unencrypted, session.domain)
- Create SetLocale middleware (sets cookie if missing, validates against config)
- Rename lang/pt-br to lang/pt-BR
- Add dayjs es locale

Other:
- Copy utils.ts from sendkit (formatNumber, formatMoney, copyToClipboard)
- ConfirmDeleteModal with text confirmation (sendkit pattern)
- i18n for ConfirmDeleteModal internal strings (common.php)
- EmptyState component for posts index
- Exact match for "All" posts in sidebar
- Posts breadcrumbs show current status filter
- DialogFooter buttons aligned left
- API Keys page redesign with Table, DropdownMenu, EmptyState
- Extract CreateApiKeyDialog and InviteMemberDialog to components
- Remove API Keys from sidebar
- DropdownMenuItem destructive variant for Remove action
2026-03-30 11:53:42 -03:00

54 lines
1.9 KiB
PHP

<?php
return [
'title' => 'Suscripción',
'description' => 'Administra tu suscripción y método de pago',
'subscribe' => [
'page_title' => 'Comienza tu prueba gratuita',
'title' => 'Comienza tu prueba gratuita',
'description' => ':days días gratis. Sin tarjeta de crédito para empezar.',
'start_trial' => 'Comenzar prueba de :days días',
'cancel_anytime' => 'Cancela en cualquier momento. Sin preguntas.',
'switch_workspace' => 'Cambiar workspace',
'features' => [
'calendar' => 'Calendario visual con arrastrar y soltar',
'scheduling' => 'Programación ilimitada de posts',
'media' => 'Imágenes, carruseles e historias',
'video' => 'Publicación de videos en todas las plataformas',
'team' => 'Colaboración en equipo y workspaces',
'hashtags' => 'Grupos de hashtags y etiquetas',
],
],
'trial' => [
'title' => 'Periodo de prueba activo',
'description' => 'Tu prueba termina el :date. Después, tu suscripción se cobrará automáticamente.',
],
'subscription' => [
'title' => 'Tu suscripción',
'workspaces' => 'Workspaces',
'quantity' => 'Cantidad de suscripción',
'expires' => 'Expira :date',
'canceled_on' => 'Tu suscripción se cancelará el :date',
'manage' => 'Administrar en Stripe',
],
'invoices' => [
'title' => 'Facturas',
'description' => 'Historial de pagos',
'empty' => 'No se encontraron facturas',
'paid' => 'Pagado',
],
'status' => [
'active' => 'Activa',
'canceled' => 'Cancelada',
'incomplete' => 'Incompleta',
'incomplete_expired' => 'Expirada',
'past_due' => 'Vencida',
'trialing' => 'Prueba',
'unpaid' => 'Sin pagar',
],
];