Enchant appears to be a generic spell checking library
Description:
You can request dictionaries from it, ask if a word is correctly spelled, get corrections for a misspelled word, etc... Enchant is more-or-less a fancy wrapper around the dlopen() system call. Enchant steps in to provide uniformity and conformity on top of these libraries, and implement certain features that may be lacking in any individual provider library. Everything should "just work" for any and every definition of "just working."