Firefox resets language to English on every update (Kinoite)

Hello everyone,

on one of my Kinoite installations, Firefox resets the language to English after every (most?) updates. I’m using the Firefox build provided by Kinoite.

After the update and subsequent reset, I always have to go to Settings > Language > Alternative Language, open the dropdown, wait for additional languages to load and select my preferred language (German).

One, maybe a bit unusual, setting I have made is setting English as the preferred language for websites. Actually, settings are synced via Firefox Sync, so they should be the same across other Firefox installations, some also on Kinoite, which don’t show this issue.

My locale settings look fine:

$ locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=
$ localectl
System Locale: LANG=de_DE.UTF-8
    VC Keymap: de-nodeadkeys
   X11 Layout: de
    X11 Model: pc105
  X11 Variant: nodeadkeys

Do you have any ideas on what I could try to narrow this down?

Interesting. After the update the profile remains the same, and just the language gets switched? You can start Firefox from the CLI with firefox --ProfileManager, to check which profile is loaded as default.

What you’re experiencing could also be related to preference overrides, see this post for details.

Thanks!

But this looks OK to me. The profile manager shows a single profile (default-release) that is configured to be automatically used.

  • /usr/lib64/firefox/browser/defaults/preferences contains the redhat defaults (no language set as far as I can see)
  • /etc/firefox/pref doesn’t contain any files
  • /home/user/.mozilla/firefox/tx6w4c7j.default-release/prefs.js seems to contain my personal settings. However I’m not sure what to look for here, the file contains >400 lines.

Maybe this is unusual..?:

$ grep lang prefs.js
user_pref("browser.uiCustomization.horizontalTabsBackup", "[... this is long and contains 'languagetool']")
user_pref("extensions.installedDistroAddon.langpack-de@firefox.mozilla.org", true);
user_pref("extensions.webextensions.ExtensionStorageIDB.migrated.languagetool-webextension@languagetool.org", true);
user_pref("extensions.webextensions.uuids", ""[... this is long and contains 'languagetool']");
user_pref("intl.accept_languages", "en,en-us,de-de");
user_pref("pref.browser.language.disable_button.down", false);
user_pref("pref.browser.language.disable_button.up", false);
user_pref("services.settings.main.language-dictionaries.last_check", 1755775546);
user_pref("services.sync.prefs.sync-seen.intl.accept_languages", true);

It doesn’t seem to contain an explicit language setting, is this correct?

edit: I found this:

$ grep intl prefs.js
user_pref("intl.accept_languages", "en,en-us,de-de");
user_pref("intl.regional_prefs.use_os_locales", true);
user_pref("services.sync.prefs.sync-seen.intl.accept_languages", true);
user_pref("services.sync.prefs.sync-seen.intl.regional_prefs.use_os_locales", true);

Maybe directly setting the locale directly instead of relying on use_os_locales could help? How would I go about that?

Maybe setting the boolean value of that param to false in about:config or in the user.js file would do it.

FWIW, I am also on Fedora Atomic (Silverblue), but I’ve hidden the Firefox RPM from the base install, and using the Flatpak version from Flathub instead (for performance improvements and easier multimedia codecs access). I wonder if you’d experience with Firefox Flatpak a similar behavior. If you’re going that route, be informed that there are some opinions about reduced security with Flatpak browsers because of sandboxing limitations upon the browser’s own sandboxing features.

That’s what I’ll try. I also found out about intl.locale.requested and set this to de. Unfortunately I haven’t found any advice on the expected format, so I hope de will do the job.

I used the Flatpak version in the past but stopped when there was another occasion I needed the additional codec packages for. At that point, I didn’t see the point to miss out on the sandboxing features anymore. I don’t remember the Flatpak version ever changing the display language by itself. This also doesn’t happen with Fedora’s Firefox on my other Kinoite machines though, so I guess it’s hard to say whether Fedora packaging has something to do with it.

I’ll report back on the next major update if manually setting the locale helped. Thanks again!

1 Like

I have the same problem on Fedora Silverblue - every Firefox update (along with firefox-langpacks) resets the application language to English

@ratatosk Setting use_os_locales to false and intl.locale.requested worked for me (somewhat). Firefox still uses some English captions from time to time (e.g. the first tab opened after starting Firefox is always titled “New Tab”, new tabs are “Neuer Tab” as expected), but I also see this behavior on my other Kinoite systems.

I didn’t experience a full reset of the display language since my last reply, however.

There are three parameters in about:config:

  • intl.regional_prefs.use_os_locales
  • services.sync.prefs.sync-seen.intl.regional_prefs.use_os_locales
  • services.sync.prefs.sync.intl.regional_prefs.use_os_locales

I’ll disable them all and specify intl.locale.requested. I’ll keep an eye on things.

I tested it on a clean OS in a virtual machine – the language settings weren’t reset after installing updates. It’s possible this is due to using a Firefox account and having sync enabled.