DeepL mit dynamischen target_lang || Alternativen?

Hallo Leute und @synesty-Lukas sowie @synesty-Torsten

ich bin gerade am Switchen von google translate zu deepL und dabei auf folgendes Problem gestoßen.

Vielen Dank im voraus für eure Tipps, Ideen und Hinweise.

Ich möchte dem Flow eine Variable mit ‚DE,EN,DA,…‘ anlegen und diese soll dann alle Spreadsheets einzelnd in alle angegebenen Sprachen übersetzen.

Vorher wurde dies mit ColumnSplitToRows und anschließend SpreadsheetUrlDownload bewerstelligt.
Wobei hier eine URL mit Parametern per Step ‚HTTP‘ genutzt wurde.

Mit dem Step ‚DeepLTranslate‘ ist es nicht mehr möglich, da ich das Feld target_lang nicht dynamisch mit einem Wert füllen kann.

Alternative:
Und eine DeepL API Verbindung über den API oder HTTP Step hat nicht geklappt, da immer ein Forbidden 403 zurück kam. Eventuell habe ich hier den Key falsch übergeben. Sollte es da auch Trick bei DeepL geben? Ein Beispiel Verbindung wäre auch prima.

Viele Grüße
Henry

Hallo Henry,

wir haben den DeepL Step erweitert, sodass die source_lang und target_lang jetzt auch pro Zeile über das inputSpreadsheet übergeben werden können. Wenn die Spalten gefüllt sind werden die Werte aus dem Spreadsheet verwendet. Falls die Spalte leer oder nicht vorhanden ist, wird wie bisher die ausgewählte Sprache der Step Option (source_lang bzw. target_lang) verwendet.

Viele Grüße
Torsten

2 Likes

@synesty-Torsten
Das ist ja ein Traum und das so fix. TOP :+1:

Vorweg ich komm jetzt klar, aber ich frag dennoch mal nach.
Wenn ich jetzt mehrere Column übersetzen möchte und diese danach wieder zuordnen möchte - Wie kriege ich diese Übersichtlich und korrekt in das ‚input_text‘ Feld rein?

Aktuell setze ich dies so um, dass ich beide Werte (in dem Fall hab ich nur 2) in das Feld ‚input_text‘ mit einem eindeutigen Trenner (###) zu einem string zusammenbaue - übersetzen lassen - dann wieder an Hand des Trenners splite.

Gitb es da eine elegantere Lösung?
DeepL sagt ja in Ihrer Doku, dass auch ein Array per API übergeben werden kann. Würde das mit dem Step auch gehen oder mit einem JSON ?

sorry - Jetzt will ich es aber genau wissen. :smiley:

Aber wie gesagt, ich komme auch so klar.

Viele Grüße
Henry

PS:
Aktuell kommen dann aber unterschiedliche Übersetzungen zurück.

@synesty-Torsten

Und kann man auch Spalten ohne zu übersetzen übergeben?
Wie „outputSourceColumns“ bei „HTTP SpreadsheetUrlDownload“
image

D A N K E

Hallo Henry,

Mehre Texte als JSON / Array zu übersetzen funktioniert mit dem Step leider nicht. Was du machen könntest, wäre die Texte als XML zu bergeben, z.B. :

und die Step Option tag_handling = XML zu setzen. Dann sollte die XML im Output erhalten bleiben und du kannst mit der parseXml template Funktion auf die einzelnen Übersetzungen zugreifen:

image

Ob das eleganter ist als mit ### und split weiß ich nicht :smiley: Du kannst aber in die XML tags auch noch weiter Daten packen, z.B.

<texts variantId="123" itemId="321">

die dann nicht übersetzt werden (deine 2. Frage).

Der Step reicht nur die id Spalte als identifier in den Output durch. Weitere Spalten können nicht durchgereicht werden. Wenn du mehrere Werte durchreichen willst, dann müsstest du alles in die id Spalte packen oder den XML Ansatz von oben verwenden.

VG Torsten