Lingara Lingara لارښود لارښودونه API کتابتونونه اپلیکیشنونه جوړول ویب اپلیکیشن
ژبه: پښتو

جریانونه

دا پاڼه له انګلیسي ژبې ژباړل شوې ده. که دواړه سره توپیر ولري، انګلیسي پاڼه سمه ده. انګلیسي پاڼه ولولئ

څلور عملیات خپلې پایلې د سرور لخوا لېږل شویو پېښو په توګه جریانوي: د لغتونو جوړول، ښوونکي ته پیغام لېږل، د درسي پلان جوړول او د یوه درسي پلان تعقیبول. هر کتابتون د پېښو جریان د ژبې د خپل ډول تکرارونکي بدلوي، او هره پېښه تاسو ته دمخه ډیکوډ شوې، د ټاکلي ډول ارزښت په توګه درکوي.

جریان څنګه پای ته رسېږي

  • کله چې کار بشپړ شي. تکرار د جریان په وروستۍ پېښه پخپله درېږي. د درسي پلان لپاره، همغه وروستۍ پېښه پایله لري، نو تاسو یې د حلقې له پای ته رسېدو مخکې ترلاسه کوئ.
  • کله چې API تېروتنه راپور کړي. هغه تېروتنه چې د جریان دننه راځي د API تېروتنې په توګه راپورته کېږي، د همغه ډول په څېر چې له جریان مخکې راځي.
  • کله چې اړیکه ناکامه شي. هغه جریان چې له خپلې وروستۍ پېښې مخکې پای ته ورسېږي، یا د 120 ثانیو لپاره هېڅ شی ونه لېږي، د لېږد تېروتنې په توګه راپورته کېږي.
  • کله چې تاسو ودرېږئ. کال د خپلې ژبې په عادي طریقه لغوه کړئ، یا لوستل ودروئ، او اړیکه سمدستي تړل کېږي.

د ژوندي ساتلو تبصرې او د پېښو هغه ډولونه چې کتابتون یې لا نه پېژني پرېښودل کېږي، نو یو نوی API هېڅکله یو زوړ کتابتون نه ماتوي.

هېڅکله بیا نه غږول کېږي

هغه جریان چې حتی یوه پېښه یې رسولې وي، کتابتون یې هېڅکله بیا هڅه نه کوي، ځکه چې تکرار یې کولی شي ستاسو ونډه دوه ځله مصرف کړي. که د درسي پلان جریان له پیل وروسته مات شي، همغه پلان د streamLessonPlan او د لومړۍ پېښې د plan_id په مرسته تعقیب کړئ.

د کوډ بېلګې ژبه

TypeScript

const stream = client.generateVocabulary({ level: 2, source_lang: "en", target_lang: "zh", count: 8 });
for await (const ev of stream) {
  if (ev.event === "item") console.log(ev.data.word, ev.data.translation);
}

Rust

use lingara::models::{GenerateVocabularyEvent, VocabRequest};
use std::num::NonZeroU8;

let request = VocabRequest { level: 2, source_lang: "en".into(), target_lang: "zh".into(), count: NonZeroU8::new(8) };
let mut stream = client.generate_vocabulary(&request).await?;
while let Some(event) = stream.next().await {
    if let GenerateVocabularyEvent::Item(item) = event? {
        println!("{} {}", item.word, item.translation);
    }
}

Go

count := uint8(8)
s, err := client.GenerateVocabulary(ctx, lingara.VocabRequest{Level: 2, SourceLang: "en", TargetLang: "zh", Count: &count})
if err != nil {
	return err
}
defer s.Close()
for ev, err := range s.Events() {
	if err != nil {
		return err
	}
	if item, ok := ev.(lingara.GenerateVocabularyEventItem); ok {
		fmt.Println(item.Data.Word, item.Data.Translation)
	}
}

Java

import com.getlingara.client.model.GenerateVocabularyEvent;
import com.getlingara.client.model.VocabRequest;

VocabRequest request = new VocabRequest().level(2).sourceLang("en").targetLang("zh").count(8);
try (EventStream<GenerateVocabularyEvent> stream = client.generateVocabulary(request)) {
  for (GenerateVocabularyEvent event : stream) {
    if (event instanceof GenerateVocabularyEvent.Item item) {
      System.out.println(item.data().getWord() + " " + item.data().getTranslation());
    }
  }
}

Kotlin

import com.getlingara.kotlin.LingaraClient
import com.getlingara.kotlin.model.GenerateVocabularyEvent
import com.getlingara.kotlin.model.VocabRequest

val request = VocabRequest(level = 2, sourceLang = "en", targetLang = "zh", count = 8)
// The request is sent here; collect the stream once, inside use {}.
client.generateVocabulary(request).use { stream ->
    stream.collect { event ->
        when (event) {
            is GenerateVocabularyEvent.Item -> println("${event.data.word} ${event.data.translation}")
            is GenerateVocabularyEvent.Started -> Unit
        }
    }
}

Ruby

client.generate_vocabulary(level: 2, source_lang: "en", target_lang: "zh", count: 8) do |event|
  case event
  in Lingara::GenerateVocabularyEventItem => item then puts "#{item.data.word}: #{item.data.translation}"
  else nil
  end
end

PHP

use Lingara\Model\VocabRequest;
use Lingara\Stream\GenerateVocabularyEvent;

$request = new VocabRequest(['level' => 2, 'source_lang' => 'en', 'target_lang' => 'zh', 'count' => 8]);
foreach ($client->generateVocabulary($request) as $event) {
    if ($event instanceof GenerateVocabularyEvent\Item) {
        echo $event->data->getWord(), ': ', $event->data->getTranslation(), "\n";
    }
}

دا پاڼه څه رانغاړي