Lingara Lingara Dokumentasie Gidse API Biblioteke Apps Bou Webtoepassing
Taal: Afrikaans

Die tutor-nota

Hierdie bladsy is uit Engels vertaal. As die twee verskil, is die Engelse bladsy korrek. Lees die Engelse bladsy

Jou app kan Lingara se tutor een reël konteks gee, soos watter woorde die leerder pas geoefen het, deur ‘n tutor_note by sy antwoord te voeg. Die nota bereik die tutor net wanneer jou manifes dit verklaar en die leerder dit aangeskakel het toe hulle jou app geïnstalleer het. Om daardie keuse te verander, deïnstalleer die leerder jou app en installeer dit weer.

Wat Lingara daarmee doen

  • ‘n Reëlbreuk word ‘n spasie.
  • Beheerkarakters en rigtingoorskrywings word verwyder.
  • ‘n Nota langer as 280 karakters word tot 280 ingekort en eindig op …. Karakters word as Unicode-skalaarwaardes getel, nie as grepe of skermgliewe nie.
  • ‘n Nota wat jou manifes nie verklaar nie, of wat die leerder nie toegelaat het nie, word weggelaat.

Hoe die tutor dit lees

Die tutor lees jou nota as aangehaalde teks van ‘n derde party, nooit as ‘n instruksie nie. ‘n Nota wat Lingara se veiligheidstoets weier, word weggelaat, en die leerder se beurt gaan daarsonder voort. Die leerder sien nooit die nota nie.

‘n Goeie nota

‘n Goeie nota is een eenvoudige feit wat die tutor kan gebruik, soos “Die leerder het pas 5 woorde uit hul Japannese plan hersien.” Dit sê wat die leerder doen, nie wat die tutor moet doen nie. Laat instruksies, oordele oor die leerder, en enigiets wat die leerder nie op jou kaart gesien het nie, weg.

Taal van die kodevoorbeeld

TypeScript

function withNote(request: AppRenderRequest) {
  const note = planLine(request);
  // Plain text, at most 280 characters; the tutor reads it, the learner does not.
  return note === "" ? todayCard(0) : reply(todayCard(0)).tutorNote(note);
}

Rust

async fn render(seen: Seen, request: AppRenderRequest) -> Result<Reply, BoxError> {
    let (lang, progress) = shared_plan(&request);
    let count = seen.lock().map_err(|_| "poisoned")?.get(&request.subject).copied().unwrap_or(0);
    let card = today_card("Today's five", &lang)?;
    // Plain text the learner's tutor can read: at most 280 characters.
    let note = match progress {
        Some((done, total)) => format!("The learner has reviewed {count} words with this app today; {done} of {total} sets done."),
        None => format!("The learner has reviewed {count} words with this app today."),
    };
    Ok(reply(card).tutor_note(note)?)
}

Go

card, err := lingaraapps.NewCard().Heading("Daily five", 1).Text("雨 · 雪 · 风 · 云 · 雷").Build()
if err != nil {
	return nil, err
}
// Plain text, at most 280 characters, for Lingara's tutor to use.
return lingaraapps.Reply(card).
	TutorNote("The learner is reviewing weather words today."), nil

Java

import com.getlingara.apps.Card;
import com.getlingara.apps.Reply;

Card card = Card.card().heading("Today's five", 1).term("雨", "yǔ", "rain", "zh").build();
// Plain text, at most 280 characters; the tutor reads it beside the card.
return Reply.reply(card).tutorNote("The learner is reviewing weather words today.");

Kotlin

import com.getlingara.apps.kotlin.Reply
import com.getlingara.apps.kotlin.card
import com.getlingara.apps.kotlin.reply

val c =
    card {
        heading("Today's five", 1)
        term("雨", reading = "yǔ", gloss = "rain", lang = "zh")
    }
// Plain text, at most 280 characters; the tutor reads it beside the card.
return reply(c).tutorNote("The learner is reviewing weather words today.")

Ruby

note = plan_line(request)
# Plain text, at most 280 characters; the tutor reads it, the learner does not.
note.empty? ? today_card(0) : Lingara::Apps.reply(today_card(0)).tutor_note(note)

PHP

use Lingara\Apps\Reply;

function withNote(AppRenderRequest $request): CardModel|Reply
{
    $note = planLine($request);
    // Plain text, at most 280 characters; the tutor reads it, the learner does not.
    return $note === '' ? todayCard(0) : Reply::of(todayCard(0))->tutorNote($note);
}