Lingara Lingara Dokumentasi Panduan API Pustaka Aplikasi Bina Apl web
Bahasa: Bahasa Melayu

Nota tutor

Halaman ini diterjemahkan daripada bahasa Inggeris. Jika kedua-duanya berbeza, halaman bahasa Inggeris adalah yang betul. Baca halaman bahasa Inggeris

Aplikasi anda boleh menawarkan satu baris konteks kepada tutor Lingara, seperti perkataan yang baru dilatih oleh pelajar, dengan menambah tutor_note pada jawapannya. Nota itu sampai kepada tutor hanya apabila manifest anda mengisytiharkannya dan pelajar menghidupkannya semasa memasang aplikasi anda. Untuk mengubah pilihan itu, pelajar menyahpasang aplikasi anda dan memasangnya semula.

Apa yang dilakukan oleh Lingara padanya

  • Pemisah baris menjadi ruang.
  • Aksara kawalan dan penggantian arah dibuang.
  • Nota yang lebih panjang daripada 280 aksara dipotong kepada 280 dan berakhir dengan …. Aksara dikira sebagai nilai skalar Unicode, bukan bait atau glif skrin.
  • Nota yang tidak diisytiharkan oleh manifest anda, atau yang tidak dibenarkan oleh pelajar, digugurkan.

Cara tutor membacanya

Tutor membaca nota anda sebagai teks petikan daripada pihak ketiga, tidak pernah sebagai arahan. Nota yang ditolak oleh semakan keselamatan Lingara digugurkan, dan giliran pelajar diteruskan tanpanya. Pelajar tidak pernah melihat nota itu.

Nota yang baik

Nota yang baik ialah satu fakta ringkas yang boleh digunakan oleh tutor, seperti “Pelajar baru sahaja menyemak 5 perkataan daripada pelan bahasa Jepunnya.” Ia menyatakan apa yang sedang dilakukan oleh pelajar, bukan apa yang patut dilakukan oleh tutor. Tinggalkan arahan, penilaian tentang pelajar, dan apa-apa yang tidak dilihat oleh pelajar pada kad anda.

Bahasa contoh kod

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);
}