Lingara Lingara Tài liệu Cẩm nang API Thư viện Ứng dụng Tạo Ứng dụng web
Ngôn ngữ: Tiếng Việt

Ghi chú cho gia sư

Trang này được dịch từ tiếng Anh. Nếu hai bản khác nhau, trang tiếng Anh là bản đúng. Đọc trang tiếng Anh

Ứng dụng của bạn có thể đưa cho gia sư của Lingara một dòng ngữ cảnh, chẳng hạn như những từ người học vừa luyện tập, bằng cách thêm tutor_note vào phản hồi. Ghi chú chỉ đến được gia sư khi tệp kê khai của bạn khai báo nó và người học đã bật nó khi cài đặt ứng dụng của bạn. Để thay đổi lựa chọn đó, người học gỡ cài đặt ứng dụng của bạn rồi cài đặt lại.

Lingara xử lý ghi chú như thế nào

  • Dấu xuống dòng trở thành dấu cách.
  • Ký tự điều khiển và ký tự ghi đè hướng bị xóa.
  • Ghi chú dài hơn 280 ký tự bị cắt còn 280 và kết thúc bằng …. Ký tự được đếm theo giá trị vô hướng Unicode, không phải byte hay glyph trên màn hình.
  • Ghi chú mà tệp kê khai của bạn không khai báo, hoặc người học không cho phép, sẽ bị loại bỏ.

Gia sư đọc ghi chú như thế nào

Gia sư đọc ghi chú của bạn như văn bản trích dẫn từ một bên thứ ba, không bao giờ như một chỉ dẫn. Ghi chú bị kiểm tra an toàn của Lingara từ chối sẽ bị loại bỏ, và lượt của người học tiếp tục mà không có nó. Người học không bao giờ thấy ghi chú.

Một ghi chú tốt

Một ghi chú tốt là một sự thật đơn giản mà gia sư có thể dùng, chẳng hạn như “Người học vừa ôn 5 từ trong kế hoạch tiếng Nhật của họ.” Nó nói người học đang làm gì, không phải gia sư nên làm gì. Hãy bỏ qua các chỉ dẫn, những đánh giá về người học, và bất cứ điều gì người học không thấy trên thẻ của bạn.

Ngôn ngữ của mã mẫu

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