gitmyhub

languagetool

Java ★ 15k updated 11h ago

Style and Grammar Checker for 25+ Languages

LanguageTool is open-source grammar and style checking software that catches errors beyond basic spell-checking in 25+ languages and can run as a desktop tool, a network server, or a LibreOffice extension.

JavaDockerApache Mavensetup: moderatecomplexity 3/5

LanguageTool is open-source proofreading software that checks writing for grammar, spelling, and style mistakes across more than 25 languages, including English, Spanish, French, German, Portuguese, Polish, and Dutch. Unlike a basic spell checker that only flags misspelled words, LanguageTool understands sentence structure well enough to catch errors that involve the wrong word being used correctly spelled, or grammatical mistakes that simple tools miss.

The core library is written in Java and is available under a license called LGPL 2.1, which allows developers to incorporate it into their own applications freely. You can run it as a standalone desktop tool, as a server that other applications contact over a network, or integrate it directly into Java programs using its programming interface. There is also an extension available for LibreOffice and OpenOffice, the free office suites.

Getting it running is fairly straightforward. A one-line install script handles the setup automatically on most systems. If you want to build it yourself from the source code, you need Java 17 and a build tool called Apache Maven installed. The README notes that a full clone of the repository is large, over 500 megabytes, so it recommends a shallow clone that downloads only the most recent changes, bringing the footprint down to under 60 megabytes. Instructions are also included for running the build on Apple Silicon Mac computers, which require a small workaround.

Community members have also packaged LanguageTool into Docker containers, which are self-contained software environments that make it easy to run the server without worrying about dependencies on your own machine. Several pre-built Docker images are listed in the README for this purpose.

The project accepts contributions, particularly in the form of new error detection rules, which define the kinds of mistakes the tool should recognize. A developer overview on the project's website explains how those rules work and how to add new ones.

Where it fits