Skip to content
David L. Day edited this page Aug 2, 2020 · 12 revisions

Documentation

Installing LanguageTool

The best way to install LanguageTool is via a package manager. One simple command on any platform will take care of things. Or, if you prefer to do things manually, you can always download the latest stable version, unzip wherever you like, and follow the official instructions.

Make sure you have Java installed first. The package managers below can help with that as well.

Windows

Use scoop.

scoop install languagetool

The LanguageTool jar will be installed to:

C:\Users\<user>\scoop\apps\languagetool\current\languagetool-server.jar

macOS

Use HomeBrew.

brew install languagetool

The LanguageTool server jar will be installed to:

/usr/local/opt/languagetool/libexec/languagetool-server.jar

Linux

Use LinuxBrew (now HomeBrew on Linux).

brew install languagetool

The LanguageTool server jar will be installed to:

/home/linuxbrew/.linuxbrew/opt/languagetool/libexec/languagetool-server.jar

Run a Local LanguageTool Service

If you're like me, and need to have multiple applications use LanguageTool locally, and you don't want multiple LanguageTool services running at the same time, then this is for you.

if you're not using Docker, make sure you've installed LanguageTool.

Docker

Probably the easiest way to get up and running locally. (Thanks, @shicolas)

You can run a community-supported version of Language Tools with this Docker image:

docker run --rm -p 8081:8010 silviof/docker-languagetool

This command will run LanguageTools on port 8081 of your localhost, which is the default setting to use this plugin.

Windows

I have no idea yet, but it can't be too hard.

macOS

There's probably many approaches, but I decided to use a LaunchAgent that runs under my account, starts the service when I log in, and stops it when I log out.

Here's a sample plist file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>org.languagetool.server.HTTPServer</string>
	<key>LimitLoadToSessionType</key>
	<string>Aqua</string>
	<key>ProgramArguments</key>
	<array>
		<string>/usr/local/bin/languagetool-server</string>
		<string>--port</string>
		<string>8081</string>
	</array>
	<key>RunAtLoad</key>
	<true/>
	<key>KeepAlive</key>
	<true/>
</dict>
</plist>

You can download mine from here and save it to ~/Library/LaunchAgents/org.languagetool.server.HTTPServer.plist. Note, the name of the file is important!

Once you have your plist file in place, run:

launchctl load ~/Library/LaunchAgents/org.languagetool.server.HTTPServer.plist

Then do:

ps -ef|grep languagetool-server

And you should see something like:

501 10702     1   0  8:34PM ??         0:46.83 /usr/bin/java -cp /usr/local/Cellar/languagetool/4.7/libexec/languagetool-server.jar org.languagetool.server.HTTPServer

Linux

On my Linux laptop, I created a "Startup Application" with the following command:

java -Xms1G -Xms1G -cp /home/linuxbrew/.linuxbrew/opt/languagetool/libexec/languagetool-server.jar org.languagetool.server.HTTPServer --port 8081

As with my Mac, LanguageTool runs under my account, starts when I log in, and stops when I log out.