09 Februar 2026

LanguageTool: Leistungsfähige Sprachprüfung im eigenen Netzwerk

LanguageTool: Leistungsfähige Sprachprüfung im eigenen Netzwerk

LanguageTool ist eine der führenden Open-Source-Lösungen zur grammatikalischen und stilistischen Textprüfung. Während die meisten Nutzer wohl die Cloud-basierte Version kennen, gewinnt die on-premise (selbst gehostete) Variante zunehmend an Bedeutung – besonders für Unternehmen, Bildungseinrichtungen und Organisationen mit hohen Datenschutz- und Kontrollanforderungen.

Der Kern von LanguageTool ist unter der GNU Lesser General Public License (LGPL-2.1) lizenziert. Diese Lizenz erlaubt die freie Nutzung, Modifikation und Weitergabe der Software, auch in kommerziellen Umgebungen, solange Änderungen am ursprünglichen Code ebenfalls unter der LGPL veröffentlicht werden. Die Lizenz ist „weak copyleft“, was bedeutet, dass Anwendungen, die LanguageTool als Bibliothek nutzen, nicht zwangsläufig Open Source sein müssen. Die Lizenzinformationen sind im offiziellen Repository auf GitHub im COPYING.txt ersichtlich. Dritte Komponenten wie Wörterbücher können unter abweichenden Lizenzen (z. B. GPL) stehen.

Es gibt eine Open-Source Version sowie eine erweiterte Premium-Version mit zusätzlichen Features wie verbesserte Stil-, Semantik- und Formatprüfungen. Eine genaue Übersicht findet sich auf der Website. Wichtig ist hier, dass es für selbst gehostete Instanzen Premium Features nur für den kommerziellen Einsatz und nach individuellem Angebot gibt. Dies ist allerdings nur schwierig kommuniziert und primär im Forum auf Nachfrage kommuniziert. Auch sind wohl nicht alle Premium-Features verfügbar.

Leider hat LanguageTool 2026 Änderungen bei der Nutzung der Browser-Erweiterungen vorgenommen: Für die Cloud-Nutzung ist nun ein Premium-Abo erforderlich. Die selbst gehostete Version bleibt davon unberührt – hier kann die Browser-Erweiterung weiterhin mit dem eigenen Server verbunden werden, um eine nahtlose Integration in Webanwendungen wie E-Mail, CMS oder Formulare zu ermöglichen.

Features

LanguageTool ist modular aufgebaut und kombiniert mehrere Technologien. Diese gehen dabei weit über die integrierte Rechtschreibprüfung von z. B. LibreOffice oder Thunderbird hinaus. Ein viel gewünschtes Feature ist aktuell allerdings noch nicht verfügbar: die Unterstützung für mehrere Sprachen innerhalb eines Dokumentes.

  1. Morphologischer Analyzer & POS Tagger
    Zuerst wird der Text in Sätze und Wörter zerlegt. Jedes Wort erhält mindestens einen Part-of-Speech (POS)-Tag (z. B. NomenVerbAdjektiv). Der Analyzer berücksichtigt auch Flexionsformen, sodass „gegangen“ korrekt als Partizip Perfekt erkannt wird.

  2. Disambiguator (Mehrdeutigkeitsauflöser)
    Viele Wörter haben mehrere Bedeutungen (z. B. „Bank“ als Sitzgelegenheit oder Finanzinstitut). Der Disambiguator nutzt Kontextinformationen, um die richtige Lesart auszuwählen. Dies geschieht entweder regelbasiert oder statistisch und verbessert die Genauigkeit der nachfolgenden Regelanwendung.

  3. Regel-Engine (XML & Java)
    Die Fehlererkennung basiert auf einer Kombination aus:

    • XML-Regeln: Einfache Muster wie „dass statt das“ oder „fehlendes Komma vor weil“. Diese sind leicht zu schreiben und zu warten.
    • Java-Regeln: Komplexe, kontextabhängige Regeln, die programmatisch implementiert werden, z. B. für Satzstruktur oder textübergreifende Wiederholungen.
  4. N-Gramm-Modell (optional)
    Für verbesserte Erkennung von Verwechslungen (z. B. „ihre vs. ihre“) kann ein n-Gramm-Modell hinzugefügt werden. Dieses nutzt statistische Daten aus riesigen Textkorpora (z. B. Google Books) und vergleicht die Wahrscheinlichkeit von Wortfolgen. Die n-Gramm-Daten sind nicht im Standardpaket enthalten, können aber lokal nachgeladen werden.

  5. Benutzerwörterbücher
    Eigene Fachbegriffe können hinzugefügt werden, um Fehlalarme zu vermeiden. Dies geschieht entweder über die API oder durch Editieren der spelling_custom.txt.
  6. Markup-Unterstützung
    Mit AnnotatedText kann HTML, LaTeX oder XML verarbeitet werden, ohne die Positionsangaben zu verfälschen.
  7. Java-API
     Für direkte Integration in Java-Anwendungen bietet JLanguageTool eine leistungsstarke Schnittstelle

Integration

Die Integration ist vielseitig: Neben der Browser-Erweiterung unterstützt LanguageTool APIs für eigene Anwendungen, Plugins für LibreOffice, Microsoft Word, Thunderbird und direkte Anbindung an Entwicklertools. Die selbst gehostete Lösung bietet somit maximale Flexibilität, Sicherheit und Skalierbarkeit – ideal für den Einsatz in sensiblen oder regulierten Umgebungen.

Eine vollständige Liste findet sich in folgendem Link. Prominent abwesend ist dabei ein dediziertes Plugin für den Outlook Client. Soweit nachvollziehbar war hier wohl der Aufwand nicht gegenüber der Nachfrage zu rechtfertigen. Allerdings gibt es nur ältere Beiträge im Forum dazu. Nichtsdestotrotz funktioniert LanguageTool im Browser auch problemlos mit Outlook im Browser. Die Einschränkung sollte so weit also nur den Desktopclient betreffen.

Bereitstellung

Auf Github finden sich verschiedene Möglichkeiten, um einen selbst gehosteten Service zu installieren. Gerade für lokale Installationen ist vermutlich eine Docker-Instanz am schnellsten bereitgestellt.

Es gibt hier verschiedene Images verlink, der Autor hat sich Beispielhaft für eines entschieden.

Der Maintainer bietet hier auch verschiedene fast fertige C&P Lösungen, um den Service zu starten. So auch eine Docker-Compose Vorlage um den Service als unprivilegierter Nutzer zu starten und das Dateisystem dabei Read-only zu halten:
Um dieses nutzen zu können, muss der Inhalt in z. B. eine docker-compose.yml geschrieben, die Verzeichnisse ngrams und fasttext erstellt und die Berechtigungen auf den z. B. nobody-Nutzer angepasst werden. Alle folgende Beispiele wurden auf einem Debian 13 System durchgeführt.

$ mkdir ~/Programme/Languagetool
$ cd ~/Programme/Languagetool
$ mkdir ngrams fasttext
$ chown nobody:nogroup ngrams fasttext

Folgend nun der Inhalt der compose-yaml mit Support für n-grams in Deutsch und Englisch. Wichtig zu beachten ist, dass die n-gram Daten recht groß sind und einige GB an Speicher brauchen.
So sind es zum aktuellen Zeitpunkt ca. 3 GB für Deutsch und ca. 15 GB für Englisch.

services:
languagetool:
image: meyay/languagetool:latest
container_name: languagetool
restart: unless-stopped
user: "65534:65534"
read_only: true
tmpfs:
- /tmp:exec
cap_drop:
- ALL
security_opt:
- no-new-privileges
ports:
- 8081:8081
environment:
download_ngrams_for_langs: de, en
volumes:
- ./ngrams:/ngrams
- ./fasttext:/fasttext

Im Anschluss kann man den Service entsprechend mit folgendem Befehl starten:

$ docker compose up -d
# Das Herunterladen der n-grams kann etwas dauern.
$ docker ps
2af60ed08544 meyay/languagetool:latest "/sbin/tini -g -e 14…" 4 weeks ago Up 3 hours (healthy) 0.0.0.0:8081->8081/tcp, :::8081->8081/tcp languagetool

Der Service ist nun verfügbar und die Plugins sollten auf diesen zugreifen können. Es gibt keine Art der Authentifizierung oder ähnliches. Jeder mit Zugriff auf die URL und den Port kann diesen nutzen.

Fazit

LanguageTool on-premise kombiniert datenschutzkonforme Textprüfung mit flexibler Integration. Die LGPL-2.1-Lizenz ermöglicht den freien Einsatz, während die umfassenden Schnittstellen eine nahtlose Einbindung in Office- und Webanwendungen erlauben. Mit der richtigen Konfiguration wird aus einem lokalen Server eine vollwertige, unternehmensfähige Lösung zur sprachlichen Prüfung.

 

Kategorien: credativ® Inside HowTos

über den Autor

Danilo Endesfelder

Berater

zur Person

Danilo ist seit 2016 Berater bei der credativ GmbH. Sein fachlicher Fokus liegt bei Containertechnologien wie Kubernetes, Podman, Docker und deren Ökosystem. Außerdem hat er Erfahrung mit Projekten und Schulungen im Bereich RDBMS (MySQL/Mariadb und PostgreSQL®). Seit 2015 ist er ebenfalls im Organisationsteam der deutschen PostgreSQL® Konferenz PGConf.DE.

Beiträge ansehen


Beitrag teilen: