feat(VocabPracticeDialog): implement SRS session management and enhance UI feedback
All checks were successful
Deploy to production / deploy (push) Successful in 1m53s

- Added support for spaced repetition system (SRS) session management, allowing users to resume practice sessions with due items.
- Introduced new UI elements to display SRS session status, including total due, completed, and remaining items.
- Enhanced localization for SRS-related messages in multiple languages, improving user experience and clarity.
- Updated methods for saving and loading SRS session data to local storage, ensuring persistence across sessions.
This commit is contained in:
Torsten Schulz (local)
2026-04-17 16:28:19 +02:00
parent 9c121d2dc2
commit 3232e42251
6 changed files with 233 additions and 3 deletions

View File

@@ -134,6 +134,32 @@
"random": "Random",
"submit": "Apil"
},
"genderAge": {
"ageGroups": "infant:2|toddler:4|child:12|teen:18|youngAdult:25|adult:50|mature:70|elder:999",
"neutral": {
"child": "Bata"
},
"male": {
"infant": "Masuso nga lalaki",
"toddler": "Gamay nga batang lalaki",
"child": "Batang lalaki",
"teen": "Batan-on nga lalaki",
"youngAdult": "Batan-on nga lalaki",
"adult": "Lalaki",
"mature": "Tigulang nga lalaki",
"elder": "Katigulangan nga lalaki"
},
"female": {
"infant": "Masuso nga babaye",
"toddler": "Gamay nga batang babaye",
"child": "Batang babaye",
"teen": "Batan-on nga babaye",
"youngAdult": "Batan-on nga babaye",
"adult": "Babaye",
"mature": "Tigulang nga babaye",
"elder": "Katigulangan nga babaye"
}
},
"overview": {
"title": "Falukant - Overview",
"heroIntro": "Ang imong kahimtang sa ekonomiya, pamilya ug kabtangan sa usa ka mubo ug klarong overview.",

View File

@@ -791,6 +791,9 @@
"wrong": "Sayop.",
"acceptable": "Acceptable answers:",
"stats": "Stats",
"dueToday": "Due karon",
"done": "Nahuman",
"remaining": "Nahibilin",
"success": "Malampuson",
"fail": "Fail",
"srsRateTitle": "Unsa ka lig-on sa imong pagbati?",
@@ -801,7 +804,9 @@
"srsGood": "Maayo",
"srsGoodHint": "normal nga iskedyul",
"srsEasy": "Sayon",
"srsEasyHint": "mas layo nga interval"
"srsEasyHint": "mas layo nga interval",
"srsFinishedTitle": "Nahuman na karon",
"srsFinishedDesc": "Napratik na nimo ang tanang due items sa kini nga round. Kung naay bag-ong due items unya, makapadayon ka dinhi."
},
"search": {
"open": "Pangita",

View File

@@ -452,6 +452,9 @@
"wrong": "Falsch.",
"acceptable": "Mögliche richtige Übersetzungen:",
"stats": "Statistik",
"dueToday": "Heute fällig",
"done": "Erledigt",
"remaining": "Noch offen",
"success": "Erfolg",
"fail": "Misserfolg",
"srsRateTitle": "Wie sicher war das?",
@@ -462,7 +465,9 @@
"srsGood": "Gut",
"srsGoodHint": "normal planen",
"srsEasy": "Leicht",
"srsEasyHint": "größerer Abstand"
"srsEasyHint": "größerer Abstand",
"srsFinishedTitle": "Für heute erledigt",
"srsFinishedDesc": "Du hast alle fälligen Begriffe aus dieser Runde geübt. Wenn später neue Begriffe fällig werden, kannst du hier weitermachen."
},
"search": {
"open": "Suche",

View File

@@ -124,6 +124,32 @@
"children": "Children",
"children_unbaptised": "Unbaptised children"
},
"genderAge": {
"ageGroups": "infant:2|toddler:4|child:12|teen:18|youngAdult:25|adult:50|mature:70|elder:999",
"neutral": {
"child": "Child"
},
"male": {
"infant": "Baby boy",
"toddler": "Toddler",
"child": "Boy",
"teen": "Young man",
"youngAdult": "Young man",
"adult": "Man",
"mature": "Older man",
"elder": "Elder"
},
"female": {
"infant": "Baby girl",
"toddler": "Toddler",
"child": "Girl",
"teen": "Young woman",
"youngAdult": "Young woman",
"adult": "Woman",
"mature": "Older woman",
"elder": "Elder"
}
},
"overview": {
"title": "Falukant - Overview",
"heroIntro": "Your status in economy, family and property in a condensed overview.",

View File

@@ -452,6 +452,9 @@
"wrong": "Wrong.",
"acceptable": "Acceptable answers:",
"stats": "Stats",
"dueToday": "Due today",
"done": "Done",
"remaining": "Remaining",
"success": "Success",
"fail": "Fail",
"srsRateTitle": "How solid did it feel?",
@@ -462,7 +465,9 @@
"srsGood": "Good",
"srsGoodHint": "normal schedule",
"srsEasy": "Easy",
"srsEasyHint": "longer interval"
"srsEasyHint": "longer interval",
"srsFinishedTitle": "Done for today",
"srsFinishedDesc": "You have practiced all due items from this round. When new items become due later, you can continue here."
},
"search": {
"open": "Search",