feat(app): study with faces on the ratings, centred cards and the session's figures

The study session, reworked:

- Ratings are coloured tiles with a face each (frown, meh, smile,
  laugh), when the card comes back below them with a clock ("in 1
  min", "in 3 days"), always shown, so a card can be rated without
  revealing it; at most 540 dp wide, centred.
- Cards are centred in a section card: the question large, then a line
  with 24 dp on either side and the answer a size smaller, or "Show
  answer" 40 dp below; a tap anywhere on the card shows or hides the
  answer. Read-only rich text takes a text style and an alignment.
- Words show their reading small above the expression once answered,
  and several meanings numbered.
- Choice, matching and map cards: Check below the card, the ratings in
  its place once checked; options marked before their text; matching
  lists the categories first, then what is left to place; the map
  fills the card with one caption below it.
- Header and progress on a band of their own; title start-aligned,
  the Pomodoro timer only to watch, the back-first toggle in every
  state; leaving a round under way asks first.
- Cramming goes round the round; back is there with two cards or more,
  skipping always.
- The end of a round: the cards done of those due, accuracy (OK counts
  half) and time, over the whole session.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-07 17:40:32 +02:00
commit 369ce4ade1
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -439,6 +439,17 @@
"studyBackFirstOff": "Rückseite der Karten zuerst zeigen",
"studyShowAnswer": "Antwort anzeigen",
"studyCheck": "Prüfen",
"studySelectAll": "Wähle alle zutreffenden aus",
"studySelectOne": "Wähle die richtige Antwort",
"studyMatchingInstructions": "AUF DIE KARTEN OBEN ZIEHEN",
"studyMatchingAllPlaced": "Alle platziert",
"studyMatchingDropHere": "Hier ablegen",
"studyMapTapPrompt": "Tippe auf eine Region, um zu antworten",
"studyMapSelected": "Ausgewählt: {label}",
"studyCorrect": "Richtig",
"studyCorrectLabel": "Richtig — {label}",
"studyMapAnswer": "Antwort: {answer}",
"studyMapPickedAnswer": "Du hast {picked} gewählt · Antwort: {answer}",
"studyRatingBad": "Schlecht",
"studyRatingOk": "OK",
"studyRatingGood": "Gut",
@ -447,13 +458,28 @@
"studyNothingBody": "Komm später wieder, wenn mehr Karten fällig sind.",
"studyNextDue": "Bis zur nächsten fälligen Karte: {interval}.",
"studyDone": "Fertig",
"studyRoundDone": "Runde abgeschlossen",
"studySessionComplete": "Sitzung abgeschlossen",
"studyProgressReviewed": "{reviewed} / {total} wiederholt",
"studyReviewedCount": "{reviewed} wiederholt",
"studyStatCards": "Karten",
"studyStatAccuracy": "Genauigkeit",
"studyStatTime": "Zeit",
"studyDurationSec": "{sec} Sek.",
"studyDurationMin": "{min} Min.",
"studyDurationMinSec": "{min} Min. {sec} Sek.",
"studyLeaveTitle": "Diese Lernsitzung verlassen?",
"studyLeaveRated": "{count, plural, =1{Deine bisherigen Bewertungen sind gespeichert, aber die letzte Karte in dieser Runde wird verworfen, wenn du jetzt gehst.} other{Deine bisherigen Bewertungen sind gespeichert, aber die {count} noch verbleibenden Karten in dieser Runde werden verworfen, wenn du jetzt gehst.}}",
"studyLeaveUnrated": "{count, plural, =1{Du hast diese Karte noch nicht bewertet — beim Verlassen endet die Sitzung, ohne Fortschritt für diese Runde zu speichern.} other{Du hast noch keine der {count} Karten in dieser Runde bewertet — beim Verlassen endet die Sitzung, ohne Fortschritt dafür zu speichern.}}",
"studyLeaveConfirm": "Verlassen",
"studyKeepStudying": "Weiter lernen",
"studyInMinutes": "{count, plural, =1{in 1 Min.} other{in {count} Min.}}",
"studyInHours": "{count, plural, =1{in 1 Stunde} other{in {count} Stunden}}",
"studyInDays": "{count, plural, =1{in 1 Tag} other{in {count} Tagen}}",
"studyInMonths": "{count, plural, =1{in 1 Monat} other{in {count} Monaten}}",
"studyInYears": "{count, plural, =1{in 1 Jahr} other{in {count} Jahren}}",
"studyContinue": "Weiterlernen",
"studyPrevious": "Vorherige Karte",
"studyNext": "Nächste Karte",
"studyReading": "Lesung",
"studyMeanings": "Bedeutungen",
"studyPlaceItems": "Ziehe jedes Element auf seine Kategorie oder tippe auf ein Element und dann auf eine Kategorie.",
"studySkipCard": "Karte überspringen",
"studyMinutes": "{count} Min.",
"studyHours": "{count} Std.",
"studyDays": "{count, plural, =1{1 Tag} other{{count} Tage}}",