Herbaer::Learnchain


Zweck

Das Modul Herbaer::Translate::Learnchain (Datei Learnchain.pm) (Paket Herbaer::Translate::Learnchain) implementiert die Übersetzer-Schnittstelle (s. Tranlate.pm, Base.pm (Quelltext))

Es verknüpft zwei Übersetzer: einen „Lehrling” und einen „Meister”. Ein typischer „Lehrling” sucht Übersetzungen in einer Datenbank, der „Meister” befragt einen Web-Dienst. Details sind zur Methode translate beschrieben.

Funktionen

$translator = Herbaer::Translate::Learnchain->new ($learner, $master, $update, $debug)

Ergibt einen neuen Übersetzer als Verknüpfung zweier Übersetzer: eines „Lehrlings” und eines „Meisters”.

$learner ist die Kennung des „Lehrlings”

$master ist die Kennung des „Meisters”

Der optionale Parameter $update steuert die Arbeitsweise der Methode translate. Ein logisch wahrer Wert stellt den „Aktualisierungsmodus” ein.

Ein logisch wahrer Wert des optionalen Parameters $debug führt zu Meldungen nach STDERR.

$translator->translate ($text, $quellsprache, $zielsprache)

Zunächst soll der „Lehrling” den Text $text aus der Sprache $quellsprache in die Sprache $zielsprache übersetzen. Wenn er keine Übersetzung liefert oder wenn der „Aktualisierungmodus” eingeschaltet ist, übersetzt der „Meister”. Wenn der Meister eine andere Übersetzung findet als der „Lehrling”, lernt der „Lehrling” die Übersetzung der Meisters. Das Ergebnis ist die Übersetzung des Meisters, falls der Meister gefragt wurde, sonst die Übersetzung der Lehrlings.

$translator->learn ($text, $quellsprache, $zielsprache, $uebersetzung)

Ruft die gleichnamigen Methoden des „Lehrlings” und des „Meisters” auf.

$translator->finish ()

Ruft die gleichnamigen Methoden des „Lehrlings” und des „Meisters” auf.

$translator->translator_name ()

Ergibt im Aktualisierungmodus die Zeichenkette lu_MASTER_LEARNER, sonst die Zeichenkette lc_MASTER_LEARNER. Der Platzhalter MASTER steht für das Ergebnis der Methode translator_name des „Meisters”, LEARNER für das Ergebnis der Methode translator_name des „Lehrlings”.