Installing spell-checking ========================= Linux and Mac ------------- I think this just works because these OSes come with the Enchant library for PHP. If it is not working, check that the Enchant extension is listed in php.ini, and check you can use aspell from the command-line. Windows PHP 8.x --------------- The situation sucks. See https://stackoverflow.com/a/67423119/1292707. 1. Make a directory C:\usr\local\lib in your C: drive. (Yes really!) 2. Copy the 'enchant' folder from in 'C:\tools\php80\lib' (or wherever) to C:\usr\local\lib and rename it to 'enchant-2'. 3. Follow the instructions below to get the dictionary files, but put them in 'C:\usr\local\share\enchant\hunspell' instead of '[... path to your PHP install ...]\share\myspell\dicts'. Windows up to PHP 7.x --------------------- You definitely need to add extension=php_enchant.dll in your php.ini. Then, you need to install some dictionaries, as described here: https://www.kildclient.org/forum/viewtopic.php?t=5411 1. Download the LibreOffice extension containing the dictionary for the language you want from the extensions repository: https://extensions.libreoffice.org/extensions?getCategories=Dictionary&getCompatibility=any The direct link for English is https://extensions.libreoffice.org/extensions/english-dictionaries. 2. The downloaded file is a Zip archive, just with a different extension. Rename the downloaded file changing the .oxt extension to .zip, and open it. 3. Inside, locate two files with .aff and .dic extensions. There should be two files with the same name and these two extensions. Depending on the package you have downloaded, there might be other files (such as hyphenation support files) with similar names. Those are not used by enchant. 4. Copy the .aff and .dic files to the [... path to your PHP install ...]\share\myspell\dicts folder. If this is the first dictionary you are installing, you will need to create the folders. A good one-liner to test it is working from the command-line is: php -r '$broker = enchant_broker_init(); var_dump($broker); var_dump(enchant_broker_list_dicts($broker));' Note: French (https://extensions.libreoffice.org/extensions/dictionnaires-francais) seems to be tricky. There are various .aff and .dic, and the names do not match what enhant expects. I think what you need to do is to take the two fr-toutesvariantes.[aff|dic] files, and rename them to fr_FR.[aff|dic] after copying into \share\myspell\dicts.