Lingara Lingara Mwongozo Miongozo API Maktaba Programu Unda Programu ya wavuti
Lugha: Kiswahili

Mitiririko

Ukurasa huu umetafsiriwa kutoka Kiingereza. Ikiwa hizi mbili zinatofautiana, ukurasa wa Kiingereza ndio sahihi. Soma ukurasa wa Kiingereza

Shughuli nne hutiririsha matokeo yake kama matukio yanayotumwa na seva: kutengeneza msamiati, kumtumia mkufunzi ujumbe, kuunda mpango wa somo na kufuatilia mpango huo. Kila maktaba hugeuza mtiririko wa matukio kuwa aina ya kirudio ya lugha yenyewe, na hukupa kila tukio likiwa tayari limesimbuliwa kuwa thamani yenye aina.

Jinsi mtiririko unavyoisha

  • Kazi inapokamilika. Urudiaji husimama wenyewe kwenye tukio la mwisho la mtiririko. Kwa mpango wa somo, tukio hilo la mwisho hubeba matokeo, kwa hivyo unayapokea kabla kitanzi hakijaisha.
  • API inaporipoti hitilafu. Hitilafu inayowasili ndani ya mtiririko hurushwa kama hitilafu ya API, aina ileile na ile inayowasili kabla yake.
  • Muunganisho unaposhindwa. Mtiririko unaoisha kabla ya tukio lake la mwisho, au usiotuma chochote kwa sekunde 120, hurushwa kama hitilafu ya usafirishaji.
  • Unaposimamisha. Ghairi mwito kwa njia ya kawaida ya lugha yako, au acha kusoma, na muunganisho hufungwa mara moja.

Maoni ya kudumisha muunganisho na aina za matukio ambazo maktaba bado haizijui hurukwa, kwa hivyo API mpya zaidi haivunji kamwe maktaba ya zamani.

Hairudiwi kamwe

Mtiririko ambao umewasilisha hata tukio moja haujaribiwi upya kamwe na maktaba, kwa sababu kuurudia kunaweza kutumia posho yako mara mbili. Ikiwa mtiririko wa mpango wa somo utakatika baada ya kuanza, fuatilia mpango uleule kwa streamLessonPlan na plan_id kutoka kwenye tukio lake la kwanza.

Lugha ya mfano wa msimbo

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

Kile ukurasa huu unachofunika