WebSpellChecker.net Wiki

Embedding Additional Grammar Engines into WebSpellChecker.net Application

LanguageTool Embedding

LanguageTool is an Open Source grammar proofreading software.

The list of supported languages can be found here: LanguageTool.org
Please follow steps below to embed LanguageTool into WebSpellChecker.net application:

  1. Download and install LanguageTool into your system. For details please check the LanguageTool website at http://www.languagetool.org/
  2. In <WebSpellChecker.net_installation_path>\WebSpellChecker\AppServer\AppServerX.xml file set:
<Grammar>
   ...
   <provider>langtool</provider>
   ...
</Grammar>
...
<LangToolProvider>localhost:9080</LangToolProvider>

Note that “localhost:9080” is used by defaul.

Please don`t forget to restart the AppServer after any modifications of the AppServerX.xml file.

After the Deadline Embedding

After the Deadline is an Open Source grammar engine.

The list of supported languages can be found here: AfterTheDeadline.com
Please follow steps below to embed ATD into WebSpellChecker.net application:

  1. Download and install ATD into your sytem. For details please check the ATD website at http://afterthedeadline.com/
  2. In <WebSpellChecker.net_installation_path>\WebSpellChecker\AppServer\AppServerX.xml file set:
<Grammar>
   ...
   <provider>atd</provider>
   ...
</Grammar>
...
<ATDProvider>localhost:1049</ATDProvider>

Note that “localhost:1049” is used by default.

Please don`t forget to restart the AppServer after any modifications of the AppServerX.xml file.

Mixing the Results of Grammar Engines

Mixed grammar engines option allows to setup several grammar engines to enhance grammar checking. Engines priorities can be set with 'MixedProviderSettings' option. Custom priorities for particular problems can be setup with “CustomPrioritiesFile” option.

Please follow the steps to setup the option:

  1. Download and install ATD and LanguageTools into your system. For details please check the ATD website at http://afterthedeadline.com/ and LanguageTools website http://www.languagetool.org/
  2. In <WebSpellChecker.net_installation_path>\WebSpellChecker\AppServer\AppServerX.xml file set:
 <Grammar>
  ...
   <provider>mixed</provider>
  ...
</Grammar>
...
<LangToolProvider>localhost:8081</LangToolProvider>
<ATDProvider>localhost:1049</ATDProvider>
...
<MixedProviderSettings>
   <Providers>atd,ssce,langtool,</Providers>
   <CustomPrioritiesFile>CustomPriorities.xml</CustomPrioritiesFile>
</MixedProviderSettings>

where 'ssce' is the default WebSpellChecker.net grammar engine.

Please don`t forget to restart the AppServer after any modifications of the AppServerX.xml file.

Multilingual Grammar checker


The Grammar check feature is available not for the English language only. It can be also enabled for the languages supported by AfterTheDeadline and LanguageTool engines.

Enabled Grammar tab for a target languages


  • Open [installation_path]/WebSpellChecker(WSC)/WebComponents/WebInterface/script/ssrv.ini
  • Locate the following string:
langs_list =
" [superset]  en_US en_GB [spellthes]  fr_FR de_DE it_IT es_ES [usual]  pt_BR da_DK nl_NL nb_NO pt_PT sv_SE el_GR en_CA fr_CA fi_FI [rtl] "
  • Add the short codes of target languages into [superset] section separated by space (as English and British).

The short codes of the languages supported by default are listed here. In case you need non-default(additional) languages to be added please contact Support Team.

  • Make sure that value of show_grammar_tab parameter is set to true. The parmeter is located at the bottom of the ssrv.ini file.

Define GrammarProvider for a target language


  • Open [installation_path]/WebSpellChecker(WSC)/WebComponents/AppServer/AppServerX.xml file.
  • Add the next directive to the particular language settings (e.g French):
<GrammarProviderOptions>language=fr</GrammarProviderOptions>
  • Also you can define which Grammar engine will serve grammar requests from particular language:
<GrammarProvider>langtool</GrammarProvider> 


Here is an example for French language with Langtool engine:

<Language Id="fr_FR">
<!-- French -->
<Alias>fr</Alias>
<SpellEngineOptions>
<Locale>fr</Locale>
<Provider>ssce</Provider>
<Dictionary FullPath="sscefr2.clx"></Dictionary>
<Dictionary FullPath="sscefr.tlx"></Dictionary>
<Options>
<SplitContractedWords>1</SplitContractedWords>
</Options>
</SpellEngineOptions>
<GrammarProviderOptions>language=fr</GrammarProviderOptions>
<GrammarProvider>langtool</GrammarProvider> 
</Language>