Warenkorb
0
Wagen 0
Telefonische Beratung +49 (0) 4482-562 90 70
Dank standardisierter API-Schnittstellen können Übersetzungsdienste wie Google Translate oder Deepl.com direkt mit FileMaker genutzt werden, um Texte in andere Sprachen zu übersetzen. In diesem kurzen Artikel zeigen wir, wie Sie direkt in FileMaker eine solche Schnittstelle ansprechen und damit beliebige Texte übersetzen können.
Sowohl Google Translate als auch Deepl.com sind kostenpflichtig. Eine Million an die API gesendete Zeichen kosten bei beiden Diensten 20 US-Dollar bzw. 20 Euro, Deepl.com verlangt außerdem eine monatliche Grundgebühr in Höhe von knapp fünf Euro. Die übersetzten Texte von Deepl.com gelten allgemein als etwas besser übersetzt als von Google Translate, wobei es hier vermutlich auch auf den Fachbereich ankommt. Erfahren Sie im folgenden, wie eine automatische Übersetzung von Texten in einer FileMaker-Datenbank umgesetzt werden kann.
Um die Übersetzung mit Google Translate durchzuführen, ist ein gültiges Google-Konto erforderlich, das für die Nutzung der Cloud Translation API freigeschaltet ist.
Für die Übersetzung mit Deepl.com ist ein kostenpflichtiges Entwicklerkonto der DeepL-API erforderlich. Die monatlichen Kosten betragen 4,99 Euro zzgl. nutzungsabhängiger Kosten (z. Zt. 1 Cent pro 500 Zeichen, Stand 03/2019)
Zunächst erstellen wir ein Script, das über drei Parameter die Quellsprache, Zielsprache und den zu übersetzenden Text annimmt und entsprechend an die Schnittstelle sendet. Die Parameter sind in unserem Beispiel mit Zeilenumbrüchen (CR) getrennt. Wenn Sie Texte mit Zeilentrennzeichen an die Schnittstelle senden möchten, verwenden Sie ein anderes Trennzeichen für die Parameter wie z.B. einen Hochstrich. Verwenden Sie dann bei der Übergabe der Parameter nicht die Funktion HoleWert (), sondern eine andere (eigene) Funktion, die den String mit Ihrem Trennzeichen aufspaltet. In unserem Beispiel nennen wir das Script „ts.Translate“. Im ersten Schritt werden die übergebenen Parameter jeweils in eine Variable geschrieben.
Das Script kann aus anderen Scripten heraus wie folgt aufgerufen werden:
Script ausführen [ Angegeben: Aus Liste ; „ts.Translate“; Parameter: „“DE¶EN¶Hallo Welt“ ]
Variable setzen [ $quellsprache ; Wert: HoleWert(Hole(ScriptParameter); 1) ]
Variable setzen [ $zielsprache ; Wert: HoleWert(Hole(ScriptParameter); 2) ]
Variable setzen [ $quelltext ; Wert: HoleWert(Hole(ScriptParameter); 3) ]
Die Variablen $quellsprache und $zielsprache enthalten den ISO-Code der jeweiligen Sprache, also z.B. DE oder EN.
Variable setzen [ $api_key ; Wert: „hJghjjHJHGjkhjKJgÖLkjjhlkHkjFJKGkjjhlÄf“ ]
Sowohl für die Nutzung der Google Cloud Translation API als auch der DeepL-API ist ein Authentifizierungsschlüssel erforderlich. Dieser kann im Administrationsbereich der jeweiligen API abgerufen werden.
Variable setzen [ $_url ; Wert: „https://www.googleapis.com/language/translate/v2?key=“ & $api_key & „&q=“ & LiesAlsURLVerschlüsselt ($quelltext) & „&source=“ & $quellsprache & „&target=“ & $zielsprache ]
Variable setzen [ $_url ; Wert: „https://api.deepl.com/v2/translate?auth_key=“ & $api_key & „&source_lang=“ & $quellsprache & „&target_lang=“ & $zielsprache & „&text=“ & LiesAlsURLVerschlüsselt ($quelltext) ]
Je nach dem, welcher Anbieter genutzt werden soll, ist hier die entsprechende Scriptzeile zu verwenden. In der Variable $_url wird zunächst die URL erzeugt, die für die Übersetzung aufgerufen werden soll. Auf die Serveradresse folgen alle weiteren Werte, die in den vorher definierten Variablen gespeichert wurden:
Aus URL einfügen [ Auswahl ; Mit Dialog: Aus ; $url_ergebnis ; $_url ]
Mit diesem Befehl wird die URL aufgerufen und das ausgegebene Ergebnis in der Variable $url_ergebnis gespeichert.
Zunächst wird abgefragt, ob das über die URL gelieferte Ergebnis den Begriff „errors“ enthält. Wenn ja, soll ein entsprechender Fehlerdialog erscheinen, der im Text die Variablen $_url und $url_ergebnis enthält.
Wenn [ MusterAnzahl ( $url_ergebnis ; „errors“ ) ]
Eigenes Dialogfeld anzeigen [ „Fehler aufgetreten“ ; $_url & „, “ & $url_ergebnis ]
Sonst
Variable setzen [ $_message_target ; Wert:
SetzeVar ( [
Text = $url_ergebnis ;
StartTag = „\“text\“:\““ ;
EndTag = „\“}]}“ ;
StartPos = Position ( Text ; StartTag ; 1 ; 1 ) ;
StartPos = StartPos + Länge ( StartTag ) ;
EndPos = Position ( Text ; EndTag ; StartPos ; 1 ) ;
LengthToKeep = EndPos – StartPos ;
Result = ZeichenMitte ( Text ; StartPos ; LengthToKeep ) ] ;
Result & Wenn(MusterAnzahl(Result; „|“) > 0; „|“)
)
Sollte der zurückgelieferte Text HTML-Entities enthalten, können diese mit einer Custom Function herausgefiltert werden. In diesem Beispiel verwenden wir die Funktion HTMLencoded2Text, die frei verfügbar ist.
Wenn [ MusterAnzahl ( $_message_target ; „&#“ ) ]
Variable setzen [ $_message_target ; Wert: HTMLencoded2Text ( $_message_target ) ]
Ende (wenn)
Ende (wenn)
Mit dem folgenden Befehl wird das Script verlassen und liefert dabei das Ergebnis, das im übergeordneten Script nach der Ausführung mit dem Befehl Hole(ScriptErgebnis) ausgelesen werden kann.
Aktuelles Script verlassen [ Textergebnis: $_message_target ]
Über die Schnittstellen ist es auch möglich, mehrere zu übersetzende Wörter mit einem Trennzeichen zu versehen, um diese später strukturiert in verschiedene Variablen oder Felder einzutragen. Mit der DeepL-API kann als Trennzeichen z.B. problemlos ein Hochstrich verwendet werden, bei Google Translate konnten wir eine Trennung mit einem oder zwei Unterstrichen erfolgreich umsetzen.
Am heutigen Tag hat FileMaker die Datenbank-App FileMaker Go für das Apple iPhone und iPad aktualisiert. Die neue Version 1.2 unterstützt nun auch Linien-, Balken-, Flächen- und Tortendiagramme aus FileMaker 11 direkt auf dem iPhone oder iPad. Auf diese Weise können Geschäftsdaten auch grafisch unterwegs ausgetauscht und analysiert werden. Mit…
Pressemitteilung: FileMaker stellt den Mitgliedern seines Technical Networks ein weiteres FileMaker Trainingsmodule-Starterkit kostenlos zur Verfügung. Es besteht aus drei bereits bisher gern genutzten Einheiten der FileMaker Trainingsmodule zu FileMaker 12. Das Technical Network ist eine kostenfreie Community, mit der Entwickler ihr FileMaker-Fachwissen erweitern und sich gegenseitig austauschen können. Das Trainingsmodule-Starterkit umfasst…
Auch auf Sylt sollte der heutige Tag sehr sonnig ausgefallen sein, was in diesem Fall einmal nichts mit FileMaker zu tun hat. Umso mehr ist das jedoch bei der Sansibar auf Sylt der Fall - seit mehr als 35 Jahren ist das Unternehmen in der Gastronomie und im Handel bundesweit…
Hinzufügen von {{itemName}} zum Warenkorb
Hinzugefügt {{EinkaufsName}} zum Warenkorb