diff --git a/web/experience/src/app/auth/login/page.tsx b/web/experience/src/app/auth/login/page.tsx index a4c7fff..c3f045c 100644 --- a/web/experience/src/app/auth/login/page.tsx +++ b/web/experience/src/app/auth/login/page.tsx @@ -28,7 +28,7 @@ export default function ExperienceLoginPage() { // Verify user is a student if (response.user.role !== "student") { - setError("Access denied. This portal is for students only. Please use the Studio portal for instructors."); + setError("Acceso denegado. Este portal es solo para estudiantes. Utiliza el portal de Studio para instructores."); setLoading(false); return; } @@ -47,7 +47,7 @@ export default function ExperienceLoginPage() { router.push("/"); } } catch (err) { - setError(err instanceof Error ? err.message : "Authentication failed"); + setError(err instanceof Error ? err.message : "Falló la autenticación"); } finally { setLoading(false); } @@ -61,8 +61,8 @@ export default function ExperienceLoginPage() {
Student Learning Portal
+If left blank, an organization will be created based on your email domain.
+Si se deja en blanco, se creará una organización basada en el dominio de tu correo electrónico.
- Are you an instructor?{" "} + ¿Eres un instructor?{" "} - Go to Instructor Portal + Ir al Portal de Instructores
- OpenCCB Experience - Student Learning Portal + Experiencia OpenCCB - Portal de Aprendizaje para Estudiantes
Join the next generation of learners
+Únete a la próxima generación de aprendices
If blank, we'll use your email domain.
+Si está en blanco, usaremos el dominio de tu correo electrónico.
- Already have an account? Login here + ¿Ya tienes una cuenta? Inicia sesión aquí
{course.title}
{course.title}
"{lesson.summary}" @@ -183,7 +183,7 @@ export default function LessonPlayerPage({ params }: { params: { id: string, les ); setUserGrade(res); } catch (err) { - console.error("Failed to persist play count", err); + console.error("Error al guardar el recuento de reproducciones", err); } } }} @@ -219,7 +219,7 @@ export default function LessonPlayerPage({ params }: { params: { id: string, les ); setUserGrade(res); } catch (err) { - console.error("Failed to persist block attempts", err); + console.error("Error al guardar los intentos del bloque", err); } } }} @@ -248,7 +248,7 @@ export default function LessonPlayerPage({ params }: { params: { id: string, les
This lesson currently has no content.
+Actualmente, esta lección no tiene contenido.
This assessment is now closed for further submissions.
+Esta evaluación ya está cerrada para futuras entregas.
- Attempt {userGrade ? userGrade.attempts_count : 0} of {lesson.max_attempts} used + Intento {userGrade ? userGrade.attempts_count : 0} de {lesson.max_attempts} usado
)} > @@ -319,7 +319,7 @@ export default function LessonPlayerPage({ params }: { params: { id: string, lesPrevious
+Anterior
{prevLesson.title}
- {courseData.description || "Master the core principles and advanced techniques in this structured curriculum. Each module is designed to provide actionable insights and hands-on experience."} + {courseData.description || "Domina los principios básicos y las técnicas avanzadas en este plan de estudios estructurado. Cada módulo está diseñado para proporcionar conocimientos prácticos y experiencia práctica."}
- Weight: {cat.weight}% of total course grade + Peso: {cat.weight}% de la calificación total del curso
- Congratulations! You have passed {course.title}. + ¡Felicidades! Has aprobado {course.title}.
- Maintain {course.passing_percentage || 70}% or higher to earn your verified certificate. + Mantén {course.passing_percentage || 70}% o más para obtener tu certificado verificado.
- Master the skills of the future with our high-fidelity educational content. + Domina las habilidades del futuro con nuestro contenido educativo de alta fidelidad.
No badges earned yet. Start learning to unlock achievements!
+Aún no has ganado insignias. ¡Comienza a aprender para desbloquear logros!
) : ( gamification.badges.map(badge => (No courses published yet.
+Aún no se han publicado cursos.
- {course.description || "In-depth curriculum covering foundational principles to advanced mastery, crafted by industry veterans."} + {course.description || "Currículo detallado que cubre desde los principios fundamentales hasta el dominio avanzado, elaborado por veteranos de la industria."}
Personalize your learning experience and track your progress.
+Personaliza tu experiencia de aprendizaje y sigue tu progreso.
{user.organization_id}