• Publisert
  • 2 min

Adding dictionaries to the TinyMCE SpellChecker Add-On in EPiServer 7

Not all languages are supported out-of-the-box in the TinyMCE SpellChecker. Here's how to add more dictionaries.

Default dictionary support

SpellChecker is missing dictionaries for EPiServer languages


The TinyMCE SpellChecker is a free Add-On for EPiServer 7 (in the "EPiServer Beta" feed of the Add-On Store).

Installation and usage is quite straightforward, but the TinyMCE SpellChecker doesn't have dictionaries for every language available in EPiServer.
The following languages are included with a default installation of the TinyMCE SpellChecker Add-On:
  • Danish (da), German (de), English (en - actually en-US), Spanish (es), French (fr), Italian (it), Dutch (nl), Norwegian (no - actually nb-NO Bokmål), Polish (pl), Portugese (pt), Russian (ru), Swedish (sv).
Dictionaries are located under
[AppData]\Modules\EPiServer.TinyMCESpellChecker\1.0.1.75\ClientResources\NHunspellchecker\
Where each dictionary has a folder named after the language code (e.g. "en", "de" etc).


Downloading custom dictionaries

Download additional dictionaries from mozilla


A reasonably trustworthy source of custom dictionaries is the Mozilla language tools section.
These are actually meant for use as built-in spellcheckers in the FireFox browser, but we can extract the dictionary files and use them in EPiServer:
  1. Open any browser except FireFox (see step 3)
  2. Browse to https://addons.mozilla.org/en-US/firefox/language-tools/ and find the language you need
  3. Click "Install dictionary" , then "Download now" (If using FireFox, this link would say "Install now" instead, which we don't want)
  4. Rename the downloaded file from .xpi to .zip and extract the .aff and .dic files within.
  5. Create a new folder named after the language code (e.g. "tr") in [AppData]\Modules\EPiServer.TinyMCESpellChecker\1.0.1.75\ClientResources\NHunspellchecker\ 
  6. Paste your extracted .aff and .dic files in the new folder

Notes:
  • The name of the dictionary file should match the language code of the language branch enabled in EPiServer. E.g. if you enabled "en-US", name your dictionary files "en-us.dic/.aff"
  • Check which specific language variation your dictionaries actually cover. 
    A dictionary named "en.dic" might actually cover US English which in EPiServer is "en-US", while "no.dic" might actually cover the Norwegian Bokmål variation which in EPiServer is "nb-NO"). Most downloadable dictionaries include a README containing that sort of info. 
  • Don't place more than one dictionary in each language folder - you'll confuse the SpellChecker. E.g. in the "en" folder, don't have both "en.dic" and "en-us.dic".

Using dictionaries from the web

If you have several versions of a dictionary to choose from, always choose the newest one, or the one from the (presumably) most credible source. Custom dictionaries are not always perfect.
Always check if there are any usage or license restrictions attached to the dictionary.


Based on an Open-Source library

The TinyMCE SpellChecker is actually an EPiServer-branded wrapper around an open-source library called NHunSpell, (which is a .NET port of the original C++ HunSpell library used by OpenOffice, FireFox, Google Chrome, Max OSX and others).
The dictionaries included are also mostly open-sourced, gathered from various private contributors. This dependency on an open source third party library (and dictionaries) probably explains the "Beta" label.