I have a workaround that works for me, but it involves modifying system myspell libraries.
On Ubuntu, this solution appears to work: Askubuntu.com: How can I change Firefox's default dictionary
But somebody may not be using Ubuntu, like myself. I'm using Gentoo, and at this time, all the en_*
variations are part of the same package, app-dicts/myspell-en
So my solution is to just delete the ones I've no use for:
cd /usr/share/myspell
ls -lah
total 25M
drwxr-xr-x 2 root root 4.0K Apr 17 11:25 .
drwxr-xr-x 438 root root 16K Apr 12 19:27 ..
-rw-r--r-- 1 root root 306 Apr 17 11:25 dictionary.lst.en
-rw-r--r-- 1 root root 37K Apr 17 11:25 en_AU.aff
-rw-r--r-- 1 root root 552K Apr 17 11:25 en_AU.dic
-rw-r--r-- 1 root root 1.8K Apr 17 11:25 en_CA.aff
-rw-r--r-- 1 root root 683K Apr 17 11:25 en_CA.dic
-rw-r--r-- 1 root root 27K Apr 17 11:25 en_GB-oed.aff
-rw-r--r-- 1 root root 513K Apr 17 11:25 en_GB-oed.dic
-rw-r--r-- 1 root root 27K Apr 17 11:25 en_GB.aff
-rw-r--r-- 1 root root 515K Apr 17 11:25 en_GB.dic
-rw-r--r-- 1 root root 28K Apr 17 11:25 en_NZ.aff
-rw-r--r-- 1 root root 524K Apr 17 11:25 en_NZ.dic
-rw-r--r-- 1 root root 3.0K Apr 17 11:25 en_US.aff
-rw-r--r-- 1 root root 680K Apr 17 11:25 en_US.dic
-rw-r--r-- 1 root root 27K Apr 17 11:25 en_ZA.aff
-rw-r--r-- 1 root root 577K Apr 17 11:25 en_ZA.dic
-rw-r--r-- 1 root root 78K Apr 17 11:25 hyph_en_GB.dic
-rw-r--r-- 1 root root 18M Apr 17 11:25 th_en_US_v2.dat
-rw-r--r-- 1 root root 3.0M Apr 17 11:25 th_en_US_v2.idx
rm en_AU.*
rm en_CA*
rm en_ZA*
ls -lah
total 23M
drwxr-xr-x 2 root root 4.0K Apr 17 11:31 .
drwxr-xr-x 438 root root 16K Apr 12 19:27 ..
-rw-r--r-- 1 root root 306 Apr 17 11:25 dictionary.lst.en
-rw-r--r-- 1 root root 27K Apr 17 11:25 en_GB-oed.aff
-rw-r--r-- 1 root root 513K Apr 17 11:25 en_GB-oed.dic
-rw-r--r-- 1 root root 27K Apr 17 11:25 en_GB.aff
-rw-r--r-- 1 root root 515K Apr 17 11:25 en_GB.dic
-rw-r--r-- 1 root root 28K Apr 17 11:25 en_NZ.aff
-rw-r--r-- 1 root root 524K Apr 17 11:25 en_NZ.dic
-rw-r--r-- 1 root root 3.0K Apr 17 11:25 en_US.aff
-rw-r--r-- 1 root root 680K Apr 17 11:25 en_US.dic
-rw-r--r-- 1 root root 78K Apr 17 11:25 hyph_en_GB.dic
-rw-r--r-- 1 root root 18M Apr 17 11:25 th_en_US_v2.dat
-rw-r--r-- 1 root root 3.0M Apr 17 11:25 th_en_US_v2.idx
And then remove the unwanted lines from dictionary.lst.en
Note: No ZA/CA/AU
# Autogenerated by app-dicts/myspell-en-20081002
DICT en GB en_GB
DICT en US en_US
DICT en NZ en_NZ
DICT en GB en_GB-oed
HYPH en US hyph_en_GB
HYPH en GB hyph_en_GB
THES en US th_en_US_v2
THES en GB th_en_US_v2
And after doing that and restarting Firefox, my menu is as follows:
And this is adequate for me, gives me the language default I want, but the others are still there if I desperately need them.
(Though I've still to work out what governs the sort order, if I could work that out I could just rig the default to come first.)
locale
, Ubuntu knows that I'm in the U.S. And I've never had any other location-based issues (i.e. time zones, etc.) It's only ever been a problem with the FF spellchecker. And yes, it happens with new FF profiles as well.