trypost/lang/es/auth.php
Paulo Castellano 2e9e0f716b feat: capture signup UTMs/IP and add GitHub OAuth login
Persists marketing attribution and registration metadata for new users
across the three signup paths (email, Google, GitHub):

- 5 utm_* columns + registration_ip on the users table
- PreservesUtmParameters trait stores incoming utm_* query params on
  the register/redirect GET, retrieves them on the POST/callback —
  surviving the OAuth round-trip via session
- request()->ip() captured at the controller layer

Adds GitHub as a second OAuth provider:

- GitHubController mirroring the Google one (now renamed from
  SocialLoginController for symmetry)
- Settings → Authentication can connect/disconnect GitHub like Google
- Single SocialLogin.vue component replaces the per-provider buttons
  on Login/Register, rendering each enabled provider plus a single
  "or continue with" divider

UserFactory gains defaults for the new nullable columns so model
strict-mode access in tests doesn't trip.
2026-05-04 18:42:25 -03:00

126 lines
5.3 KiB
PHP

<?php
return [
'failed' => 'Estas credenciales no coinciden con nuestros registros.',
'password' => 'La contraseña proporcionada es incorrecta.',
'throttle' => 'Demasiados intentos de inicio de sesión. Inténtalo de nuevo en :seconds segundos.',
'flash' => [
'welcome' => '¡Bienvenido a TryPost!',
'welcome_trial' => '¡Bienvenido a TryPost! Tu prueba ha comenzado.',
],
'legal' => 'Al continuar, aceptas nuestros <a href="https://trypost.it/terms" target="_blank">Términos de Servicio</a> y <a href="https://trypost.it/privacy" target="_blank">Política de Privacidad</a>.',
'slides' => [
'calendar' => [
'title' => 'Calendario Visual',
'description' => 'Planifica y programa tu contenido con un calendario intuitivo de arrastrar y soltar en todas tus cuentas sociales.',
],
'scheduling' => [
'title' => 'Programación Inteligente',
'description' => 'Programa posts en LinkedIn, X, Instagram, TikTok, YouTube y más — todo desde un solo lugar.',
],
'media' => [
'title' => 'Contenido Multimedia',
'description' => 'Publica imágenes, carruseles, historias y reels. Cada plataforma recibe el formato correcto automáticamente.',
],
'video' => [
'title' => 'Publicación de Video',
'description' => 'Sube videos una vez y publícalos en TikTok, YouTube Shorts, Instagram Reels y Facebook Reels.',
],
'team' => [
'title' => 'Workspaces en Equipo',
'description' => 'Invita a tu equipo, asigna roles y gestiona múltiples marcas en workspaces separados.',
],
'signatures' => [
'title' => 'Firmas',
'description' => 'Guarda firmas reutilizables (hashtags, links, despedidas) y añádelas a tus posts con un clic.',
],
],
'or_continue_with' => 'O continuar con',
'google_login' => 'Iniciar sesión con Google',
'google_signup' => 'Registrarse con Google',
'github_login' => 'Iniciar sesión con GitHub',
'github_signup' => 'Registrarse con GitHub',
'github_email_unavailable' => 'No fue posible obtener tu correo de GitHub. Haz tu correo público en GitHub o concede el permiso de correo y vuelve a intentar.',
'signup_success' => [
'page_title' => 'Bienvenido',
'title' => 'Configurando tu cuenta',
'description' => 'Esto suele tardar solo unos segundos...',
],
'login' => [
'title' => 'Inicia sesión en tu cuenta',
'description' => 'Introduce tu correo y contraseña para iniciar sesión',
'page_title' => 'Iniciar sesión',
'email' => 'Correo electrónico',
'password' => 'Contraseña',
'forgot_password' => '¿Olvidaste tu contraseña?',
'remember_me' => 'Recuérdame',
'submit' => 'Iniciar sesión',
'no_account' => '¿No tienes una cuenta?',
'sign_up' => 'Regístrate',
],
'register' => [
'title' => 'Crear una cuenta',
'description' => 'Introduce tus datos para crear tu cuenta',
'page_title' => 'Registro',
'name' => 'Nombre',
'name_placeholder' => 'Nombre completo',
'email' => 'Correo electrónico',
'password' => 'Contraseña',
'show_password' => 'Mostrar contraseña',
'hide_password' => 'Ocultar contraseña',
'submit' => 'Crear cuenta',
'has_account' => '¿Ya tienes una cuenta?',
'log_in' => 'Iniciar sesión',
],
'forgot_password' => [
'title' => 'Olvidé mi contraseña',
'description' => 'Introduce tu correo para recibir un enlace de restablecimiento',
'page_title' => 'Olvidé mi contraseña',
'email' => 'Correo electrónico',
'submit' => 'Enviar enlace de restablecimiento',
'return_to' => 'O vuelve a',
'log_in' => 'iniciar sesión',
],
'reset_password' => [
'title' => 'Restablecer contraseña',
'description' => 'Introduce tu nueva contraseña',
'page_title' => 'Restablecer contraseña',
'email' => 'Correo electrónico',
'password' => 'Contraseña',
'confirm_password' => 'Confirmar contraseña',
'confirm_placeholder' => 'Confirmar contraseña',
'submit' => 'Restablecer contraseña',
],
'verify_email' => [
'title' => 'Verificar correo',
'description' => 'Verifica tu correo electrónico haciendo clic en el enlace que acabamos de enviarte.',
'page_title' => 'Verificación de correo',
'link_sent' => 'Se ha enviado un nuevo enlace de verificación al correo electrónico proporcionado durante el registro.',
'resend' => 'Reenviar correo de verificación',
'log_out' => 'Cerrar sesión',
],
'accept_invite' => [
'page_title' => 'Aceptar invitación',
'title' => '¡Has sido invitado!',
'description' => 'Has sido invitado a unirte al workspace :workspace.',
'workspace' => 'Workspace',
'your_role' => 'Tu rol',
'email' => 'Correo electrónico',
'accept' => 'Aceptar invitación',
'decline' => 'Rechazar invitación',
'login_prompt' => 'Inicia sesión o crea una cuenta para aceptar esta invitación.',
'log_in' => 'Iniciar sesión',
'create_account' => 'Crear cuenta',
],
];