Closed Bug 728069 Opened 12 years ago Closed 9 years ago

Firefox should remember manual setting of spell checker language

Categories

(Core :: Spelling checker, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla43

People

(Reporter: andi, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: intl, regression)

Firefox selects spell checker language automatically, regarding the website language. But sometimes this is not, what the users wants. Imagine a german / french / ... user, using an english webmail service with english user interface: the user will set spell chexker language to his native language, manually.

But when revisiting the webseite (e.g. the webmail service) Firefox does not remember the manual seeting and auto-selects english, again.

This is annoying, because I have to select the right language over and over and over and over again. :-(


Even better: "Firefox selects the 'right' spell checker language automatically - depending on input text" (see bugs 676500, 616108, 69687, 481884).
Just for easier navigation: (see bug 676500, bug 616108, bug 69687, bug 481884)
I do have to agree with this bug and it's worse than that. I am using Nightly but with English (United Kingdom) also installed. Surely I should be able to say always use this language regardless of what language a website uses? 

I just visited a site with it's language set to en-US and so the spellchecker defaults to English (United States). So I'm typing away and it underlines centre as being incorrect. So I change the language back to English (United Kingdom) and carry on. I then click outside the textarea to grab a url and as soon as focus returns to the textarea the spellchecker reverts back to English (United States). The fact it cannot even remember my choice whilst I'm on the same page seems a little sloppy.
I can confirm this on Firefox Nightly.
Depends on: 682564
To add further information. I'm seeing this consistently with Yahoo Mail, it simply doesn't remember that I'm changing it to en-GB.
Status: UNCONFIRMED → NEW
Component: General → Spelling checker
Ever confirmed: true
Product: Firefox → Core
Version: 10 Branch → Trunk
Marking as a regression per bug 682564.
Keywords: regression
Severity: enhancement → normal
I just had the problem start up when I upgraded from 20 to 21 on Gentoo.  No idea if it might have been present before but the circumstances didn't trigger it for whatever reason.  In my case, I have Spanish and English dictionaries installed.  My preferred language setting is en-US,en,es, and my spell-check dictionary is set to en-US, but occasionally boxes will randomly switch to es-CU (the first one in the list).  Oddly, this appears to happen most reliably on pages that specify an html lang="en" attribute; the comment boxes on fark.com will trigger it frequently.
I also just got the Problem when updating from 21 to 22 and it is pretty annoying.
I use an en-us firefox with some websites in german and english and have en-es and de-de dictionaries installed. Every time I close firefox the default spell checking language is en-us, i have constantly change it manually to german. In every firefox release before this was not the case. It remembered my last choice just fine.
If this bug is a regression from bug 682564, why is is not blocking bug 682564?   Or, is this bug just unfinished business?

Also, how is this bug different from bug 717433?

Other citations  bug 932925, bug 858666, bug 853970

(seems to me we have too many open bugs on this)
Flags: needinfo?(gijskruitbosch+bugs)
Keywords: intl
(In reply to Wayne Mery (:wsmwk) from comment #8)
> If this bug is a regression from bug 682564, why is is not blocking bug
> 682564?   Or, is this bug just unfinished business?

It's not a regression from bug 682564; that bug (apparently) was meant to have fixed this, and clearly it hasn't.


> Also, how is this bug different from bug 717433?
> 
> Other citations  bug 932925, bug 858666, bug 853970
> 
> (seems to me we have too many open bugs on this)

I don't know. Feel free to dupe as you think is appropriate. I'm not actually at home in this code/module at all.
Flags: needinfo?(gijskruitbosch+bugs)
For me, the problem is that I repeatedly set "English (United States)" as my spell checker language, and Firefox repeatedly reverts to "English (Canada)" or "English (United Kingdom)" and I have to set it again. Incredibly annoying.
I think it's a regression from bug 678842

The change there stores per-site dictionary preferences, but doesn't take into account that the fallback pref gets set. The fallback pref will get used later on, on a different site that doesn't have a per-site dictionary entry (yet), if I read the code correctly.

So, it seems setting the spellchecker.dictionary pref in nsEditorSpellCheck::SetCurrentDictionary is the wrong thing to do, since it will override the dictionary for sites that do not have a dictionary set per-site with the site pref of the *last visited* site that *does* have it. This possibly also gets set by sites specifically indicating @lang or setting the language otherwise, overriding a manual selection.
Combine it with the removal of the check if it was set manually, and you'll have seemingly random switches of dictionary when people switch tabs.
At the end of the day it shouldn't matter what language the site is set to use. Firefox should use the dictionary language the user has chosen. I speak British English and it doesn't matter if I go to a French site, a Russian site or an Simplified English site (aka American English) it should always use my chosen dictionary since that's the language I speak.
Perhaps it would serve to add a pref to disable automatic (context/content-based) dictionary switching? bool spellchecker.dictionary.automatic or similar?
(In reply to Mark Straver from comment #13)
> Perhaps it would serve to add a pref to disable automatic
> (context/content-based) dictionary switching? bool
> spellchecker.dictionary.automatic or similar?

Makes sense. Would be best to have it set to false by default to false then anyone who is bilingual can change it to work for them.
See Also: → 1058725
I echo  Jonathan Kamens above but with different detail - My spelling checker gets constantly set to cuban spanish, even though I do not speak spanish and I am not visiting any Cuban sites. I am joining you from another but because I did not know about this one.
Depends on: 959785
Firefox should respect @lang attribute of element and parent elements unless explicitly overridden by the user.

Whatever you do, please do not alter this core behavior (even if it's currently bugged).

Example:

<html lang="it">
…
<div lang="fr">
<div lang="en">
<textarea>
The textarea is in English.

That been said, Firefox _could_ remember that its user specifically overrode the spellchecker for a specific website. Not sure if this should be in core or in Extensions.

But please whatever you do, do not alter the core default behavior: Firefox should respect lang attribute of an element (and its parents) by default unless explicitly overrode by user.
(In reply to Mark Straver from comment #13)
> Perhaps it would serve to add a pref to disable automatic
> (context/content-based) dictionary switching? bool
> spellchecker.dictionary.automatic or similar?

See bug 1073840.

(In reply to Jérémie Bouillon from comment #17)
> Firefox should respect @lang attribute of element and parent elements unless
> explicitly overridden by the user.

That's the problem - at the moment there's no way for the user to permanently override this behaviour, whether for a specific website or at a user profile level.
Depends on: 1200533
Closing this bug as per bug 1073827, comment #33.
If you want to reopen it, please present a reproducible test case.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla43
You need to log in before you can comment on or make changes to this bug.