LanguageTool Plugin as smart spell checker

One of the amazing features of the LanguageTool Plugin is advanced spell check. Spell-checking is done in batch mode, so it’s faster than a standard Studio spell check. Group ignoring errors is easier and safer. Unnecessarily ignored errors can be quickly restored, which cannot be done with a standard spell check in Studio.

And most importantly, we can detect errors in:

  • proper names
  • product names
  • utranslatables
  • source UI options when bilingual translated
  • acronyms
  • words in capital letters
  • words in mixed letters
  • words containing digits
  • and alphanumeric expressions.

LanguageTool Plugin is smart spell checker for checking acronyms and alphanumeric expressions. This is how it works.

Smart Spellcheck
Smart Spellcheck
Error Error detected by QA-checker
Source Target LT Plugin Number Verifier Simple Numcheck
ATmega168 ATmeg168 Yes No Yes
ATmega328 ATmega228 Yes Yes Yes
Arduino Ardoino Yes No No
Due Deu Yes No No
SAM3X8e SAM38Xe Yes Yes Yes
LilyPad LillyPad Yes No No

Any error detected by the LanguageTool Plugin is clearly indicated in the Message column. Any error detected by the LanguageTool Plugin is clearly highlighted in the Target column. You can be sure that you won’t mistakenly ignore the error returned by a standard spell checker in the Studio.

How to configure the LanguageTool Plugin to detect all such errors.

Spellchecker Settings
Spellchecker Settings

Notes in small print: not all errors listed above are detected by the LanguageTool Plugin by default. This depends on the default configuration of the speller of LanguageTool package. LanguageTool spell checker configuration is set in INFO file in dictionary folder:

c:\LanguageTool-4.3\org\languagetool\resource\en\hunspell\ (for en-US)

c:\LanguageTool-4.3\org\languagetool\resource\pl\hunspell\ (for pl-PL)

The first highlighted part is the path to the LanguageTool package, and the next highlighted parts are the given language.

Modified content of the INFO file

For pl-PL:

# Dictionary properties.
fsa.dict.speller.equivalent-chars=x ź, l ł, u ó, ó u, u y, i j, u ł, d t, v w, - —, - –, 0 O
fsa.dict.speller.replacement-pairs=ć dź, ć dz, c dz, ch h, dź ć, dz ć, ę em, ę en, em ę, en ę, h ch, osc ość, loz łos, ą oł, oł ą, ą om, om ą, ą on, on ą, ż rz, rz ż, rz sz, scia ścią, sić ść, sz ż, sz rz, tro rot, x ks, z rz, nei nie, trzcionk czcionk

For en-US:

# Dictionary properties.
fsa.dict.speller.replacement-pairs=ninties 1990s, a ei, ei a, a ey, ey a, ai ie, ie ai, are air, are ear, are eir, air are, air ere, ere air, ere ear, ere eir, ear are, ear air, ear ere, eir are, eir ere, f ph, ph f, gh f, f gh, kw qu, Bordo Bordeaux, bato bateau, bocoup beaucoup, buro bureau, bo beau, oo ew, ew oo, ew ui, ui ew, oo ui, ui oo, uff ough, oo ieu, ieu oo, ier ear, ear ier, air ear, shun tion, shun sion, shun cion, yersa years, phoby phobia

For the Ignore words with UPPER CASE…Ignore words with miXED CASE… and Ignore words with numbers… to work, there must be 3 highlighted lines in the language configuration file. If there are no lines or they are set to “true”, they must be changed accordingly.

Unfortunately, this will not work for all languages. Below is a table with the default settings of the LanguageTool spell checker module, which will help you easily check if you can change your settings. The FSA ignore params supported column indicates whether it is possible to change them in the INFO file. You can see that among the languages tested by me, it is not possible to set all three parameters only for Danish, German, Portuguese and Ukrainian. Nothing needs to be changed for Catalan, Dutch, Swedish, French. For other languages you can edit FSA parameters in INFO file.


Language Name
Short Code
Long Code
FSA ignore params supported Default ignore-all-uppercase Default ignore-camel-case Default ignore-numbers Path to INFO file
Asturian ast ast-ES Yes \LanguageTool-4.3\org\languagetool\resource\ast\hunspell\
Belarusian be be-BY Yes true false true \LanguageTool-4.3\org\languagetool\resource\be\hunspell\
Breton br br-FR Yes true true true \LanguageTool-4.3\org\languagetool\resource\br\hunspell\
Catalan ca ca-ES No false false false
Catalan (Valencian) ca ca-ES-valencia No false false false
Chinese zh zh-CN Not tested
Danish da da-DK No \LanguageTool-4.3\org\languagetool\resource\da\
Dutch nl nl Yes false false false \LanguageTool-4.3\org\languagetool\resource\nl\spelling\
English (Australian) en en-AU Yes false false true \LanguageTool-4.3\org\languagetool\resource\en\hunspell\
English (Canadian) en en-CA Yes false false true \LanguageTool-4.3\org\languagetool\resource\en\hunspell\
English (New Zealand) en en-NZ Yes false false true \LanguageTool-4.3\org\languagetool\resource\en\hunspell\
English (South African) en en-ZA Yes false false true \LanguageTool-4.3\org\languagetool\resource\en\hunspell\
English (GB) en en-GB Yes false false true \LanguageTool-4.3\org\languagetool\resource\en\hunspell\
English (US) en en-US Yes false false true \LanguageTool-4.3\org\languagetool\resource\en\hunspell\
Esperanto eo eo Not tested
French fr fr Yes false false false \LanguageTool-4.3\org\languagetool\resource\fr\hunspell\
Galician gl gl-ES Not tested
German (Germany) de-DE de-DE No false false true \LanguageTool-4.3\org\languagetool\resource\de\hunspell\
German (Austria) de-AT de-AT No false false true \LanguageTool-4.3\org\languagetool\resource\de\hunspell\
German (Switzerland) de-CH de-CH No false false true \LanguageTool-4.3\org\languagetool\resource\de\hunspell\
Greek el el-GR No true \LanguageTool-4.3\org\languagetool\resource\el\hunspell\
Italian it it Yes true false true \LanguageTool-4.3\org\languagetool\resource\it\hunspell\
Japanese ja ja-JP Not tested
Khmer km km-KH Not tested
Persian (Iran) fa fa Not tested
Polish pl pl-PL Yes false false true \LanguageTool-4.3\org\languagetool\resource\pl\hunspell\
Portuguese (Portugal) pt-PT pt-PT No false false true
Portuguese (Angola preAO) pt-AO pt-AO No false false true
Portuguese (Brazil) pt-BR pt-BR No false false true
Portuguese (Moçambique preAO) pt-MZ pt-MZ No false false true
Romanian ro ro-RO Yes \LanguageTool-4.3\org\languagetool\resource\ro\hunspell\
Russian* ru ru-RU Yes*
Latin character words are ignored
Serbian (Serbia) sr sr-RS Not tested
Serbian (Montenegro) sr sr-ME Not tested
Serbian (Bosnia and Herzegovina) sr sr-BA Not tested
Slovak sk sk-SK Yes true false true \LanguageTool-4.3\org\languagetool\resource\sk\hunspell\
Slovenian sl sl-SI Yes true false true \LanguageTool-4.3\org\languagetool\resource\sl\hunspell\
Spanish es es Yes false false true \LanguageTool-4.3\org\languagetool\resource\es\hunspell\
Swedish sv sv No false false false
Tagalog tl tl-PH Not tested
Tamil ta ta-IN Not tested
Ukrainian (Ukraine) uk uk-UA No true true true


Complete post version is available be published in User Manual for new plug-in versions.

New versions of Xbench29Plugin for Studio 2017 and Studio 2019

New versions of Xbench29Plugin for Studio 2017 and Studio 2019 are now available in SDL AppStore.
New versions of plug-ins do not provide any new functionalities. They were only adapted to the new version of Studio.

The plug-in allows you to execute a quick QA check in Xbench without laborious project creation. All you need to do is click on the ribbon icon. Though the plug-in name is Xbench29Plugin, it can also be used with Xbench 3.0.

Why use Xbench? Xbench allows you to search for inconsistencies in the source. (Two or more different source segments with the same translation.) This cannot be caught in the Studio.

A new version of the LanguageTool Plugin for Studio 2017 and 2019

A new version of the LanguageTool Plugin for Studio 2017 and 2019 is available in the SDL AppStore.


In version 2.0, several important improvements were added and the known minor bugs were

– You no longer need to set the language in the LanguageTool Plugin. The language is automatically taken from translated file.

– Segment locked content is not checked (not sent to the server) — less false positive errors.

– The name of the spell-checking rule is set automatically for all languages. You don’t need to enter it manually.

– Improved PerfectMatch segment exclusion from checking. It was possible that some ContextMatch segments were not checked.

– Improved saving of LanguageTool Plugin settings in the project after clicking OK.

– Fixed an error caused by several consecutive special characters used in regular expressions, e.g. “**” during spell-checking. The problem occurred, among others, in Spanish.

– The server console window now starts up immediately in the minimized version.

– Improved Ignore All function for spelling errors. Now only the same type of errors are ignored, not all spelling errors.

– Improved Ignore words … only if the same word occurs in source feature. Now only whole words in the source segment are taken into account for the comparison.