about:addons (and other UI) displays in English when profile is set to a different language
Categories
(Toolkit :: Add-ons Manager, defect, P3)
Tracking
()
People
(Reporter: groovecoder, Unassigned)
References
Details
(Keywords: regression)
Attachments
(1 file)
527.13 KB,
video/ogg
|
Details |
Steps to reproduce:
- Create a new profile
- Switch that profile to German (https://support.mozilla.org/en-US/kb/use-firefox-another-language?redirectlocale=en-US&redirectslug=use-firefox-interface-other-languages-language-pack#w_switch-firefox-to-another-language)
- Use web-ext run to run an add-on with that profile
Expected results:
about:addons should display with German strings
Actual results:
about:addons displays with English strings
Also, when I open a new window in the web-ext run session, the 2nd window's menus display in English.
Comment 1•5 years ago
|
||
Looks like this is a bug in web-ext, I've moved it to https://github.com/mozilla/web-ext/issues/1498. Marking this as invalid cause I can't think of anything better.
Comment 2•5 years ago
•
|
||
This is not a bug in web-ext
, but in Firefox. The bug is triggered by web-ext run -p
because the -p
flag of web-ext run
copies the profile directory, and apparently the UI language unexpectedly changes under the following circumstances:
- Profile directory is copied/moved elsewhere.
- The timestamp of the langpack xpi is changed.
- Firefox is started with this profile.
Reproduced on Linux, Firefox Release 64.0, Firefox Beta (66.0b4), Firefox Nightly (67.0a1 buildID 20190205215922 ).
Not reproducible on Firefox 63.0
STR without web-ext
:
- Create a new directory, e.g.
/tmp/profdir
- Start Firefox (Firefox :
firefox --no-remote -profile /tmp/profdir
- Install a langpack.
- If using Release or Beta (version 65 and up):
- Visit
about:preferences
, go to the Languages panel and add a language. More details: https://support.mozilla.org/en-US/kb/use-firefox-another-language#w_how-to-manage-language-packs
- Visit
- If using Nightly (version 65 and up):
- Visit
about:config
and setintl.multilingual.enabled
totrue
andextensions.langpacks.signatures.required
tofalse
. - Visit
about:support
to identify the version of Nightly. - Visit https://download-origin.cdn.mozilla.net/pub/firefox/nightly/ and download the langpack for your Nightly version, e.g. https://download-origin.cdn.mozilla.net/pub/firefox/nightly/2019/02/2019-02-05-21-59-22-mozilla-central-l10n/linux-x86_64/xpi/
- Visit
- If using Firefox 64 or earlier:
- Install a langpack from https://addons.mozilla.org/en-US/firefox/addon/nederlands-nl-language-pack/versions/ or the CDN (if using Nightly, set the
extensions.langpacks.signatures.required
pref tofalse
first). - Visit
about:config
and setintl.locale.requested
tonl
- Install a langpack from https://addons.mozilla.org/en-US/firefox/addon/nederlands-nl-language-pack/versions/ or the CDN (if using Nightly, set the
- If using Release or Beta (version 65 and up):
- Restart Firefox and quit Firefox.
- Copy the directory to a different location. Make sure that the timestamp of the langpack xpi in the profile directory is changed:
( or just copy without preserving attributes/timestamps:cp -ra /tmp/profdir /tmp/newdir touch /tmp/newdir/extensions/langpack-nl@firefox.mozilla.org.xpi
cp -r /tmp/profdir /tmp/newdir
) - Start Firefox with this new profile directory:
firefox --no-remote -profile /tmp/newdir about:config
(in relation with the bug report, using web-ext run
just automates step 5 and 6)
Expected:
- Language of UI should still be in Dutch.
Actual:
- Language of
about:config
(or any chrome page) has reverted to English.
The current UI (browser menus) are still in Dutch, but if a new window is opened all strings are in English.
-
Right after the interface is updated to the incorrect language, the following message appears in the global browser console:
addons.xpi WARN Add-on langpack-nl@firefox.mozilla.org is missing bootstrap method update
When I patch Firefox (67.0a1 buildID 20190205215922) and include a stack trace with this message, the stack trace is:
async*_install@resource://gre/modules/addons/XPIProvider.jsm:1874:13 async*update@resource://gre/modules/addons/XPIProvider.jsm:1953:12 async*applyStartupChange@resource://gre/modules/addons/XPIDatabase.jsm:2846:67 processFileChanges@resource://gre/modules/addons/XPIDatabase.jsm:2761:21 getNewSideloads@resource://gre/modules/addons/XPIProvider.jsm:2682:7 async*getNewSideloads@resource://gre/modules/AddonManager.jsm:2805:33 _checkForSideloaded@resource:///modules/ExtensionsUI.jsm:65:28 async*init@resource:///modules/ExtensionsUI.jsm:61:5 async*BG__onWindowsRestored@jar:file:///tmp/nigbin/browser/omni.ja!/components/nsBrowserGlue.js:1520:5 BG_observe@jar:file:///tmp/nigbin/browser/omni.ja!/components/nsBrowserGlue.js:723:9 async*initializeWindow@resource:///modules/sessionstore/SessionStore.jsm:1191:9 onBeforeBrowserWindowShown/<@resource:///modules/sessionstore/SessionStore.jsm:1343:9 promise callback*onBeforeBrowserWindowShown@resource:///modules/sessionstore/SessionStore.jsm:1328:5 ssi_observe@resource:///modules/sessionstore/SessionStore.jsm:772:9 onLoad@chrome://browser/content/browser.js:1378:5 EventHandlerNonNull*@chrome://browser/content/browser.xul:105:19
Comment 3•5 years ago
|
||
Slow-motion video (slowed down by 4x) of starting Firefox 67.0a1 (build 20190205215922 ) on Linux with web-ext run -f firefox-nightly -p /tmp/nigprof/ -u about:support
and quickly opening the JS console after startup with Ctrl-Shift-J.
From the video, it is apparent that the page is initially rendered as Dutch, but switches to English. Immediately after the updated translation, the console shows the following warning message:
addons.xpi WARN Add-on langpack-nl@firefox.mozilla.org is missing bootstrap method update
Comment 4•5 years ago
|
||
Note that after restarting Firefox, the UI is back at the expected language.
Updated•5 years ago
|
Comment 5•5 years ago
|
||
Isn't this a bug for Toolkit::Add-ons? I see that warning was added in bug 1461217, so kmag or aswan might know more.
Comment 6•5 years ago
|
||
The warning is not the cause of the error, but its occurrence could help with identifying the cause of the bug. It implies that Firefox treats the touched langpack xpi as a new install.
I retried again, and can also reproduce in 63. Previously I thought that the bug does not occur in 63, because about:config
was initially not changing language. If I reload about:config
in Firefox 63, then the language becomes bad again. This difference in perceived result is caused by the transition to Fluent for about:config
in bug 1486936.
To truly verify whether the bug occurs, have step 7 after step 6: Open another new window and check whether the UI (e.g. location bar) has the expected language.
With the updated reproduction step, I managed to reproduce
- Good: 61.0.1 20180705213349 with https://addons.mozilla.org/firefox/downloads/file/1005527/nederlands_nl_language_pack-61.0buildid20180704003137-fx.xpi
- Bad : 62.0 20180905135451 with https://addons.mozilla.org/firefox/downloads/file/1061310/nederlands_nl_language_pack-62.0buildid20180830143136-fx.xpi
I couldn't find pre-built language packs for Nightly versions of these on the CDN, so I was not able to bisect further with mozregression
. Given the bug and good/bad versions, this regression is likely caused by bug 1492459.
Comment 7•5 years ago
|
||
So the bug here is that localized profiles are not portable.
Test using Firefox Nightly 67.0a1 20190211092917 with https://download-origin.cdn.mozilla.net/pub/firefox/nightly/2019/02/2019-02-11-09-29-17-mozilla-central-l10n/linux-x86_64/xpi/firefox-67.0a1.nl.langpack.xpi
-
profile moved: language completely lost (uses English at startup).
After quitting Firefox and starting it again, the browser is completely unusable (yellow page with red<window id="main-window"
). -
profile copied with preserved timestamps: language kept.
Also works on repeated restarts.
Upon (re)moving the original profile directory, the browser UI looks very broken and is unusable (e.g. cannot navigate pages, menus are not working). Seems to use the expected language though, also on repeated restarts (which is of no use if the browser is unusable...). -
profile copied, xpi timestamp touched: expected language initially used, then reverts to English.
On restarts, the expected language is used. Even if the original profile is removed.
Updated•5 years ago
|
Comment 8•5 years ago
|
||
Comment 7 still reproducible on Firefox Nightly 71.0a1 buildID 20190908214439 with https://download-origin.cdn.mozilla.net/pub/firefox/nightly/2019/09/2019-09-08-21-44-39-mozilla-central-l10n/linux-x86_64/xpi/firefox-71.0a1.nl.langpack.xpi
Updated•3 years ago
|
Updated•11 months ago
|
Description
•