3573b7eb40
- lib/recover.ts: requestRecovery(type,email) -> password (crea token en home_passwordreset + email), accountname (email con las cuentas), activation (reenvía enlace); respuesta genérica anti-enumeración. resetPassword(token,pass) re-deriva el verifier SRP6 v2 (bnetMakeRegistration) y actualiza battlenet_accounts, marca el token usado. - Routes /api/auth/recover (Turnstile) y /api/auth/reset-password. - Páginas app/[locale]/recover (RecoverForm: selector de tipo + email + Turnstile) y reset-password (ResetForm con token de la URL). Catálogos Recover, Reset. Verificado: recover sin captcha -> captchaFailed; reset token inválido -> invalidLink; páginas 200. Reutiliza home_passwordreset de Django. Crypto de reset ya validada. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
115 lines
4.7 KiB
JSON
115 lines
4.7 KiB
JSON
{
|
|
"Metadata": {
|
|
"title": "Nova WoW Server de WoW WotLK 3.4.3 Latino y Español 💎",
|
|
"description": "Descarga y juega gratis a WotLK Classic en Nova WoW - Server de WoW WotLK 3.4.3 Latino y Español - El mejor server de WoW 🔥"
|
|
},
|
|
"Nav": {
|
|
"home": "Inicio",
|
|
"login": "Iniciar sesión",
|
|
"register": "Crear cuenta",
|
|
"account": "Mi cuenta",
|
|
"logout": "Cerrar sesión",
|
|
"language": "Idioma"
|
|
},
|
|
"Home": {
|
|
"brand": "Nova WoW",
|
|
"serverStatus": "Estado del servidor",
|
|
"server": "Servidor",
|
|
"onlineCharacters": "Personajes en línea",
|
|
"login": "Login",
|
|
"address": "Dirección",
|
|
"notAvailable": "No disponible",
|
|
"news": "Noticias",
|
|
"noNews": "No hay noticias disponibles en este momento.",
|
|
"link": "Enlace",
|
|
"here": "aquí"
|
|
},
|
|
"Login": {
|
|
"title": "Conectar a Nova WoW",
|
|
"email": "Correo electrónico",
|
|
"password": "Contraseña",
|
|
"submit": "Conectar",
|
|
"connecting": "Conectando…",
|
|
"success": "Conexión exitosa. Redirigiendo…",
|
|
"invalidCredentials": "Correo o contraseña incorrectos",
|
|
"missingFields": "Por favor rellene todos los campos.",
|
|
"invalidRequest": "Solicitud no válida.",
|
|
"genericError": "Algo ha salido mal. Inténtalo más tarde.",
|
|
"forgot": "He olvidado mi contraseña/usuario",
|
|
"newHere": "¿Nuevo en la comunidad? Puedes crear una cuenta",
|
|
"createAccount": "aquí",
|
|
"captchaFailed": "Verificación anti-bots fallida. Reintenta."
|
|
},
|
|
"Account": {
|
|
"title": "Mi cuenta",
|
|
"bnetAccount": "Cuenta (Battle.net)",
|
|
"gameAccount": "Cuenta de juego",
|
|
"logout": "Cerrar sesión"
|
|
},
|
|
"SelectAccount": {
|
|
"title": "Selecciona tu cuenta de juego",
|
|
"loggedInAs": "Conectado como",
|
|
"choose": "Tu cuenta Battle.net tiene varias cuentas de juego. Elige con cuál quieres continuar:",
|
|
"noAccounts": "No se han encontrado cuentas de juego asociadas a esta cuenta Battle.net.",
|
|
"entering": "Entrando…",
|
|
"error": "No se pudo seleccionar la cuenta."
|
|
},
|
|
"Register": {
|
|
"title": "Creación de cuenta",
|
|
"info": "Tu cuenta es de tipo Battle.net: se identifica con tu correo electrónico. La contraseña debe ser alfanumérica y de hasta 16 caracteres. El correo debe ser de Gmail.",
|
|
"password": "Contraseña",
|
|
"confPassword": "Confirmar contraseña",
|
|
"email": "Correo electrónico de Gmail",
|
|
"confEmail": "Confirmar correo electrónico",
|
|
"recruiter": "Reclutante (opcional)",
|
|
"terms": "Acepto las Normas, los Términos y Condiciones y la Política de Privacidad",
|
|
"submit": "Crear cuenta",
|
|
"creating": "Creando…",
|
|
"success": "La cuenta se ha creado. Revisa tu correo para activarla.",
|
|
"missingFields": "Por favor, complete todos los campos.",
|
|
"passwordMismatch": "Las contraseñas no coinciden.",
|
|
"passwordTooLong": "La contraseña no debe exceder los 16 caracteres.",
|
|
"invalidEmail": "El correo electrónico no es válido.",
|
|
"emailExists": "Ya existe una cuenta con ese correo electrónico.",
|
|
"recruiterNotFound": "El reclutador ingresado no existe.",
|
|
"genericError": "Algo ha salido mal. Inténtalo más tarde.",
|
|
"captchaFailed": "Verificación anti-bots fallida. Reintenta."
|
|
},
|
|
"Activate": {
|
|
"activating": "Activando tu cuenta…",
|
|
"success": "¡Cuenta activada! Ya puedes iniciar sesión.",
|
|
"invalidLink": "El enlace no es válido o ya se ha usado.",
|
|
"expiredLink": "El enlace ha caducado. Solicita uno nuevo.",
|
|
"goLogin": "Ir a iniciar sesión"
|
|
},
|
|
"Recover": {
|
|
"title": "Recuperar cuenta",
|
|
"type": "¿Qué quieres recuperar?",
|
|
"typePassword": "Contraseña",
|
|
"typeAccountName": "Nombre de cuenta",
|
|
"typeActivation": "Enlace de activación",
|
|
"email": "Correo electrónico de Gmail",
|
|
"submit": "Solicitar",
|
|
"sending": "Enviando…",
|
|
"success": "Si existe una cuenta con ese correo, te hemos enviado la información.",
|
|
"invalidEmail": "Introduce un correo de Gmail válido.",
|
|
"genericError": "Algo ha salido mal. Inténtalo más tarde.",
|
|
"captchaFailed": "Verificación anti-bots fallida. Reintenta."
|
|
},
|
|
"Reset": {
|
|
"title": "Restablecer contraseña",
|
|
"password": "Nueva contraseña",
|
|
"confPassword": "Confirmar contraseña",
|
|
"submit": "Restablecer",
|
|
"saving": "Guardando…",
|
|
"success": "Contraseña restablecida. Ya puedes iniciar sesión.",
|
|
"goLogin": "Ir a iniciar sesión",
|
|
"invalidLink": "El enlace no es válido o ya se ha usado.",
|
|
"expiredLink": "El enlace ha caducado. Solicita uno nuevo.",
|
|
"passwordMismatch": "Las contraseñas no coinciden.",
|
|
"passwordTooLong": "La contraseña no debe exceder los 16 caracteres.",
|
|
"accountNotFound": "No se ha encontrado la cuenta.",
|
|
"genericError": "Algo ha salido mal. Inténtalo más tarde."
|
|
}
|
|
}
|