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
145 lines
5.9 KiB
PHP
145 lines
5.9 KiB
PHP
<?php
|
|
|
|
return [
|
|
'title' => 'Configuración',
|
|
'description' => 'Administra tu perfil y configuración de la cuenta',
|
|
|
|
'nav' => [
|
|
'profile' => 'Perfil',
|
|
'password' => 'Contraseña',
|
|
'workspace' => 'Workspace',
|
|
'members' => 'Miembros',
|
|
'billing' => 'Facturación',
|
|
],
|
|
|
|
'profile' => [
|
|
'title' => 'Configuración del perfil',
|
|
'photo_heading' => 'Foto de perfil',
|
|
'photo_description' => 'Sube una foto de perfil',
|
|
'heading' => 'Información del perfil',
|
|
'description' => 'Actualiza tu nombre y correo electrónico',
|
|
'avatar' => 'Avatar',
|
|
'name' => 'Nombre',
|
|
'name_placeholder' => 'Nombre completo',
|
|
'email' => 'Correo electrónico',
|
|
'email_placeholder' => 'Correo electrónico',
|
|
'email_unverified' => 'Tu correo electrónico no ha sido verificado.',
|
|
'resend_verification' => 'Haz clic aquí para reenviar el correo de verificación.',
|
|
'verification_sent' => 'Se ha enviado un nuevo enlace de verificación a tu correo electrónico.',
|
|
'save' => 'Guardar',
|
|
],
|
|
|
|
'password' => [
|
|
'title' => 'Configuración de contraseña',
|
|
'heading' => 'Actualizar contraseña',
|
|
'description' => 'Asegúrate de que tu cuenta use una contraseña larga y aleatoria para mantenerte seguro',
|
|
'current_password' => 'Contraseña actual',
|
|
'current_password_placeholder' => 'Contraseña actual',
|
|
'new_password' => 'Nueva contraseña',
|
|
'new_password_placeholder' => 'Nueva contraseña',
|
|
'confirm_password' => 'Confirmar contraseña',
|
|
'confirm_password_placeholder' => 'Confirmar contraseña',
|
|
'save' => 'Guardar contraseña',
|
|
],
|
|
|
|
'delete_account' => [
|
|
'heading' => 'Eliminar cuenta',
|
|
'description' => 'Elimina tu cuenta y todos sus recursos',
|
|
'warning' => 'Advertencia',
|
|
'warning_message' => 'Procede con precaución, esta acción no se puede deshacer.',
|
|
'button' => 'Eliminar cuenta',
|
|
'modal_title' => '¿Estás seguro de que deseas eliminar tu cuenta?',
|
|
'modal_description' => 'Una vez eliminada tu cuenta, todos sus recursos y datos también se eliminarán permanentemente. Introduce tu contraseña para confirmar que deseas eliminar permanentemente tu cuenta.',
|
|
'password' => 'Contraseña',
|
|
'password_placeholder' => 'Contraseña',
|
|
'cancel' => 'Cancelar',
|
|
'confirm' => 'Eliminar cuenta',
|
|
],
|
|
|
|
'workspace' => [
|
|
'title' => 'Configuración del workspace',
|
|
'logo_heading' => 'Logo del workspace',
|
|
'logo_description' => 'Sube un logo para tu workspace',
|
|
'heading' => 'Nombre del workspace',
|
|
'description' => 'Actualiza el nombre y zona horaria del workspace',
|
|
'members_heading' => 'Miembros',
|
|
'members_description' => 'Administra miembros e invitaciones del workspace',
|
|
'name' => 'Nombre',
|
|
'name_placeholder' => 'Mi Workspace',
|
|
'timezone' => 'Zona horaria',
|
|
'save' => 'Guardar',
|
|
],
|
|
|
|
'members' => [
|
|
'title' => 'Miembros',
|
|
'heading' => 'Miembros del equipo',
|
|
'description' => 'Administra miembros e invitaciones de este workspace',
|
|
|
|
'cancel' => 'Cancelar',
|
|
'remove' => 'Eliminar',
|
|
'make_admin' => 'Hacer administrador',
|
|
'make_member' => 'Hacer miembro',
|
|
|
|
'invite' => [
|
|
'title' => 'Invitar miembro',
|
|
'description' => 'Envía una invitación por correo para agregar colaboradores',
|
|
'email' => 'Correo electrónico',
|
|
'email_placeholder' => 'colaborador@email.com',
|
|
'role' => 'Rol',
|
|
'role_placeholder' => 'Selecciona un rol',
|
|
'submit' => 'Enviar invitación',
|
|
],
|
|
|
|
'pending' => [
|
|
'title' => 'Invitaciones pendientes',
|
|
'description' => 'Invitaciones en espera de aceptación',
|
|
'empty' => 'No hay invitaciones pendientes',
|
|
],
|
|
|
|
'list' => [
|
|
'title' => 'Miembros',
|
|
'description' => 'Personas con acceso a este workspace',
|
|
'empty' => 'No hay miembros además del propietario',
|
|
],
|
|
|
|
'remove_modal' => [
|
|
'title' => 'Eliminar miembro',
|
|
'description' => '¿Estás seguro de que deseas eliminar a este miembro del workspace? Perderá acceso a todos los recursos del workspace.',
|
|
'action' => 'Eliminar miembro',
|
|
],
|
|
|
|
'cancel_invite_modal' => [
|
|
'title' => 'Cancelar invitación',
|
|
'description' => '¿Estás seguro de que deseas cancelar esta invitación?',
|
|
'action' => 'Cancelar invitación',
|
|
],
|
|
|
|
'roles' => [
|
|
'owner' => 'Propietario',
|
|
'admin' => 'Administrador',
|
|
'member' => 'Miembro',
|
|
],
|
|
|
|
'flash' => [
|
|
'invite_sent' => '¡Invitación enviada correctamente!',
|
|
'invite_deleted' => 'Invitación eliminada.',
|
|
'member_removed' => '¡Miembro eliminado correctamente!',
|
|
'role_updated' => 'Rol del miembro actualizado.',
|
|
'wrong_email' => 'Esta invitación es para otro correo electrónico.',
|
|
'already_member' => 'Ya eres miembro de este workspace.',
|
|
'invite_accepted' => '¡Bienvenido! Ahora eres miembro del workspace.',
|
|
'invite_declined' => 'Invitación rechazada.',
|
|
],
|
|
],
|
|
|
|
'flash' => [
|
|
'profile_updated' => '¡Perfil actualizado correctamente!',
|
|
'language_updated' => '¡Idioma actualizado correctamente!',
|
|
'password_updated' => '¡Contraseña actualizada correctamente!',
|
|
'workspace_updated' => '¡Configuración actualizada correctamente!',
|
|
'photo_updated' => '¡Foto actualizada correctamente!',
|
|
'photo_deleted' => '¡Foto eliminada correctamente!',
|
|
'logo_updated' => '¡Logo subido correctamente!',
|
|
'logo_deleted' => '¡Logo eliminado correctamente!',
|
|
],
|
|
];
|