feat(learn): an assistant explains a card missed and checks what was written
A conversation has a task (ADR 0021, D14): asking, explaining a card or checking what was written, which the system prompt says and the history shows. Rating a card Bad offers Explain in a snack bar lifted above the ratings (D53); a reading typed wrong asks Why? (D54), and the field's Check has the text checked in the studyset's language, the answer in the app's (D54). Explaining sends the card's own parts, in a conversation named by its front. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
bf46f8c460
commit
8ba758c020
5 changed files with 885 additions and 100 deletions
|
|
@ -1837,6 +1837,8 @@
|
|||
"assistantHistory": "Unterhaltungen",
|
||||
"assistantHistoryEmpty": "Noch keine Unterhaltungen",
|
||||
"assistantHistoryEmptyHint": "Frag einen Assistenten im Feld unten.",
|
||||
"assistantHistoryExplained": "Karte erklärt",
|
||||
"assistantHistoryChecked": "Auf Fehler geprüft",
|
||||
"assistantHistoryDelete": "Unterhaltung löschen",
|
||||
"assistantHistoryDeleteMessage": "„{title}“ verschwindet von allen deinen Geräten.",
|
||||
"assistantHistoryDeleteConfirm": "Löschen",
|
||||
|
|
@ -1865,6 +1867,12 @@
|
|||
"assistantPrivateMark": "{name} darf dieses private Lernset bekommen",
|
||||
"studysetPrivacyAssistants": "Assistenten, an die es gehen darf",
|
||||
"studysetPrivacyTakeBack": "Zurücknehmen",
|
||||
"studyMissedExplain": "Nicht gewusst? {name} kann erklären, warum.",
|
||||
"assistantExplain": "Erklären",
|
||||
"assistantExplainQuestion": "Warum ist das die Antwort?",
|
||||
"studyTypedWhy": "Warum?",
|
||||
"assistantWhyTyped": "Ich habe „{typed}“ getippt. Warum stimmt das nicht?",
|
||||
"assistantCheck": "Auf Fehler prüfen",
|
||||
"settingsSearchEngine": "Suchmaschine",
|
||||
"searchEngineDevice": "Suche des Geräts",
|
||||
"searchEngineCustom": "Eigene Adresse",
|
||||
|
|
|
|||
|
|
@ -2155,6 +2155,10 @@
|
|||
"assistantHistory": "Conversations",
|
||||
"assistantHistoryEmpty": "No conversations yet",
|
||||
"assistantHistoryEmptyHint": "Ask an assistant in the field below.",
|
||||
"assistantHistoryExplained": "Card explained",
|
||||
"@assistantHistoryExplained": {"description": "A conversation that explained a card missed (D53, D54)."},
|
||||
"assistantHistoryChecked": "Checked for mistakes",
|
||||
"@assistantHistoryChecked": {"description": "A conversation that checked what was written (D54)."},
|
||||
"assistantHistoryDelete": "Delete conversation",
|
||||
"assistantHistoryDeleteMessage": "“{title}” goes from all your devices.",
|
||||
"@assistantHistoryDeleteMessage": {"placeholders": {"title": {"type": "String"}}},
|
||||
|
|
@ -2195,6 +2199,18 @@
|
|||
"@studysetPrivacyAssistants": {"description": "The privacy dialog's list of the assistants agreed to (D17)."},
|
||||
"studysetPrivacyTakeBack": "Take back",
|
||||
"@studysetPrivacyTakeBack": {"description": "Takes an agreement back."},
|
||||
"studyMissedExplain": "Missed it? {name} can explain why.",
|
||||
"@studyMissedExplain": {"description": "After a card was rated Bad (ADR 0021, D53); name is the assistant's.", "placeholders": {"name": {"type": "String"}}},
|
||||
"assistantExplain": "Explain",
|
||||
"@assistantExplain": {"description": "Has an assistant explain a card missed."},
|
||||
"assistantExplainQuestion": "Why is this the answer?",
|
||||
"@assistantExplainQuestion": {"description": "The question an assistant is asked about a card missed."},
|
||||
"studyTypedWhy": "Why?",
|
||||
"@studyTypedWhy": {"description": "Asks an assistant why a reading typed is wrong (D54)."},
|
||||
"assistantWhyTyped": "I typed “{typed}”. Why isn't that right?",
|
||||
"@assistantWhyTyped": {"description": "The question an assistant is asked about a reading typed wrong.", "placeholders": {"typed": {"type": "String"}}},
|
||||
"assistantCheck": "Check for mistakes",
|
||||
"@assistantCheck": {"description": "Has an assistant check what was written in the field (D54)."},
|
||||
"settingsSearchEngine": "Search engine",
|
||||
"searchEngineDevice": "The device's search",
|
||||
"searchEngineCustom": "Your own address",
|
||||
|
|
|
|||
|
|
@ -10839,6 +10839,18 @@ abstract class AppLocalizations {
|
|||
/// **'Ask an assistant in the field below.'**
|
||||
String get assistantHistoryEmptyHint;
|
||||
|
||||
/// A conversation that explained a card missed (D53, D54).
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Card explained'**
|
||||
String get assistantHistoryExplained;
|
||||
|
||||
/// A conversation that checked what was written (D54).
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Checked for mistakes'**
|
||||
String get assistantHistoryChecked;
|
||||
|
||||
/// No description provided for @assistantHistoryDelete.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
@ -11012,6 +11024,42 @@ abstract class AppLocalizations {
|
|||
/// **'Take back'**
|
||||
String get studysetPrivacyTakeBack;
|
||||
|
||||
/// After a card was rated Bad (ADR 0021, D53); name is the assistant's.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Missed it? {name} can explain why.'**
|
||||
String studyMissedExplain(String name);
|
||||
|
||||
/// Has an assistant explain a card missed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Explain'**
|
||||
String get assistantExplain;
|
||||
|
||||
/// The question an assistant is asked about a card missed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Why is this the answer?'**
|
||||
String get assistantExplainQuestion;
|
||||
|
||||
/// Asks an assistant why a reading typed is wrong (D54).
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Why?'**
|
||||
String get studyTypedWhy;
|
||||
|
||||
/// The question an assistant is asked about a reading typed wrong.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'I typed “{typed}”. Why isn\'t that right?'**
|
||||
String assistantWhyTyped(String typed);
|
||||
|
||||
/// Has an assistant check what was written in the field (D54).
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Check for mistakes'**
|
||||
String get assistantCheck;
|
||||
|
||||
/// No description provided for @settingsSearchEngine.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
|||
|
|
@ -6781,6 +6781,12 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
String get assistantHistoryEmptyHint =>
|
||||
'Frag einen Assistenten im Feld unten.';
|
||||
|
||||
@override
|
||||
String get assistantHistoryExplained => 'Karte erklärt';
|
||||
|
||||
@override
|
||||
String get assistantHistoryChecked => 'Auf Fehler geprüft';
|
||||
|
||||
@override
|
||||
String get assistantHistoryDelete => 'Unterhaltung löschen';
|
||||
|
||||
|
|
@ -6933,6 +6939,28 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
@override
|
||||
String get studysetPrivacyTakeBack => 'Zurücknehmen';
|
||||
|
||||
@override
|
||||
String studyMissedExplain(String name) {
|
||||
return 'Nicht gewusst? $name kann erklären, warum.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get assistantExplain => 'Erklären';
|
||||
|
||||
@override
|
||||
String get assistantExplainQuestion => 'Warum ist das die Antwort?';
|
||||
|
||||
@override
|
||||
String get studyTypedWhy => 'Warum?';
|
||||
|
||||
@override
|
||||
String assistantWhyTyped(String typed) {
|
||||
return 'Ich habe „$typed“ getippt. Warum stimmt das nicht?';
|
||||
}
|
||||
|
||||
@override
|
||||
String get assistantCheck => 'Auf Fehler prüfen';
|
||||
|
||||
@override
|
||||
String get settingsSearchEngine => 'Suchmaschine';
|
||||
|
||||
|
|
|
|||
|
|
@ -6717,6 +6717,12 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
String get assistantHistoryEmptyHint =>
|
||||
'Ask an assistant in the field below.';
|
||||
|
||||
@override
|
||||
String get assistantHistoryExplained => 'Card explained';
|
||||
|
||||
@override
|
||||
String get assistantHistoryChecked => 'Checked for mistakes';
|
||||
|
||||
@override
|
||||
String get assistantHistoryDelete => 'Delete conversation';
|
||||
|
||||
|
|
@ -6869,6 +6875,28 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
@override
|
||||
String get studysetPrivacyTakeBack => 'Take back';
|
||||
|
||||
@override
|
||||
String studyMissedExplain(String name) {
|
||||
return 'Missed it? $name can explain why.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get assistantExplain => 'Explain';
|
||||
|
||||
@override
|
||||
String get assistantExplainQuestion => 'Why is this the answer?';
|
||||
|
||||
@override
|
||||
String get studyTypedWhy => 'Why?';
|
||||
|
||||
@override
|
||||
String assistantWhyTyped(String typed) {
|
||||
return 'I typed “$typed”. Why isn\'t that right?';
|
||||
}
|
||||
|
||||
@override
|
||||
String get assistantCheck => 'Check for mistakes';
|
||||
|
||||
@override
|
||||
String get settingsSearchEngine => 'Search engine';
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue