The KDE promotion teams gains momentum with the weekly “The Road to KDE 4” news. Hidden in this weeks release about Koffice you will find some words about Sonnet – the KSpell replacement and therefore the framework that will support you with spell checking.
The basic idea was to replace KSpell with a full linguistic framework capable of grammar checking, dictionary functions, translation – and of course spell checking. For me one of the most promising features will be the GuessLanguage function: in short, as I understand it, Sonnet will be able to detect the language you are currently writing in, and will chose the background according to the language (spell checking libraries, grammar libraries, and so on). While this does not look very promising for a native English speaker, almost everyone else really needs this function!
As an example: I write this blog in English, but my mails to my friends mostly in German (well, to the German friends 😉 ) – I cannot quickly change the spell checking language, so I keep it in English and just hope that I get the German errors by myself. Now imagine to add just one more language (like French) in your daily usage, and you are totally lost with the current KSpell system. You will only get the errors in the texts written in English – all others will pass by.
This language guessing function is, btw., already in heavy development. The last commit digest reports stuff like “Added Khmer detection to GuessLanguage.” which is a pretty good indicator for the state of the system, I think 😀 You will also find this comment: “Sonnet language detection now ignores minor segments of other languages within the text to be checked” which shows that the developers mean business.
One of the biggest architectural changes of Sonnet will be the change the spell checking engine. While KSpell used its own plugin API Sonnet will use the AbiWord engine “Enchant”. The hope is that Sonnet is easier to maintain and that some of the developers work can be shared between AbiWord and the KDE team.
The grammar will be done by the “Elixir” engine which will come from a cooperation of KDE with the Enchant guys, I think.