Spell check at the input field

Registered by Marten de Vries on 2010-09-22

Spell check at the input field

Blueprint information

Status:
Complete
Approver:
None
Priority:
High
Drafter:
None
Direction:
Approved
Assignee:
Marten de Vries
Definition:
Approved
Series goal:
Accepted for 3.x
Implementation:
Implemented
Milestone target:
milestone icon 3.2
Started by
Marten de Vries on 2013-03-15
Completed by
Marten de Vries on 2013-06-20

Related branches

Sprints

Whiteboard

Discussion:

Guus: Why not use the Firefox wordbooks? I mean in the way that people can press a button called "wordbooks" and then they can select the ones that are also offered in Firefox, a right click on the word to select language and then a red line if the word is wrong. The wordbooks are listed here https://addons.mozilla.org/en-us/firefox/language-tools/. You can extract an .xpi to in 7zip to know how they work.

~marten-de-vries: Currently, we're thinking about these sources for spell checking:
- Use libraries that access the OS spell checker / the most popular spell checker for the OS.
- Use dictionaries from other programs (Firefox, LibreOffice)
- Use online services, like Google Spell Check. (not the same as google translate)

We'll implement as many options as possible. (ODS-3x decision.)
__________________________________________________________________________________________________________________
Technical example of online API:
marten@marten-pc:~$ curl https://www.google.com/tbproxy/spell -d "<?xml version='1.0' encoding='UTF-8' ?><spellrequest><text>blablla</text></spellrequest>" && echo ''
<?xml version="1.0" encoding="UTF-8"?><spellresult error="0" clipped="0" charschecked="7"><c o="0" l="7" s="1">blabla bilabial bluebell blabs Balboa balboa</c></spellresult>
marten@marten-pc:~$

--
Using enchant seems to work, and it's local making it fast. Bundling a few dicts is not necessary on linux (they are already installed) and is not too hard for Windows/Mac. There is already a languageGuesser module (based on the pycountry python module) inside the branch, which converts the words Deutsch, german and Duits all to 'de' language code, making re-using the question & answer language boxes possible. Nothing else started yet, though.

--
Infrastructure is now fully there. Adding the stuff to link it together should be pretty easy now.

--
Works fine for words now.

(?)

Work Items

Work items:
Build spelling checker: DONE
Make it possible to view wrongly spelled words in the words table view: DONE
Link those two together: DONE

This blueprint contains Public information 
Everyone can see this information.