silverstripe/spellcheck

Improves spellcheck support for SilverStripe CMS, including an implementation for HunSpell.

2.5.2 2024-07-11 22:21 UTC

Requires

Suggests

None

Provides

None

Conflicts

None

Replaces

None

BSD-3-Clause fbdf9e67ea6022cc36621e75981e7a3b3fc97749

  • Damian Mooyman <damian.woop@silverstripe.com>

silverstripespellcheckcwphunspell


README

NOTE: This module is no longer commercially supported in Silverstripe CMS 5 and it does not provide a CMS5-compatible version.

👁 CI

Improves spellcheck support for Silverstripe CMS, including an implementation for HunSpell.

Installation

Ensure that your server is setup with hunspell, and the necessary dictionaries for each language you wish to use.

Install the spellcheck module with composer, using composer require silverstripe/spellcheck ^2.0, or downloading the module and extracting to the 'spellcheck' directory under your project root.

Requirements

  • Silverstripe 4.0.2 or above
  • Hunspell

Note: this version is compatible with Silverstripe 4. For Silverstripe 3, please see the 1.x release line.

Configuration

Setup the locales you wish to check for using yaml. If you do not specify any, it will default to the current i18n default locale, and may not be appropriate if you have not configured dictionaries for some locales.

mysite/_config/config.yml

SilverStripe\SpellCheck\Handling\SpellController:
 locales:
 - en_NZ
 - fr_FR
 - de_DE

By default only users with the CMS_ACCESS_CMSMain permission may perform spellchecking. This permisson code can be altered (or at your own risk, removed) by configuring the SilverStripe\SpellCheck\Handling\SpellController.required_permission config.

SilverStripe\SpellCheck\Handling\SpellController:
 # Restrict to admin only
 required_permission: 'ADMIN'

Extending

Additional spell check services can be added by implementing the SilverStripe\SpellCheck\Providers\SpellProvider interface and setting this as the default provider using yaml.

mysite/_config/config.yml

---
Name: myspellcheckprovider
After: '#spellcheckprovider'
---
# Set the default provider to HunSpell
SilverStripe\Core\Injector\Injector:
 SilverStripe\SpellCheck\Data\SpellProvider
 class: MySpellProvider