Kostenlose maschinelle Übersetzungen mit PHP & EasyNMT

In diesem Beitrag zeige ich euch, wie ihr Texte maschinell in 100+ Sprachen mittels PHP übersetzen lassen könnt. Da Cloud-Anbieter wie Google für maschinelle Übersetzung vergleichsweise teuer sind, verwenden wir hier EasyNMT, einem kostenlosen Dienst den jeder auf den eigenen Servern ausführen lassen kann. Somit entstehen nur die Kosten für den Betrieb der Server. Dies macht es besonders interessant wenn ihr eine große, mehrsprachige Online-Community habt (wie z.B. bei Wazamba), da ihr so ohne hohe Kosten Texte in 100+ Sprachen übersetzen könnt.

Das Endergebnis sieht wie folgt aus:

Maschinelle Übersetzung

EasyNMT ist eine Python-Bibliothek, die das Verwenden moderner maschineller Übersetzungssoftware stark vereinfacht. Die enthalten Übersetzungssysteme können Texte in 100+ Sprachen übersetzen und wurden unter Anderem von Facebook Research entwickelt. Die Verwendung von EasyNMT ist kostenfrei, ihr braucht nur eure eigene Hardware um das System auszuführen.

Die einfachste Methode um EasyNMT auszuführen ist mittels Docker. Installiert hierzu bei euch auf dem Rechner oder Server Docker und führt dann in der Kommandozeile folgenden Befehl aus:

Hierdurch wird EasyNMT heruntergeladen und ein REST-Server startet auf eurem PC auf dem Port 24080.

Ob der Start erfolgreich war, könnt ihr durch den Aufruf der folgenden URL testen: http://localhost:24080/translate?target_lang=en&text=Hallo%20Welt

Hinweis: Der erste Aufruf kann länger dauern, da zuerst das Modell aus dem Internet heruntergeladen werden muss. Die nachfolgenden Aufrufe sind schneller.

 

Texte per PHP übersetzen

Wir verwenden das nachfolgende Script um den Eingabetext nun per PHP and den REST-Server zu senden:

 

Das Script besteht aus einem gewöhnlichen HTML Formular. Im PHP-Teil des Script fragen wir die Daten des Formulars ab und senden diese per POST-Request an den EasyNMT REST-API Server.

Als Antwort erhalten wir die Daten als JSON-String, den wir in ein Objekt umwandeln und zum Schluss auf der Seite ausgeben.

Autor:
Zurück zur Übersicht aller Beiträge