extended admin tool for finished lessons
All checks were successful
Deploy to production / deploy (push) Successful in 2m54s

This commit is contained in:
Torsten Schulz (local)
2026-04-02 13:32:13 +02:00
parent 9d663e4f2b
commit edbf22ac5b
9 changed files with 281 additions and 0 deletions

View File

@@ -36,6 +36,16 @@
"loadCoursesError": "Dili makarga ang lista sa mga kurso.",
"loadingLessons": "Nagkarga sa mga leksiyon …"
},
"vocabLessonMarkComplete": {
"divider": "Ayuhon ang pag-uswag (dili paghimo og peke nga resulta sa ehersisyo)",
"throughLabel": "Tanang leksiyon hangtod sa numero (lakip)",
"hint": "I-mark ang kulang o abli nga mga row nga nahuman, lakip ang target score ug unang review wave. Ang nahuman na dili usbon.",
"submit": "I-mark nga nahuman hangtod dinhi",
"confirm": "I-mark nga nahuman ang tanang leksiyon nga numero ≤ {n} ni {username} niining kurso?",
"success": "{marked} ka leksiyon nga bag-ong gi-mark nga nahuman ({unchanged} klaro nang nahuman).",
"successNone": "Walay pagbag-o: tanang leksiyon nga naapektuhan ({unchanged}) klaro nang nahuman.",
"error": "Dili ma-mark nga nahuman."
},
"rights": {
"add": "Idugang ang katungod",
"select": "Palihog pagpili",

View File

@@ -45,6 +45,16 @@
"loadCoursesError": "Die Kursliste konnte nicht geladen werden.",
"loadingLessons": "Lektionen werden geladen …"
},
"vocabLessonMarkComplete": {
"divider": "Fortschritt reparieren (ohne Übungsergebnisse zu fälschen)",
"throughLabel": "Alle Lektionen bis Lektionsnummer (einschließlich)",
"hint": "Setzt fehlende oder offene Einträge auf „abgeschlossen“, inkl. Ziel-Score und erster Review-Welle. Bereits abgeschlossene Lektionen bleiben unverändert.",
"submit": "Bis hier als abgeschlossen markieren",
"confirm": "Alle Lektionen mit Nummer ≤ {n} für {username} in diesem Kurs als abgeschlossen markieren?",
"success": "{marked} Lektion(en) neu als abgeschlossen gesetzt ({unchanged} waren bereits erledigt).",
"successNone": "Keine Änderung: alle betroffenen Lektionen ({unchanged}) waren bereits abgeschlossen.",
"error": "Markieren fehlgeschlagen."
},
"adultVerification": {
"title": "[Admin] - Erotik-Freigaben",
"intro": "Volljährige Nutzer können den Erotikbereich beantragen. Hier werden Anfragen geprüft und freigegeben oder abgelehnt.",

View File

@@ -45,6 +45,16 @@
"loadCoursesError": "Could not load the course list.",
"loadingLessons": "Loading lessons…"
},
"vocabLessonMarkComplete": {
"divider": "Repair progress (does not fabricate exercise answers)",
"throughLabel": "All lessons up to and including lesson number",
"hint": "Marks missing or open rows as completed, including target score and first review wave. Already completed lessons are left unchanged.",
"submit": "Mark through here as completed",
"confirm": "Mark every lesson with number ≤ {n} for {username} in this course as completed?",
"success": "{marked} lesson(s) newly marked complete ({unchanged} were already done).",
"successNone": "No change: all affected lessons ({unchanged}) were already completed.",
"error": "Could not mark lessons complete."
},
"adultVerification": {
"title": "[Admin] - Erotic approvals",
"intro": "Adult users can request access to the erotic area. Requests can be reviewed, approved or rejected here.",

View File

@@ -45,6 +45,16 @@
"loadCoursesError": "No se pudo cargar la lista de cursos.",
"loadingLessons": "Cargando lecciones…"
},
"vocabLessonMarkComplete": {
"divider": "Reparar progreso (no inventa resultados de ejercicios)",
"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",
"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.",
"error": "No se pudo marcar como completadas."
},
"adultVerification": {
"title": "[Admin] - Aprobaciones eróticas",
"intro": "Los usuarios adultos pueden solicitar acceso al área erótica. Aquí se revisan, aprueban o rechazan las solicitudes.",