Closed Bug 1911887 Opened 2 months ago Closed 10 days ago

after upgrade, Thunderbird 128 has german language pack, but user interface is 80+% english (until restart)

Categories

(Thunderbird :: L10n, defect)

Thunderbird 115
defect

Tracking

(thunderbird_esr115 affected, thunderbird_esr128 affected, thunderbird130 affected)

RESOLVED FIXED
131 Branch
Tracking Status
thunderbird_esr115 --- affected
thunderbird_esr128 --- affected
thunderbird130 --- affected

People

(Reporter: stefan_matthaeus, Assigned: rjl)

References

(Blocks 1 open bug)

Details

(Whiteboard: [TM: 128.4.0])

Attachments

(2 files)

Attached image thunder.jpg

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0

Steps to reproduce:

Updated from latest Thunbderbird 115 to 128.

Actual results:

80% or more of the user interface in versiuon 128 is in english. I checked the language settings and the german language package is activated and is a version of 6th August 2024.

See attached screenshot, mostly english, some german.

Expected results:

User interface should be 100% german.

Moving to Thunderbird for investigation. As far as I can tell, Thunderbird is localized consistently at 100% in Pontoon.

Component: de / German → L10n
Product: Mozilla Localizations → Thunderbird

This is reproducible, and is related to the upgrade and use of a langpack vs the German build.

TL-DR - Try restarting Thunderbird a second time after updating to 128esr from 115.

STR:

  • Install en-US Thunderbird version 115.14.0
  • Install the DE langpack and restart with German lang
  • Note menus and such are in German
  • Open Help->About and update to 128.1.0esr
  • Restart Thunderbird when prompted

Expected:
Menus and UI are in German

Actual:
Many things are not translated

Workaround:
The OP mentions that the DE langpack is activated and is using a version from August 6 2024. This was the case during my testing as well. The actual version of the langpack should be 128.1.x.y for Thunderbird 128.1.0esr.
Assuming the langpack version is correct, restarting Thunderbird a second time should correct the untranslated strings.

Analysis:
The error log on the first restart after upgrading to 128 has entries stating that the langpack version is not compatible. My guess is that the langpack doesn't update to the 128 version until after Thunderbird starts up with the 115 version in place. Restarting a second time will load the 128 version of the langpack.

This may be working as designed; I'm not sure. I'll leave this open until I have a change to verify what Firefox does in this situation.

This may be working as designed; I'm not sure. I'll leave this open until I have a change to verify what Firefox does in this situation.

Firefox stages updates for language packs
https://bugzilla.mozilla.org/show_bug.cgi?id=1647443

Maybe Thunderbird it's missing the equivalent of the browser part of that patch?

Summary: Thunderbird 128 has german language pack, but user interface is 80+% english → after upgrade, Thunderbird 128 has german language pack, but user interface is 80+% english (until restart)
Version: unspecified → Thunderbird 128

Thanks Francesco!

A few things have changed since that Firefox bug.

  • AppUpdater.jsm was moved into toolkit, which Thunderbird uses. (Bug 1797888)
  • aboutDialog-appUpdater-legacy.js was removed. (Bug 1600864)
  • The preference to enable langpack updates is now set "true" for Firefox (Bug 1657718)

The preference is not set at all for Thunderbird. I will point out that langpacks were not uploaded to ATN as part of the Thunderbird release process until Thunderbird 116 (later uplifted to 115). Anyway, I suspect all that needs to be done is set the pref in all-thunderbird.js.

Assignee: nobody → rob
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Target Milestone: --- → 131 Branch

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/93424549ee9e
Enable langpack update staging when Thunderbird updates. r=mkmelin

Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Duplicate of this bug: 1914550

Re-open due to backout. This was causing test fails in
toolkit/mozapps/update/tests/unit_aus_update/disableBackgroundUpdatesNonBackgroundTask.js

See bug 1914404

Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Regressions: 1914404

The problem with that test failure AIUI is that the AddonManager is not being initialized for XPCShell tests.
Unexpected exception TypeError: can't access property "stageLangpacksForAppUpdate", AddonManagerInternal._getProviderByName(...) is undefined at resource://gre/modules/AddonManager.sys.mjs:4245

When I stepped through this process in the debugger with a full UI, _getProviderByName works just fine. I'm not sure what needs to happen for XPCShell tests to be happy.

John, I think you were looking into this?

Flags: needinfo?(john)
Version: Thunderbird 128 → Thunderbird 115

I did not want to open a new bug but in the latest ESR version 128.2.3 that is Estonian (et) build some context menu items and preferences are still in English. For example opening the context menu for any mail shows Threads (in English) text while it's sub options are correctly translated. Same with a few other options in the context menu.

Thunderbird has been restarted several times. Windows 11 23H2 with latest updates installed.
All available options have been set to Estonian. Windows itself is in English but with Estonian language pack installed and activated. Could it be that because of this some of those entries are in English?
It was not a problem in prior versions of Thunderbird.

I had another go at this. This seems to be a hint:

https://searchfox.org/mozilla-central/source/toolkit/mozapps/update/BackgroundTask_backgroundupdate.sys.mjs#358-366

  // The langpack updating mechanism expects the addons manager, but in background task mode, the
  // addons manager is not present.  Since we can't update langpacks from the background task
  // temporary profile, we disable the langpack updating mechanism entirely.  This relies on the
  // default profile being the only profile that schedules the OS-level background task and ensuring
  // the task is not scheduled when langpacks are present.  Non-default profiles that have langpacks
  // installed may experience the issues that motivated Bug 1647443.  If this turns out to be a
  // significant problem in the wild, we could store more information about profiles and their
  // active langpacks to disable background updates in more cases, maybe in per-installation prefs.
  Services.prefs.setBoolPref("app.update.langpack.enabled", false);

I run the offending test in Firefox and when I add

  console.log("======================== STATUS", Services.prefs.getBoolPref("app.update.langpack.enabled", null))

at the top, it prints false. And I also do not see the AddonManager trying to start (which is what fails for us).

If I run the test with the log and the applied patch in Thunderbird, it prints true

The current status is:

I keep digging.

Flags: needinfo?(john)

It is most probably due to the missing firefox-appdir entry here:
https://searchfox.org/mozilla-central/source/toolkit/mozapps/update/tests/unit_aus_update/xpcshell.toml#2-5

Compare with the many other tests, where it is present:
https://searchfox.org/mozilla-central/search?q=firefox-appdir+%3D+%22browser%22&path=toolkit&case=false&regexp=false

If I add that line to unit_aus_update/xpcshell.toml, then app.update.langpack.enabled is set for Firefox as well and the test fails like it fails for Thunderbird. For whatever reason, Thunderbird behaves differently in xpcshell tests and always loads its prefs, while Firefox loads them only if the firefox-appdir = "browser" line is present. I did not find anything related in the codebase.

I think it is not fruitful to invest more time into this. My suggestion is to ask m-c- to set the pref here:
https://searchfox.org/mozilla-central/source/toolkit/mozapps/update/tests/unit_aus_update/xpcshell.toml#5

If I change that line to

prefs = ["app.update.staging.enabled=false", "app.update.langpack.enabled=false"]

then the test passes for Thunderbird.

Good old bug 1168178...

See Also: → 1168178
See Also: → 1921412
Depends on: 1921412

Pushed by toby@thunderbird.net:
https://hg.mozilla.org/comm-central/rev/3adfc179c8cb
Enable langpack update staging when Thunderbird updates. r=mkmelin

Status: REOPENED → RESOLVED
Closed: 2 months ago10 days ago
Resolution: --- → FIXED
See Also: 1921412

Thanks John (and everyone else!)

Corey - Can we try to get the dependency bug 1921412 uplifted to mozilla-esr128 so we can fix this on comm-esr128 as well?

Flags: needinfo?(corey)

Rob, RyanVM has since marked bug 1921412 fixed for 128.

Flags: needinfo?(corey) → needinfo?(rob)

Comment on attachment 9420015 [details]
Bug 1911887 - Enable langpack update staging when Thunderbird updates. r=#thunderbird-reviewers

[Approval Request Comment]
Regression caused by (bug #): N/A
User impact if declined: langpack users will see untranslated strings first startup after update.
Testing completed (on c-c, etc.): beta testing wouldnt hurt. langpacks should show the current version after thunderbird update. currently they show that a restart is needed
Risk to taking this patch (and alternatives if risky):
low risk, this activates shared updater/addon code that's been in use on firefox for some time

Flags: needinfo?(rob)
Attachment #9420015 - Flags: approval-comm-esr128?
Attachment #9420015 - Flags: approval-comm-beta?
Whiteboard: [TM: 128.4.0]

Comment on attachment 9420015 [details]
Bug 1911887 - Enable langpack update staging when Thunderbird updates. r=#thunderbird-reviewers

[Triage Comment]
Approved for beta

Attachment #9420015 - Flags: approval-comm-beta? → approval-comm-beta+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: