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

@ -1873,6 +1873,19 @@
"studyTypedWhy": "Warum?",
"assistantWhyTyped": "Ich habe „{typed}“ getippt. Warum stimmt das nicht?",
"assistantCheck": "Auf Fehler prüfen",
"proposalsTitle": "Karteikarten von {name}",
"proposalsWriting": "{name} schreibt Karteikarten …",
"proposalsNone": "{name} hat keine Karteikarten vorgeschlagen.",
"proposalsCheck": "Prüf jede Karte, bevor du sie hinzufügst: Ein Assistent kann sich irren.",
"proposalsEdit": "Karteikarte bearbeiten",
"proposalsAdd": "{count, plural, =0{Karteikarten hinzufügen} =1{1 Karteikarte hinzufügen} other{{count} Karteikarten hinzufügen}}",
"proposalsAdded": "{count, plural, =1{1 Karteikarte hinzugefügt} other{{count} Karteikarten hinzugefügt}}",
"proposalsFromNote": "Karteikarten aus dieser Notiz",
"proposalsFromPage": "Aus dieser Seite",
"proposalsFromSelection": "Aus der Auswahl",
"proposalsFromText": "Karteikarten aus einem Text",
"proposalsTextHint": "Füg den Text ein, aus dem Karteikarten werden sollen",
"proposalsPropose": "Karteikarten vorschlagen",
"settingsSearchEngine": "Suchmaschine",
"searchEngineDevice": "Suche des Geräts",
"searchEngineCustom": "Eigene Adresse",