feat(app): quiz vocabulary as multiple choice

The session settings' new Vocabulary section quizzes words as multiple
choice: their meaning (the default), their reading, the expression for
the meaning, or the reading and the meaning in turn ("Mixed"). The
wrong answers come from the other words studied; none of the word's
own meanings counts as wrong, whatever its case. A word without what is
asked, or without two others to draw from, stays a word to flip. It is
asked the same way each time it comes, and rated as any card.

The settings keep both (`quizVocabulary`, `quizAspect`; settings schema
5), on every device.

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 21:57:04 +02:00
commit 6893db7da8
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -3394,6 +3394,54 @@ abstract class AppLocalizations {
/// **'Walk every card without touching the schedules.'**
String get studyModeCramHint;
/// No description provided for @studySettingsVocabulary.
///
/// In en, this message translates to:
/// **'Vocabulary'**
String get studySettingsVocabulary;
/// No description provided for @studySettingsQuizMc.
///
/// In en, this message translates to:
/// **'Quiz with multiple choice'**
String get studySettingsQuizMc;
/// No description provided for @studySettingsQuizMcDescription.
///
/// In en, this message translates to:
/// **'Show vocabulary cards as a multiple-choice question, with wrong answers drawn from other vocabulary in this set.'**
String get studySettingsQuizMcDescription;
/// No description provided for @studyAspectMeaning.
///
/// In en, this message translates to:
/// **'Meaning'**
String get studyAspectMeaning;
/// No description provided for @studyAspectReading.
///
/// In en, this message translates to:
/// **'Reading'**
String get studyAspectReading;
/// No description provided for @studyAspectExpression.
///
/// In en, this message translates to:
/// **'Expression'**
String get studyAspectExpression;
/// No description provided for @studyAspectMixed.
///
/// In en, this message translates to:
/// **'Mixed'**
String get studyAspectMixed;
/// No description provided for @studySettingsAspectDescription.
///
/// In en, this message translates to:
/// **'What to recall — the meaning, the kana reading, or the expression itself (shown the meaning). Mixed varies meaning and reading per card; cards that can’t be quizzed stay a normal flip.'**
String get studySettingsAspectDescription;
/// No description provided for @studySortOldestFirst.
///
/// In en, this message translates to: