--- firefox-68.1.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm.orig 2019-08-26 12:52:35.000000000 -0400 +++ firefox-68.1.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm 2019-09-03 22:01:10.036786254 -0400 @@ -2452,6 +2452,11 @@ var XPIProvider = { logger.error("private browsing migration failed", e); } + // Save locale settings to compare it later to check whenever some addon + // changed it. + var previousLocale = Cc["@mozilla.org/chrome/chrome-registry;1"] + .getService(Ci.nsIXULChromeRegistry).getSelectedLocale("global"); + try { AddonManagerPrivate.recordTimestamp("XPI_bootstrap_addons_begin"); @@ -2500,6 +2505,14 @@ var XPIProvider = { ); } + var currentLocale = Cc["@mozilla.org/chrome/chrome-registry;1"] + .getService(Ci.nsIXULChromeRegistry).getSelectedLocale("global"); + if (currentLocale != previousLocale) { + // We have to flush string cache if the locale was changed during loading + // of addons + Services.obs.notifyObservers(null, "chrome-flush-caches", null); + } + // Let these shutdown a little earlier when they still have access to most // of XPCOM AsyncShutdown.quitApplicationGranted.addBlocker(