Built in spell and grammar checker

Hi,

I recently had an amazing writing experience using TeXstudio with a spell and grammar check done in real time (via Language Tool app installed locally). It is very useful if you are more focused on the subject and facts and less on the grammar and style. This is especially true if you are writing in some non-native language. Even simple checks like avoid word repetition and common typos not detected with speller are very helpful (a good example is “My English is very bed”). And this is not only about writing, a well-written text can provide a pleasure for a reader, a crappy one leads to annoyance.

There is a number of plugins aimed to do this for online writing. I am actually using one at the moment, however, it is a bit buggy on providing corrections for mistakes. The major drawback is that it is only for English.

Langage Tool is a Java app that can be run in server mode, and used via JSON API. Moreover, you can use your own instance (it is open sourced) or use the service they provide on web site. It has enough performance to check 400.000 sentences in about 4 minutes on my dual-core laptop, so it should not stack even under heavy traffic. As far as I know it is the best multilingual grammar checker, even more - it is relatively easy to contribute new rules for your native language to detect your favorable typos.

So, using a smart spell and grammar checker is a great pleasure, which can be provided to every Discourse post writer via integration with Language Tool (or any other app, probably you can find out a better possibility). Any ideas about implementation? Is it interesting enough to be added into Discource developers’ todo list?

Kostya

1 Like

Unlikely, we count on the browser to do spellcheck and autocorrect – all modern browsers do.

6 Likes

Not at all. Only desktop browsers do and only a spellcheck (no grammar analysis, which is available only with plugins, however, plugins are buggy for custom input fields (like Discourse) or probably not user-friendly (I use two of them)). Any mobile browser under Android I have tested (Chrome, Firefox) do not have any spell check and will probably not in any upcoming feature.

Is it possible to add a plugin that will interact with a local or remote server via post and get JSON API to provide correction for user input in Discourse? It will need to mark errors and provide suggestions for corrections, e.g. popup balloon on mouse hover over the marked place, where you can click to select the correct variant of spelling or grammar.

This is technically possible, but not something we plan on working on, if you really want this feature look at building a plugin.

1 Like

Except on Android Chrome when you have a Bluetooth keyboard connected. On Android, isn’t it the on-screen keyboard that does the spell checking via predictive text? So you lose this when a hardware keyboard is attached. Some third party keyboards like SwiftKey do allow on-screen predictive text without showing the on-screen keyboard which helps.

It would be useful if Android Chrome could offer in-place spell checking so this is more of a general Android problem that Discourse.

Predictive text is different from spell check, at least on modern versions of Android. See Framework per il controllo ortografico  |  Views  |  Android Developers. On my phone (Android 7.1.1), Spell checker (Google spell checker) is listed completely separately from keyboards:

2 Likes

I know that Discourse has a built-in spell checker since I do see misspelled words underlined in red. However, there’s no auto-correct or recommendations of how the word should be spelled. Is this a feature or plugin available?

Often, I see some users misspell stuff and I edit their posts manually.

No, Discourse doesn’t have a built-in spell checker because

2 Likes

Ah, I see, thanks for correcting me. So it’s just browser based. Gotcha.

Update

Discourse AI Helper supports proofreading out of the box, LLMs are excellent at correcting grammar mistakes and can catch many things that the browser spell checker will not catch.

It can be triggered using CTRLALTp on sites with Discourse AI Helper configured.

3 Likes