feat(DayProduction, FalukantService, VocabLessonView): enhance vocabulary training and production tracking
All checks were successful
Deploy to production / deploy (push) Successful in 1m51s

- Added a new `completionCount` field to the DayProduction model to track the number of completed productions.
- Updated the FalukantService to aggregate completed productions using the new `completionCount` field, improving accuracy in production statistics.
- Introduced new vocabulary training features in VocabLessonView, including options to mark vocabulary as difficult and track remaining hard vocabulary, enhancing user engagement and learning effectiveness.
- Updated localization files for German and English to support new vocabulary training features, ensuring a consistent user experience across languages.
This commit is contained in:
Torsten Schulz (local)
2026-04-21 15:44:44 +02:00
parent 27d42c0a3a
commit 4cc2aace6b
5 changed files with 275 additions and 3 deletions

View File

@@ -825,6 +825,13 @@
"trainerProgressNewContent": "Neue Inhalte: {current}/{target}",
"trainerProgressReview": "Wiederholung: {count}",
"trainerProgressMixShare": "Mischanteil: {percent}%",
"markVocabHard": "Als schwer markieren",
"markVocabHardSaved": "Vokabel als schwer markiert.",
"unmarkVocabHard": "Aus Schwerliste entfernen",
"unmarkVocabHardSaved": "Vokabel aus der Schwerliste entfernt.",
"hardVocabModeActive": "Intensivblock: schwere Vokabeln",
"hardVocabRemaining": "Offen bis gefestigt: {count}",
"startHardVocabTrainer": "Schwere Vokabeln trainieren ({count})",
"unknownExerciseTypeNotice": "Dieser Übungstyp wird in der aktuellen Ansicht noch nicht interaktiv dargestellt.",
"unknownExerciseTypeLabel": "Typ: {type}",
"lessonReviewHeadlineDone": "Diese Lektion ist in der freien Vertiefung angekommen.",

View File

@@ -825,6 +825,13 @@
"trainerProgressNewContent": "New content: {current}/{target}",
"trainerProgressReview": "Review: {count}",
"trainerProgressMixShare": "Mixed share: {percent}%",
"markVocabHard": "Mark as difficult",
"markVocabHardSaved": "Vocabulary marked as difficult.",
"unmarkVocabHard": "Remove from difficult list",
"unmarkVocabHardSaved": "Vocabulary removed from difficult list.",
"hardVocabModeActive": "Intensive block: difficult vocabulary",
"hardVocabRemaining": "Remaining until stable: {count}",
"startHardVocabTrainer": "Train difficult vocabulary ({count})",
"unknownExerciseTypeNotice": "This exercise type is not displayed interactively in the current view yet.",
"unknownExerciseTypeLabel": "Type: {type}",
"lessonReviewHeadlineDone": "This lesson has reached the free practice stage.",