[Gelöst] WPML-Funktionen, um deepL-Übersetzungen via Code abzurufen
Dieses Thema ist gelöst. Hier finden Sie eine Beschreibung des Problems und der Lösung.
Problem: Der Kunde möchte Texte über die DeepL-API via PHP übersetzen und dabei das WPML-Glossar nutzen. Es gibt jedoch keine Informationen in den WPML-Dokumentationen darüber, wie man einen API-Call zur Übersetzung der Inhalte macht, der das WPML-Glossar berücksichtigt. Solution: Wir haben bestätigt, dass es derzeit keine Möglichkeit gibt, das WPML-Glossar programmatisch zu nutzen oder aufzurufen. Das Glossar wird auf unserem Server gespeichert und ist ausschließlich über den Advanced Translation Editor (ATE) oder unter Übersetzungsmanagement > Tools auf Ihrer Website zugänglich. Ein anderer Zugriff ist nicht vorgesehen. Die automatische Übersetzung durch DeepL, integriert in WPML, würde das Glossar verwenden, sobald ein Inhalt angelegt wird und automatisch übersetzt werden soll.
Diese Lösung könnte veraltet sein oder auf Ihren Fall nicht zutreffen. Wir empfehlen Ihnen, die bekannten Probleme zu überprüfen, die Version der dauerhaften Lösung zu verifizieren und zu bestätigen, dass Sie die neuesten Versionen von Themes und Plugins installiert haben. Sollten weiterhin Probleme auftreten, eröffnen Sie bitte ein neues Support-Ticket.
Dies ist das technische Support-Forum für WPML – das mehrsprachige WordPress-Plugin.
Mitlesen können alle, doch nur WPML-Kunden können hier Fragen veröffentlichen. Das WPML-Team antwortet im Forum an 6 Tagen pro Woche, 22 Stunden am Tag.
Hintergrund des Themas:
Ich möchte einige Texte mit der deepL-API via PHP übersetzen. Registrierte WP-User sollen Texte in ihrer eigenen Sprache auf einer Adminseite eingeben und diese sollen dann mit der API in die Kundensprache übersetzt werden. Der übersetzte Text soll von der Adminseite aus via Email an die Kunden gesendet werden können. Es ist einfach, mit der deepL-API zu arbeiten, aber das WPML-Glossar kann nicht genutzt werden, was zusätzlichen Aufwand bedeutet.
Die Symptome:
Es gibt keine Informationen in den WPML-Dokumentationen darüber, wie man einen API-Call zur Übersetzung der Inhalte macht, der das WPML-Glossar berücksichtigt.
Fragen:
Ist es möglich, direkt über WPML-PHP-Funktionen einen API-Call zu unserer aktiven translation engine deepL zu machen, der die im Glossar hinterlegten Einträge berücksichtigt?
Wenn ja: wie geht das?
(Uns geht es nur um den api call zum Übersetzen der Inhalte, da hierzu nichts in den wpml docs steht. Für unsere eigene Businesslogik, sowie die Adminseiten benötigen wir keine Hilfe.)
Edit: Was vllt. noch wichtig ist: Wir brauchen die Ergebnisse sofort, um sie weiterzuverarbeiten. string translation und translation jobs sind in diesem Fall nicht für uns geeignet, denke ich.
Wir wollen uns einen eigenen REST API Endpunkt bauen, der dann im Hintergrund die deepL-API kontaktiert. Im Idealfall läuft das unter der Haube via WPML, damit wir auf das von den WP-Admins angelegte Glossar zurückgreifen können.
bevor Ihr Ticket einem meiner Kollegen zugewiesen wird, erlauben Sie mir bitte, Sie durch einige erste Schritte zur Fehlersuche zu führen.
Könnten Sie bitte genauer erläutern, was Sie vorhaben? Möchten Sie unsere DeepL-Integration im Translation Management nutzen oder planen Sie, den API-Call direkt an DeepL extern durchzuführen? Letzteres wird von uns nicht unterstützt.
wir planen tendenziell den direkten API-Call zu deepL.
Wir wollen einen eigenen REST-Endpunkt bauen.
Den kontaktieren wir, um einen Text von Sprache 1 zu Sprache 2 zu übersetzen.
Der REST-Endpunkt soll im Hintergrund deepL kontaktieren, um die Übersetzung zu erhalten.
An sich ganz normal - das können wir auch alleine umsetzen.
Als Verbesserung fänden wir es hilfreich, wenn wir jedoch das in WPML angelegte Glossar berücksichtigten lassen könnten, wenn der REST-Endpunkt unter der Haube den translation service (deepL) kontaktiert.
Das ist der Knackpunkt.
Wenn wir eigenständig deepL kontaktieren, geht das vermutlich nicht.
Darum überlegen wir, wie wir die Übersetzungen über in WPML integrierte Funktionen von deepL abrufen könnten.
Das Berücksichtigen des WPML-Glossars wäre durchaus zeitsparend, da es bereits existiert.
Wenn wir manuell eines in deepL erstellen, dann müssten wir das künftig auch manuell mit dem WPML-Glossar synchron halten. Katastrophe.
Edit: wir nutzen WPML 4.7.x, falls das hilft. In einem früheren Support-Ticket habe ich es mal so verstanden, dass WPML sich damit ggf. auch mehr für Dritte öffnet, damit diese effizienter mit Übersetzungen arbeiten können.
Eventuell war das eine Fehlinterpretation.
es gibt keine Möglichkeit, das Glossar programmatisch zu nutzen oder aufzurufen. Es wird auf unserem Server gespeichert und ist ausschließlich über den Advanced Translation Editor (ATE) oder unter Übersetzungsmanagement > Tools in Ihrer Website zugänglich. Ein anderer Zugriff ist nicht vorgesehen.
Registrierte WP-User sollen Texte in ihrer eigenen Sprache auf einer Adminseite eingeben und diese sollen dann mit der API in die Kundensprache übersetzt werden. Der übersetzte Text soll von der Adminseite aus via Email an die Kunden gesendet werden können. Es ist einfach, mit der deepL-API zu arbeiten, aber das WPML-Glossar kann nicht genutzt werden, was zusätzlichen Aufwand bedeutet.
Die automatische Übersetzung würde einen ähnlichen Ablauf ermöglichen. Sobald ein Inhalt angelegt wird, kann dieser automatisch übersetzt werden. Allerdings wird das Glossar auch hier nur im Rahmen des ATE verwendet und ist nicht für externe API-Aufrufe verfügbar. Mit der Übersetzung durch DeepL integriert in WPML würde es somit angewendet werden.