Add Hunspell dictionaries to Spell Checker Pro
Spell Checker Pro for TinyMCE includes support for Hunspell dictionaries. Hunspell dictionaries can be obtained from various sources, but the files must be stored in a specific structure to work with TinyMCE Spell Checker Pro. Tiny provides downloadable bundles that have the required structure.
To add Hunspell dictionaries to a self-hosted TinyMCE:
-
Download the latest TinyMCE Enterprise package.
-
Download the desired Hunspell dictionaries.
-
Configure the TinyMCE spelling service to use the Hunspell dictionaries.
Downloadable Hunspell Bundles
Tiny provides two downloadable bundles of Hunspell dictionaries.
hunspell-dictionaries-approved.zip
-
Does not contain dictionaries licensed under:
hunspell-dictionaries-all.zip
-
This package contains all the Hunspell dictionaries that the spelling service supports. You will need to ensure that their license matches your requirements.
You can remove unwanted dictionaries and their associated directories, but the file structure must be respected. Hunspell dictionaries can be downloaded from other sources, but will need to be stored in the structure shown in Hunspell dictionary storage for Spell Checker Pro.
Configuring the spelling service to use Hunspell dictionaries
The ephox.spelling.hunspell-dictionaries-path
setting is used to define the location of the Hunspell dictionaries. When the setting is not provided, Hunspell dictionaries are not supported.
Requirements:
-
The directory containing the Hunspell dictionaries must conform to the file structure defined in Hunspell dictionary storage for Spell Checker Pro.
-
The directory containing the Hunspell dictionaries must be on the same server machine (or docker container) as the java service.
Tiny recommends storing the Hunspell dictionaries in a similar location to the application.conf
file. For example, if application.conf
is in a directory called /opt/ephox
, the Hunspell dictionaries should be stored in the subdirectory /opt/ephox/hunspell-dictionaries
.
Example:
ephox {
spelling {
hunspell-dictionaries-path: "/opt/ephox/hunspell-dictionaries"
}
}
Hunspell dictionary storage for Spell Checker Pro
Each Hunspell dictionary comes in two files. The .dic file which is the list of words, and the .aff file which is a list of rules and other options. These rules tell Hunspell, for example, how to convert a word into its plural or possessive forms. These files should be named following the language tag definition described in RFC 5646, using "-" or "_" as separator.
There are two file structures available for storing Hunspell dictionaries.
Flat structure
โโโ af_ZA.aff
โโโ af_ZA.dic
โโโ af_ZA.license
โโโ da.aff
โโโ da.dic
โโโ da.license
โโโ de_DE.aff
โโโ de_DE.dic
โโโ de_DE.license
โโโ en_AU.aff
โโโ en_AU.dic
โโโ en_AU.license
โโโ en_CA.aff
โโโ en_CA.dic
โโโ en_CA.license
โโโ en_GB.aff
โโโ en_GB.dic
โโโ en_GB.license
โโโ en_medical.aff
โโโ en_medical.dic
โโโ en_medical.license
โโโ en_US.aff
โโโ en_US.dic
โโโ en_US.license
โโโ es.aff
โโโ es.dic
โโโ es.license
โโโ fr.aff
โโโ fr.dic
โโโ fr.license
โโโ hu.aff
โโโ hu.dic
โโโ hu.license
โโโ it_IT.aff
โโโ it_IT.dic
โโโ it_IT.license
โโโ mi_NZ.aff
โโโ mi_NZ.dic
โโโ mi_NZ.license
โโโ nb_NO.aff
โโโ nb_NO.dic
โโโ nb_NO.license
โโโ nl_NL.aff
โโโ nl_NL.dic
โโโ nl_NL.license
โโโ nn.aff
โโโ nn.dic
โโโ nn.license
โโโ pl.aff
โโโ pl.dic
โโโ pl.license
โโโ pt_BR.aff
โโโ pt_BR.dic
โโโ pt_BR.license
โโโ pt_PT.aff
โโโ pt_PT.dic
โโโ pt_PT.license
โโโ sv_FI.aff
โโโ sv_FI.dic
โโโ sv_FI.license
โโโ sv_SE.aff
โโโ sv_SE.dic
โโโ sv_SE.license
Nested structure
โโโ af_ZA
โย ย โโโ af_ZA.aff
โย ย โโโ af_ZA.dic
โย ย โโโ license
โโโ da
โย ย โโโ da.aff
โย ย โโโ da.dic
โย ย โโโ license
โโโ de_DE
โย ย โโโ de_DE.aff
โย ย โโโ de_DE.dic
โย ย โโโ license
โโโ en_AU
โย ย โโโ en_AU.aff
โย ย โโโ en_AU.dic
โย ย โโโ license
โโโ en_CA
โย ย โโโ en_CA.aff
โย ย โโโ en_CA.dic
โย ย โโโ license
โโโ en_GB
โย ย โโโ en_GB.aff
โย ย โโโ en_GB.dic
โย ย โโโ license
โโโ en_medical
โย ย โโโ en_medical.aff
โย ย โโโ en_medical.dic
โย ย โโโ license
โโโ en_US
โย ย โโโ en_US.aff
โย ย โโโ en_US.dic
โย ย โโโ license
โโโ es
โย ย โโโ es.aff
โย ย โโโ es.dic
โย ย โโโ license
โโโ fr
โย ย โโโ fr.aff
โย ย โโโ fr.dic
โย ย โโโ license
โโโ hu
โย ย โโโ hu.aff
โย ย โโโ hu.dic
โย ย โโโ license
โโโ it_IT
โย ย โโโ it_IT.aff
โย ย โโโ it_IT.dic
โย ย โโโ license
โโโ mi_NZ
โย ย โโโ license
โย ย โโโ mi_NZ.aff
โย ย โโโ mi_NZ.dic
โโโ nb_NO
โย ย โโโ license
โย ย โโโ nb_NO.aff
โย ย โโโ nb_NO.dic
โโโ nl_NL
โย ย โโโ license
โย ย โโโ nl_NL.aff
โย ย โโโ nl_NL.dic
โโโ nn
โย ย โโโ license
โย ย โโโ nn.aff
โย ย โโโ nn.dic
โโโ pl
โย ย โโโ license
โย ย โโโ pl.aff
โย ย โโโ pl.dic
โโโ pt_BR
โย ย โโโ license
โย ย โโโ pt_BR.aff
โย ย โโโ pt_BR.dic
โโโ pt_PT
โย ย โโโ license
โย ย โโโ pt_PT.aff
โย ย โโโ pt_PT.dic
โโโ sv_FI
โย ย โโโ license
โย ย โโโ sv_FI.aff
โย ย โโโ sv_FI.dic
โโโ sv_SE
โโโ license
โโโ sv_SE.aff
โโโ sv_SE.dic
Both structures may be used at the same time. If you provide dictionary files for the same language tag in both ways, Spell Checker Pro will try to load the nested dictionary files first. If they’re not correct, then flat structured files will be loaded.
Missing Dictionaries
Where a Hunspell dictionary has not been provided, the spelling service will fallback to the built-in dictionaries for supported languages. For a list of supported Spell Checker languages, see: Spell Checker Pro plugin - Supported languages.