Files
TREK/shared/src/i18n/es/login.ts
T
Maurice 72f9beffbe feat(auth): explain the plain-HTTP secure-cookie gotcha on login
When the server issues a Secure session cookie but the request arrived over
plain HTTP (the common LAN install over http://ip:3000), the browser drops
the cookie and the next request dead-ends on a bare "Access token required" —
the top source of avoidable install issues. The login response now flags this
exact case and the login page shows a localized box explaining the fix (use
HTTPS, or set COOKIE_SECURE=false) with a link to the Troubleshooting guide.
It only triggers in the real failure case, never for correct HTTPS setups.
2026-06-29 18:24:49 +02:00

94 lines
5.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { TranslationStrings } from '../types';
const login: TranslationStrings = {
'login.error': 'Inicio de sesión fallido. Revisa tus credenciales.',
'login.tagline': 'Tus viajes.\nTu plan.',
'login.description':
'Planifica viajes en colaboración con mapas interactivos, presupuestos y sincronización en tiempo real.',
'login.features.maps': 'Mapas interactivos',
'login.features.mapsDesc': 'Google Places, rutas y agrupación',
'login.features.realtime': 'Sincronización en tiempo real',
'login.features.realtimeDesc': 'Planificad juntos mediante WebSocket',
'login.features.budget': 'Control de presupuesto',
'login.features.budgetDesc': 'Categorías, gráficos y costes por persona',
'login.features.collab': 'Colaboración',
'login.features.collabDesc': 'Multiusuario con viajes compartidos',
'login.features.packing': 'Listas de equipaje',
'login.features.packingDesc': 'Categorías, progreso y sugerencias',
'login.features.bookings': 'Reservas',
'login.features.bookingsDesc': 'Vuelos, hoteles, restaurantes y más',
'login.features.files': 'Documentos',
'login.features.filesDesc': 'Sube y gestiona documentos',
'login.features.routes': 'Rutas inteligentes',
'login.features.routesDesc': 'Optimización automática y exportación a Google Maps',
'login.selfHosted': 'Autoalojado · Código abierto · Tus datos siguen siendo tuyos',
'login.title': 'Iniciar sesión',
'login.subtitle': 'Bienvenido de nuevo',
'login.signingIn': 'Iniciando sesión…',
'login.signIn': 'Entrar',
'login.createAdmin': 'Crear cuenta de administrador',
'login.createAdminHint': 'Configura la primera cuenta administradora de TREK.',
'login.setNewPassword': 'Establecer nueva contraseña',
'login.setNewPasswordHint': 'Debe cambiar su contraseña antes de continuar.',
'login.createAccount': 'Crear cuenta',
'login.createAccountHint': 'Crea una cuenta nueva.',
'login.creating': 'Creando…',
'login.noAccount': '¿No tienes cuenta?',
'login.hasAccount': '¿Ya tienes cuenta?',
'login.register': 'Registrarse',
'login.emailPlaceholder': 'tu@correo.com',
'login.username': 'Usuario',
'login.oidc.registrationDisabled': 'El registro está desactivado. Contacta con tu administrador.',
'login.oidc.noEmail': 'No se recibió ningún correo del proveedor.',
'login.mfaTitle': 'Autenticación de dos factores',
'login.mfaSubtitle': 'Introduce el código de 6 dígitos de tu app de autenticación.',
'login.mfaCodeLabel': 'Código de verificación',
'login.mfaCodeRequired': 'Introduce el código de tu app de autenticación.',
'login.mfaHint': 'Abre Google Authenticator, Authy u otra app TOTP.',
'login.mfaBack': '← Volver al inicio de sesión',
'login.mfaVerify': 'Verificar',
'login.invalidInviteLink': 'Enlace de invitación inválido o expirado',
'login.oidcFailed': 'Error de inicio de sesión OIDC',
'login.usernameRequired': 'El nombre de usuario es obligatorio',
'login.passwordMinLength': 'La contraseña debe tener al menos 8 caracteres',
'login.forgotPassword': '¿Olvidaste tu contraseña?',
'login.rememberMe': 'Recuérdame',
'login.forgotPasswordTitle': 'Restablecer tu contraseña',
'login.forgotPasswordBody':
'Introduce la dirección de correo con la que te registraste. Si existe una cuenta, enviaremos un enlace.',
'login.forgotPasswordSubmit': 'Enviar enlace',
'login.forgotPasswordSentTitle': 'Revisa tu correo',
'login.forgotPasswordSentBody':
'Si existe una cuenta con ese correo, el enlace de restablecimiento está en camino. Caduca en 60 minutos.',
'login.forgotPasswordSmtpHintOff':
'Nota: tu administrador no ha configurado SMTP, así que el enlace de restablecimiento se escribirá en la consola del servidor en lugar de enviarse por correo.',
'login.backToLogin': 'Volver al inicio de sesión',
'login.newPassword': 'Nueva contraseña',
'login.confirmPassword': 'Confirmar nueva contraseña',
'login.passwordsDontMatch': 'Las contraseñas no coinciden',
'login.mfaCode': 'Código 2FA',
'login.resetPasswordTitle': 'Establecer una nueva contraseña',
'login.resetPasswordBody': 'Elige una contraseña segura que no hayas usado aquí antes. Mínimo 8 caracteres.',
'login.resetPasswordMfaBody': 'Introduce tu código 2FA o un código de respaldo para completar el restablecimiento.',
'login.resetPasswordSubmit': 'Restablecer contraseña',
'login.resetPasswordVerify': 'Verificar y restablecer',
'login.resetPasswordSuccessTitle': 'Contraseña actualizada',
'login.resetPasswordSuccessBody': 'Ya puedes iniciar sesión con tu nueva contraseña.',
'login.resetPasswordInvalidLink': 'Enlace de restablecimiento no válido',
'login.resetPasswordInvalidLinkBody': 'Este enlace falta o está roto. Solicita uno nuevo para continuar.',
'login.resetPasswordFailed': 'Restablecimiento fallido. El enlace puede haber caducado.',
'login.oidc.tokenFailed': 'La autenticación falló.',
'login.oidc.invalidState': 'Sesión no válida. Inténtalo de nuevo.',
'login.demoFailed': 'Falló el acceso a la demo',
'login.oidcSignIn': 'Entrar con {name}',
'login.demoHint': 'Prueba la demo: no necesitas registrarte',
'login.oidcOnly': 'La autenticación por contraseña está desactivada. Por favor, inicia sesión con tu proveedor SSO.',
'login.oidcLoggedOut': 'Has cerrado sesión. Vuelve a iniciar sesión con tu proveedor SSO.',
'login.passkey.signIn': 'Iniciar sesión con una passkey',
'login.passkey.failed': 'Error al iniciar sesión con la passkey. Inténtalo de nuevo.',
'login.insecureCookie.title': "Login won't stick over HTTP",
'login.insecureCookie.body': "Youre connecting over plain HTTP, so your browser drops TREKs secure session cookie — the next request fails with \"Access token required\". Fix: use HTTPS, or for a home-lab set COOKIE_SECURE=false.",
'login.insecureCookie.link': "Open the Troubleshooting guide",
};
export default login;