feat(app): offer to review first when reviews are due beyond the tags chosen

With tags narrowing a session, new cards of theirs to learn, and cards
of other tags due for review, the session asks first ("You have reviews
due"): Review first studies the reviews due across every tag, round
after round, the tags not applying until none is left (the session
settings say so meanwhile); Learn anyway learns the tags' new cards;
Cancel leaves. A new session asks again.

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 22:03:27 +02:00
commit 72e99ef790
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -1670,6 +1670,40 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get studyClose => 'Sitzung schließen';
@override
String get studyReviewsDueTitle => 'Fällige Wiederholungen';
@override
String studyReviewsDueBody(int reviews, int news) {
String _temp0 = intl.Intl.pluralLogic(
reviews,
locale: localeName,
other: '$reviews Karten sind',
one: '1 Karte ist',
);
String _temp1 = intl.Intl.pluralLogic(
news,
locale: localeName,
other: 'Wenn du jetzt $news neue Karten lernst',
one: 'Wenn du jetzt 1 neue Karte lernst',
);
return '$_temp0 zur Wiederholung fällig. $_temp1, erhöht das deine Wiederholungslast.';
}
@override
String get studyReviewsDueAllTagsNote =>
'„Zuerst wiederholen“ arbeitet den gesamten Rückstand über alle Tags hinweg ab – dein Tag-Filter greift erst wieder, wenn er abgebaut ist.';
@override
String get studyReviewFirst => 'Zuerst wiederholen';
@override
String get studyLearnAnyway => 'Trotzdem lernen';
@override
String get studySettingsTagFilterPausedForBacklog =>
'Diese Sitzung arbeitet deinen Wiederholungsrückstand über alle Tags hinweg ab, deshalb schränken diese Tags sie nicht ein. Ab der nächsten Sitzung greifen sie wieder.';
@override
String get studyBuryCard => 'Bis morgen zurückstellen';