feat(learn): an assistant proposes flashcards from a text, a note or a PDF page

The cards come as drafts (ADR 0021, D10, D55): one question with one
tool, propose_cards, the cards in a sheet, every one chosen at first,
each changed in a small sheet of its own or left out, and only those
chosen added, marked as an assistant's (origin "assistant"). They are
proposed from a text pasted in Add material, from a note's title and
text, and from a PDF's page or the text selected on it, tied to that page
(D56). A note or a page of a private studyset goes only once agreed to
(D9), the text pasted counting as the person's own; nothing is offered
without an assistant. PDFs give their pages' text (PdfDocumentView.pageText).

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-25 21:30:59 +01:00
commit cca10e855e
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -11060,6 +11060,84 @@ abstract class AppLocalizations {
/// **'Check for mistakes'**
String get assistantCheck;
/// The sheet of cards an assistant proposes (ADR 0021, D55).
///
/// In en, this message translates to:
/// **'Flashcards by {name}'**
String proposalsTitle(String name);
/// No description provided for @proposalsWriting.
///
/// In en, this message translates to:
/// **'{name} is writing flashcards…'**
String proposalsWriting(String name);
/// No description provided for @proposalsNone.
///
/// In en, this message translates to:
/// **'{name} proposed no flashcards.'**
String proposalsNone(String name);
/// No description provided for @proposalsCheck.
///
/// In en, this message translates to:
/// **'Check each card before adding it: an assistant can be wrong.'**
String get proposalsCheck;
/// Changes a card proposed before it is added.
///
/// In en, this message translates to:
/// **'Edit flashcard'**
String get proposalsEdit;
/// No description provided for @proposalsAdd.
///
/// In en, this message translates to:
/// **'{count, plural, =0{Add flashcards} =1{Add 1 flashcard} other{Add {count} flashcards}}'**
String proposalsAdd(int count);
/// No description provided for @proposalsAdded.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 flashcard added} other{{count} flashcards added}}'**
String proposalsAdded(int count);
/// Has an assistant propose cards from a note (D56).
///
/// In en, this message translates to:
/// **'Flashcards from this note'**
String get proposalsFromNote;
/// In a PDF's flashcards: has an assistant propose cards from the page shown (D56).
///
/// In en, this message translates to:
/// **'From this page'**
String get proposalsFromPage;
/// In a PDF's flashcards: has an assistant propose cards from the text selected (D56).
///
/// In en, this message translates to:
/// **'From the selection'**
String get proposalsFromSelection;
/// Add material: has an assistant propose cards from text pasted (D56).
///
/// In en, this message translates to:
/// **'Flashcards from a text'**
String get proposalsFromText;
/// No description provided for @proposalsTextHint.
///
/// In en, this message translates to:
/// **'Paste the text to make flashcards from'**
String get proposalsTextHint;
/// No description provided for @proposalsPropose.
///
/// In en, this message translates to:
/// **'Propose flashcards'**
String get proposalsPropose;
/// No description provided for @settingsSearchEngine.
///
/// In en, this message translates to: