How do I make Firefox spellcheck in multiple languages simultaneously?

I use French and English in almost all of my emails and this is a nightmare.

There is a (quite simple) solution, but you need to hack one of your dictionaries: copy-paste the content of e.g. your English dictionary into your French one; it works! As simple as that!

This is how I solved this issue on Mac OS X:

  1. Go to /Users/HERE_YOUR_USER/Library/Application Support/Firefox/Profiles (use Cmd-Shift-G if your Library folder is hidden), and select your profile folder (mine was default.uo0) and the extensions folder.

  2. You will see folders for each of your dictionaries ([email protected] and [email protected] in my case). In each main folder, a dictionaries folder.

  3. Copy the content of the .aff and .dic of one of your dictionaries into the .aff and .dic file of the other. Don't copy the first line in the .dic file; it's the word count!

Warning: in the .dic file, update the word count on the first line. It must be the number of lines of the file minus 1 (the first which is the word count).

  1. Restart Firefox! And now, vous pouvez taper en français et in English in the same text area!

Unfortunately, I don't believe there is an easy solution to this. I use two different languages on a daily basis and the best (not ideal) solution is a combination of multiple dictionaries and an add on such as:

Dictionary Switcher or Quick Locale Switcher

Both of which present their own problems.

Another, less than ideal solution, is:

ImTranslator

Whilst it is a translator, it also supports multilingual spell checking.


Thanks François; this was inspiring. The corresponding solution in Ubuntu/Linux does the same for the hunspell. I wanted to combine my English dictionary with Hebrew, and I did this:

cd /usr/share/hunspell
sudo cp he.dic he.dic.bak
sudo cp he.aff he.aff.bak
sudo sh -c 'cat en_US.dic >> he.dic'
sudo sh -c 'cat en_US.aff >> he.aff'

(The sh -c is required since the append, >>, operation needs sudo privileges also). And of course fix the number of lines on the top of the .dic file like you said (count the lines using wc -l he.dic.