Author Topic: Multi lingual spell checking in mutt  (Read 2278 times)

GrouchyGaijin

  • Posts: 16
    • View Profile
    • The Grouchy Gaijin's Thoughts on Music
Multi lingual spell checking in mutt
« on: February 05, 2013, 09:44:44 PM »
I started using mutt a few days ago and found that I missed the ability of spell checking in both Swedish and English.
There are several ways to solve this problem, so you might know one that is better / easier than the solution I use.

1. You could just set an editor like abiword to be the mail editor in mutt.  In the .muttrc file add
Code: [Select]
set editor="abiword"I didn't want to do this, because after all, mutt runs in the terminal and using abiword (or whatever gui text editor) seems to violate the spirit of the thing.  ;)

2. You could use vim as the editor.  I had already managed to get vim to spell check Swedish and English, so that would be the obvious choice, right?  (Shhhh I don't like vim at all - I keep forgetting the key combinations to do things, not to mention to hit the escape key before I try to move to a misspelled word.)

3. I wanted to use nano.  Why, because it is easy and runs in the terminal.

The problem is that nano comes with a terrible spell check that only tells you which words it doesn't know.  If I knew how to spell them, would they be wrong?  Aspell on the other hand, offers useful suggestions.  I wanted to use Aspell.

The problem is that Aspell didn't like loading the en_US and sv_SE dictionaries together.  I tried making a custom dictionary and that worked OK, except not in mutt.  In mutt, I'd get a spell check abnormal failure.

Then I found this bash script that let's me choose which dictionary I want to load after I invoke the spell check command.

Code: [Select]
#!/bin/bash
read -p "Aspell: Select language: (US) SV" -s -n 1
case $REPLY in 
2|[Sv]) opts=( -l sv_SE.UTF-8 ) ;;
*) opts=( -l en_US.UTF-8 ) ;;
esac
exec aspell ${opts[@]} -e -c $1


Next I edited the nanorc file which on my system is at
Code: [Select]
/etc/nanorcI changed the set speller setting to point to the script
Code: [Select]
set speller "/path/to/the/script/alpine_aspell"
Now when I hit the spell check command in nano (which my mutt uses) I get a choice: Press 1 for English or 2 for Swedish - and I'm good to go.

This worked for me.  I hope you find it useful.
Thank you,

GG

Sector11

  • Posts: 870
    • View Profile
Re: Multi lingual spell checking in mutt
« Reply #1 on: February 05, 2013, 10:11:36 PM »
Hey, nice stuff GG.  I'll have to try that with English - Spanish

Thanks for this.
Stay Home

GrouchyGaijin

  • Posts: 16
    • View Profile
    • The Grouchy Gaijin's Thoughts on Music
Re: Multi lingual spell checking in mutt
« Reply #2 on: February 05, 2013, 10:16:03 PM »
Hey, nice stuff GG.  I'll have to try that with English - Spanish

Thanks for this.

If you'd like to continue this email in English, press 1... :D
Thank you,

GG

Sector11

  • Posts: 870
    • View Profile
Re: Multi lingual spell checking in mutt
« Reply #3 on: February 05, 2013, 10:23:56 PM »
[1] ... y ┬┐ahora?
Stay Home

dizzie

  • DEFCON 1
  • Posts: 729
  • Bastard Operator From Hell
    • View Profile
Re: Multi lingual spell checking in mutt
« Reply #4 on: February 05, 2013, 10:42:34 PM »
mutt, how to use email like a boss!
Well done GG  8)
Reclaim your culture, it's within your reach!

My Blog | Facebook | Twitter | G+ | VSIDO |