DeepL Übersetzungen in TYPO3

Text aktualisiert: 25.07.2023, 17.07.2024

Google hat mit seinem Dienst „Google Translate“ schon oft für Lacher gesorgt, wenn es um Übersetzungen ging. DeepL hingegen begeistert durch saubere, klar lesbare Übersetzungen. Wenn man darauf Wert legt, lohnt sich der Dienst.

Eine automatische Übersetzung in TYPO3 über einen Übersetzungsdienst ist möglich und wird von einigen Extensions angeboten: DeepL Google Translate.

Unser Kunde wollte jedoch keine weiteren Sprachen im Backend und damit in der Datenbank haben. Deshalb haben wir eine Lösung gebaut, die ähnlich wie der Google Übersetzer funktioniert, den man bereits von einigen Webseiten kennt.

Bevor Du aber jetzt in die zugegeben recht technische Beschreibung eintauchst, hier die einfache Erklärung in Kurzform:

  1. Entweder integrierst Du die Extension in Deiner TYPO3-Installation, oder wir übernehmen das für Dich.

  2. Als Redakteur legst Du im Backend die Ursprungssprache fest.

  3. Dann gibst Du die Zielsprache frei. Es können alle bei DeepL verfügbaren Sprachen genutzt werden.

  4. Über die Site-Konfiguration kannst Du pro Site oder Domain spezifische Einstellungen vornehmen.

  5. Mit der Glossar-Funktion kannst Du spezielle Wörter definieren, die nicht oder mit einem gewünschten Wort übersetzt werden sollen, wie z. B. Produktnamen.

  6. Jetzt kann der Frontend-Nutzer die Website in der neuen Sprache aufrufen. Sobald er dies tut, wird die eigentliche Übersetzung erst angelegt und in den Cache der Seite gespeichert.

Du siehst, es geht simpel, schnell und effizient. Eben vollautomatische Übersetzungen mit minimalstem redaktionellen Aufwand. Das Ergebnis kannst Du Dir auf unserer Demo-Seite anschauen.

Für detaillierte Informationen liest Du entweder hier weiter oder fragst uns direkt:
Telefon: +49 (0)721 35456-62   |   Mail: info(at)werkraum(dot)net

DeepL tag_handling=xml

DeepL kann nicht nur "rohe" Texte übersetzen, sondern auch XML. Da sich HTML kaum von XML unterscheidet, war eine Lösung schnell gefunden: Wir bauen eine TYPO3-Middleware und lassen DeepL den Inhalt (alles zwischen dem <body>) übersetzen. Die Lösung wird durch folgende Features unterstützt

  • Die Ursprungssprache muss festgelegt werden. (z.B. default -> sys_language_uid = 0 aber auch eine abweichende Sprache möglich)
  • Ziel Übersetzungen müssen freigegeben werden. (z.B. Auswahl der Sprache Finnisch, Schwedisch und/oder Dänisch vom DeepL Service)
    • die Liste der Verfügbaren Sprachen wird per API abgerufen, so stellen wir sicher, dass auch neue Sprachen sofort genutzt werden können
    • lässt sich pro Site Konfiguration (domain) anpassen
      • zusätzlich lassen sich die Sprachen pro interne TYPO3 Übersetzung nochmal neu definieren
  • Meta hreflang kann für die freigegebenen Übersetzungen mit ausgegeben werden. (SEO)
  • HTML Elemente können per CSS Selektor von der Übersetzung ausgeschlossen werden.
  • Das Attribut "title" wird ebenfalls übersetzt.
    • über ein Interface lässt sich aber auch ein eigener Processort implementieren, der weitere Attribute übersetzt
  • Alle Links werden in der Übersetzung mit einem Parameter ergänzt, um weiterhin auf der Übersetzung zu bleiben. (?deepl=PT)
  • Alle Parameter der /translate Schnittstelle von DeepL sind im Backend konfigurierbar.
  • Die gesetzten Ziel Sprachen werden mit Hilfe eines eigenen DataProcessors ähnlich wie der TYPO3\CMS\Frontend\DataProcessing\LanguageMenuProcessor bereitgestellt. So ist es für Integratoren einfach das Menü in der Webseite einzubauen
  • Die Einstellungen werden über die Site-Konfiguration von TYPO3 gemacht. (Pro Site/Domain unterschiedliche Einstellungen)
  • Übersetzungen werden in den Cache der Seite gelegt. (Wird die Seite geändert, wird auch die Übersetzung entfernt; separate "Blitze" für den Redakteur gibt es auch!)
    • der Cache kann auch "permanent" erhalten bleiben, so spart man sich Kosten beim DeepL Service. Man muss aber bedenken, dass man so den Cache selbst im Blick erhalten muss. Dafür gibt es eine eigene Ansicht im "Info" Modul.
  • Übersetzungsanfragen über das Frontend können zusätzlich vor Suchmaschinen "bots" ausgeschlossen werden. Auch das Google reCaptcha kann "davor" aktiviert werden um Übersetzungen nur echten Menschen zur Verfügung zu stellen.
    • ist die Seite einmal übersetzt wird keine Sicherheitsmaßnahme getroffen und die Übersetzung direkt aus dem Cache ausgespielt
  • Um den Benutzer darauf hinzuweisen, dass der Text von einer Maschine übersetzt wird kann auch ein Hinweis Text eingebaut werden

Um die Integration von DeepL abzuschließen, gab es noch die Glossar-Funktion als eigenes Backend Modul obendrauf. 

Hat Dir der Artikel gefallen?