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.
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
.
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_name
()