feat(localization): enhance course progress and review messaging across multiple languages
All checks were successful
Deploy to production / deploy (push) Successful in 2m52s

- Added new confirmation titles and messages for resetting and marking lessons as complete in admin and user interfaces.
- Expanded course flow and review scheduling messages to improve clarity and user guidance in Cebuano, German, Spanish, and English.
- Introduced a new section in the VocabCourseView to display today's recommended steps for users, enhancing the learning experience.
- Updated localization files to ensure consistent messaging and improved user engagement across all supported languages.
This commit is contained in:
Torsten Schulz (local)
2026-04-02 13:49:59 +02:00
parent edbf22ac5b
commit 3d2ccd620a
10 changed files with 311 additions and 54 deletions

View File

@@ -37,6 +37,7 @@
"selectCourse": "Curso",
"selectLesson": "Lección",
"reset": "Restablecer lección para este usuario",
"confirmTitle": "Eliminar progreso de la lección",
"confirm": "¿Borrar de verdad el progreso de la lección «{lesson}» para {username}?",
"success": "Se restableció el progreso de la lección.",
"error": "No se pudo restablecer.",
@@ -50,6 +51,7 @@
"throughLabel": "Todas las lecciones hasta el número (incluido)",
"hint": "Marca filas faltantes o abiertas como completadas, con puntuación objetivo y primera ola de repaso. Las ya completadas no se cambian.",
"submit": "Marcar hasta aquí como completadas",
"confirmTitle": "Marcar lecciones como completadas",
"confirm": "¿Marcar todas las lecciones con número ≤ {n} para {username} en este curso como completadas?",
"success": "{marked} lección(es) marcadas como completadas ({unchanged} ya estaban hechas).",
"successNone": "Sin cambios: todas las lecciones afectadas ({unchanged}) ya estaban completadas.",

View File

@@ -657,7 +657,17 @@
"courseShareCodePlaceholder": "p. ej. abc123def456",
"courseFlowEyebrow": "Flujo del día",
"courseFlowTitle": "La mejor continuación para hoy",
"courseFlowIntro": "El orden sigue el concepto: primero los repasos pendientes, luego el bloque actual, después la fase intensiva y al final la práctica libre.",
"courseFlowIntro": "Primero la sugerencia del día con orden concreto. Debajo, las cuatro zonas: repaso breve pendiente, bloque actual, fase intensiva, práctica libre.",
"courseTodayPlanTitle": "Sugerencia para hoy",
"courseTodayPlanIntro": "Orden práctico: primero todo lo marcado como repaso breve pendiente, luego las lecciones abiertas de tu bloque, después la fase intensiva si aparece. Los repasos breves son tres citas cortas tras terminar una lección (típicamente aprox. 1, 3 y 7 días) para fijar vocabulario.",
"courseTodayPlanStepReviewDue": "Repaso breve ahora",
"courseTodayPlanStepBlock": "Seguir en el bloque actual",
"courseTodayPlanStepIntensive": "Repaso intensivo",
"courseTodayPlanStepContinue": "Siguiente en tu ruta",
"courseTodayPlanStepPractice": "Práctica libre (opcional)",
"courseTodayPlanOpen": "Abrir lección",
"courseTodayPlanTrainer": "Abrir entrenador",
"courseTodayPlanEmpty": "Ahora no hay repaso escalonado pendiente ni un siguiente paso claro en el bloque. Elige una lección abajo o usa la práctica libre con el entrenador.",
"courseFlowReviewStat": "Repaso pendiente: {count}",
"courseFlowBlockStat": "Bloque activo: {block}",
"courseFlowReviewTitle": "Repaso pendiente",
@@ -698,10 +708,20 @@
"reviewBadgeScheduleInDays": "siguiente ola en {count} días",
"reviewBadgeScheduleToday": "ola prevista hoy",
"reviewBadgeScheduleOverdue": "ola atrasada ({count} días)",
"reviewStageDay1": "Día 1",
"reviewStageDay3": "Día 3",
"reviewStageDay7": "Día 7",
"reviewStageCompleted": "Repaso completado",
"reviewBadgeLineAllDone": "Todos los repasos breves hechos (3×)",
"reviewBadgeLineDue": "Repaso breve: paso {step} de 3 · toca ahora",
"reviewBadgeLineScheduled": "Repaso breve: paso {step} de 3 · siguiente el {when}",
"reviewWhenFriendlyTomorrow": "mañana",
"reviewWhenFriendlyInDays": "en {count} días",
"reviewWhenFriendlyToday": "hoy",
"reviewWhenFriendlyOverdue": "atrasado (hace {count} día(s))",
"reviewWhenFriendlySoon": "pronto",
"reviewBadgeTooltipDone": "Completaste los tres repasos breves sugeridos tras esta lección. Puedes seguir practicando en el entrenador.",
"reviewBadgeTooltipActive": "Tras completar la lección, el curso propone tres repasos breves separados unos 1, 3 y 7 días para que el vocabulario quede fijo. La etiqueta indica qué paso (13) toca o cuándo es la siguiente cita.",
"reviewStageDay1": "Paso 1 de 3 (~1 día)",
"reviewStageDay3": "Paso 2 de 3 (~3 días)",
"reviewStageDay7": "Paso 3 de 3 (~7 días)",
"reviewStageCompleted": "Todos los repasos breves hechos",
"phaseQuickstart": "Inicio rápido",
"phaseDailyLife": "Vida diaria",
"phaseStabilization": "Estabilización",