Herbaer::Translate::Base


Zweck

Das Modul Herbaer::Translate::Base (Datei Base.pm) definiert „Leerfunktionen” für die Funktionen, die von einer Implementation eines Übersetzungsmoduls erwartet werden. Es kann als Basis-Klasse verwendet werden:

# File Herbaer/Translate/Uebersetzungsmodul.pm
package Herbaer::Translate::Uebersetzungsmodul ;
use parent Herbaer::Translate::Base ;
  

Die Implementation (hier die Datei Herbaer/Translate/Uebersetzungsmodul.pm) muss die Funktionen implementieren.

Funktionen

new

Ergibt ein neues Übersetzer-Objekt. Diese Funktion wird normalerweise nicht direkt aufgerufen, sondern von Herbaer::Translate::new (s. Translate.pm (Quelltext)).

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

Ergibt die Übersetzung des Textes $text aus der Sprache $quellsprache in die Sprache $zielsprache. ([BCP47] http://www.ietf.org/rfc/bcp/bcp47.txt, [IETF RFC 3066] http://www.ietf.org/rfc/rfc3066.txt)

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

Diese Funktion ermöglicht es dem Übersetzer, zu lernen. $uebersetzung ist die Übersetzung des Textes $text aus der Sprache $quellsprache in die Sprache $zielsprache.

$translator->finish ()

Diese Methode zeigt dem Übersetzer an, dass er sich auf das Ende seiner Arbeit einstellen kann. Ein Übersetzer, der neue Übersetzungen gelernt hat, kann und soll die neu gelernten Übersetzungen dauerhaft speichern. Der Übersetzer funktioniert weiterhin.

Code, der zur normalen Laufzeit ohne Probleme funktioniert, verursacht im globalen "Clean up" beim Aufruf durch den Destruktor Speicherzugriffsfehler. Vielleicht sind die Fehler in einer aktuelleren Perl-Version behoben?

$translator->translator_name ()
Diese Methode liefert eine Kennung der tatsächlichen Übersetzungsmodule. Ein Module kann zum Beispiel abhängig vom zu übersetzenden Text und den Sprachen zwischen verschiedenen Übersetzungsdiensten wählen. Aus dem Ergebnis des Funktionsaufrufs sollte hervorgehen, welcher Übersetzer tatsächlich übersetzt hat.