feat(vocab): implement upcoming vocabulary review tracking and update UI accordingly

This commit is contained in:
Torsten Schulz (local)
2026-08-25 12:46:19 +02:00
parent 53f00db154
commit a481a440c8
4 changed files with 52 additions and 99 deletions

View File

@@ -772,14 +772,13 @@
"courseFlowBlockDescription": "Hier liegt der nächste reguläre Fortschritt im Kurs.",
"courseFlowBlockEmpty": "Der aktuelle Block ist bereits abgeschlossen oder es gibt gerade keine offene Blocklektion.",
"courseFlowIntensiveTitle": "Fällige Intensivphase",
"courseFlowIntensiveDescription": "Verdichtete Wiederholung, sobald der Block davor weitgehend sitzt.",
"courseFlowIntensiveEmpty": "Aktuell ist keine neue Intensivphase freigeschaltet.",
"courseFlowIntensiveStatusAction": "Freischaltung prüfen",
"courseFlowIntensiveStatusTitle": "Status der Intensivphase",
"courseFlowIntensiveStatusAllDone": "Alle Intensivphasen dieses Kurses sind bereits abgeschlossen.",
"courseFlowIntensiveStatusReady": "„{lesson}“ ist bereit und kann jetzt geöffnet werden.",
"courseFlowIntensiveStatusProgress": "Für „{lesson}“ sind {done} von {total} vorausgehenden Lektionen im selben Block abgeschlossen.",
"courseFlowIntensiveStatusNoDate": "Die Intensivphase wird nicht nach einer Wartezeit freigeschaltet, sondern sofort nach Abschluss dieser Lektionen.",
"courseFlowIntensiveDescription": "Zusätzliche Wiederholung für Begriffe, die du in der Tageswiederholung falsch beantwortet hast.",
"courseFlowIntensiveEmpty": "Aktuell sind keine Begriffe als schwer markiert.",
"courseFlowIntensiveStatusAction": "Nächste Wiederholungen prüfen",
"courseFlowIntensiveStatusTitle": "Nächste Vokabelwiederholungen",
"courseFlowIntensiveStatusAllDone": "Für abgeschlossene Lektionen sind derzeit keine weiteren Vokabelwiederholungen geplant.",
"courseFlowIntensiveStatusProgress": "{count} Begriffe",
"courseFlowIntensiveStatusNoDate": "Die Termine richten sich nach deinen richtigen Antworten: 1, 3, 7, 14, 30, 60 und 120 Tage. Eine falsche Antwort wird als schwer markiert und kommt zeitnah wieder.",
"courseFlowPracticeTitle": "Freie Vertiefung",
"courseFlowPracticeDescription": "Abgeschlossene Lektionen für lockeres Nachtrainieren außerhalb des Pflichtpfads.",
"courseFlowPracticeEmpty": "Sobald du erste Lektionen abgeschlossen hast, erscheinen sie hier für freies Nachtrainieren.",

View File

@@ -772,14 +772,13 @@
"courseFlowBlockDescription": "This is where the next regular progress step in the course lives.",
"courseFlowBlockEmpty": "The current block is already done or there is no open block lesson right now.",
"courseFlowIntensiveTitle": "Due intensive review",
"courseFlowIntensiveDescription": "Condensed review once the block before it is mostly stable.",
"courseFlowIntensiveEmpty": "No new intensive review is unlocked right now.",
"courseFlowIntensiveStatusAction": "Check availability",
"courseFlowIntensiveStatusTitle": "Intensive review status",
"courseFlowIntensiveStatusAllDone": "All intensive review phases in this course are already complete.",
"courseFlowIntensiveStatusReady": "“{lesson}” is ready and can be opened now.",
"courseFlowIntensiveStatusProgress": "For “{lesson}”, {done} of {total} preceding lessons in the same block are complete.",
"courseFlowIntensiveStatusNoDate": "The intensive review unlocks immediately after these lessons are complete; it does not have a waiting period.",
"courseFlowIntensiveDescription": "Extra review for terms answered incorrectly in the daily review.",
"courseFlowIntensiveEmpty": "No terms are currently marked as hard.",
"courseFlowIntensiveStatusAction": "Check upcoming reviews",
"courseFlowIntensiveStatusTitle": "Upcoming vocabulary reviews",
"courseFlowIntensiveStatusAllDone": "No further vocabulary reviews are currently scheduled for completed lessons.",
"courseFlowIntensiveStatusProgress": "{count} terms",
"courseFlowIntensiveStatusNoDate": "Dates are based on correct answers: 1, 3, 7, 14, 30, 60 and 120 days. An incorrect answer is marked hard and returns soon.",
"courseFlowPracticeTitle": "Free practice",
"courseFlowPracticeDescription": "Completed lessons for relaxed extra practice outside the required path.",
"courseFlowPracticeEmpty": "As soon as you complete your first lessons, they will appear here for free practice.",