diff --git a/.cargo/config.toml.in b/.cargo/config.toml.in
index b8aaac59b7d604d3fe9696124872178220b00d79..4b320cf6421062a4bd951048ce3f180f8bf22cba 100644
--- a/.cargo/config.toml.in
+++ b/.cargo/config.toml.in
@@ -60,9 +60,9 @@ git = "https://github.com/mozilla-spidermonkey/jsparagus"
 rev = "61f399c53a641ebd3077c1f39f054f6d396a633c"
 replace-with = "vendored-sources"
 
-[source."git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a"]
+[source."git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"]
 git = "https://github.com/mozilla/application-services"
-rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 replace-with = "vendored-sources"
 
 [source."git+https://github.com/mozilla/audioipc?rev=3495905752a4263827f5d43737f9ca3ed0243ce0"]
@@ -70,9 +70,9 @@ git = "https://github.com/mozilla/audioipc"
 rev = "3495905752a4263827f5d43737f9ca3ed0243ce0"
 replace-with = "vendored-sources"
 
-[source."git+https://github.com/mozilla/cubeb-coreaudio-rs?rev=b5dc6e24314babd629118add364bce46f791b4db"]
+[source."git+https://github.com/mozilla/cubeb-coreaudio-rs?rev=8bce3b333a920999055397a397e59c2b81a93b9a"]
 git = "https://github.com/mozilla/cubeb-coreaudio-rs"
-rev = "b5dc6e24314babd629118add364bce46f791b4db"
+rev = "8bce3b333a920999055397a397e59c2b81a93b9a"
 replace-with = "vendored-sources"
 
 [source."git+https://github.com/mozilla/cubeb-pulse-rs?rev=8678dcab1c287de79c4c184ccc2e065bc62b70e2"]
diff --git a/CLOBBER b/CLOBBER
index cf83073f035ec01330d9926693fe8d3ab0234627..83ea1210ad57755494e4911ca9b58c6e67903501 100644
--- a/CLOBBER
+++ b/CLOBBER
@@ -22,4 +22,4 @@
 # changes to stick? As of bug 928195, this shouldn't be necessary! Please
 # don't change CLOBBER for WebIDL changes any more.
 
-Merge day clobber 2024-06-10
\ No newline at end of file
+Merge day clobber 2024-07-01
\ No newline at end of file
diff --git a/Cargo.lock b/Cargo.lock
index 033486f76e5aae85dba870446c3fbbaab7f52ac0..409b94693d5807b56c855837b03bc6441adb7c9d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -934,7 +934,7 @@ dependencies = [
 [[package]]
 name = "coreaudio-sys-utils"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/cubeb-coreaudio-rs?rev=b5dc6e24314babd629118add364bce46f791b4db#b5dc6e24314babd629118add364bce46f791b4db"
+source = "git+https://github.com/mozilla/cubeb-coreaudio-rs?rev=8bce3b333a920999055397a397e59c2b81a93b9a#8bce3b333a920999055397a397e59c2b81a93b9a"
 dependencies = [
  "core-foundation-sys",
  "coreaudio-sys",
@@ -1182,7 +1182,7 @@ dependencies = [
 [[package]]
 name = "cubeb-coreaudio"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/cubeb-coreaudio-rs?rev=b5dc6e24314babd629118add364bce46f791b4db#b5dc6e24314babd629118add364bce46f791b4db"
+source = "git+https://github.com/mozilla/cubeb-coreaudio-rs?rev=8bce3b333a920999055397a397e59c2b81a93b9a#8bce3b333a920999055397a397e59c2b81a93b9a"
 dependencies = [
  "atomic",
  "audio-mixer",
@@ -1190,7 +1190,6 @@ dependencies = [
  "coreaudio-sys-utils",
  "cubeb-backend",
  "float-cmp",
- "lazy_static",
  "libc",
  "mach",
  "ringbuf",
@@ -1699,7 +1698,7 @@ dependencies = [
 [[package]]
 name = "error-support"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "error-support-macros",
  "lazy_static",
@@ -1711,7 +1710,7 @@ dependencies = [
 [[package]]
 name = "error-support-macros"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2967,7 +2966,7 @@ dependencies = [
 [[package]]
 name = "interrupt-support"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "lazy_static",
  "parking_lot",
@@ -4158,7 +4157,7 @@ dependencies = [
 [[package]]
 name = "nss_build_common"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 
 [[package]]
 name = "nsstring"
@@ -4838,7 +4837,7 @@ checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
 [[package]]
 name = "relevancy"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "anyhow",
  "base64 0.21.3",
@@ -4861,7 +4860,7 @@ dependencies = [
 [[package]]
 name = "remote_settings"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "parking_lot",
  "serde",
@@ -5396,7 +5395,7 @@ dependencies = [
 [[package]]
 name = "sql-support"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "ffi-support",
  "interrupt-support",
@@ -5578,7 +5577,7 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
 [[package]]
 name = "suggest"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "anyhow",
  "chrono",
@@ -5627,7 +5626,7 @@ dependencies = [
 [[package]]
 name = "sync-guid"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "base64 0.21.3",
  "rand",
@@ -5638,7 +5637,7 @@ dependencies = [
 [[package]]
 name = "sync15"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "anyhow",
  "error-support",
@@ -5669,7 +5668,7 @@ dependencies = [
 [[package]]
 name = "tabs"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "anyhow",
  "error-support",
@@ -6005,7 +6004,7 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
 [[package]]
 name = "types"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "rusqlite",
  "serde",
@@ -6382,7 +6381,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 [[package]]
 name = "viaduct"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "ffi-support",
  "log",
@@ -6530,7 +6529,7 @@ dependencies = [
 [[package]]
 name = "webext-storage"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "anyhow",
  "error-support",
diff --git a/Cargo.toml b/Cargo.toml
index de45b8f9eea917cd806fd345110866f1fb344845..bfca80a98b4378cd1480060ab6da61d8e78d4035 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -221,14 +221,14 @@ warp = { git = "https://github.com/seanmonstar/warp", rev = "9d081461ae1167eb321
 malloc_size_of_derive = { path = "xpcom/rust/malloc_size_of_derive" }
 
 # application-services overrides to make updating them all simpler.
-interrupt-support = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
-relevancy = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
-sql-support = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
-suggest = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
-sync15 = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
-tabs = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
-viaduct = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
-webext-storage = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
+interrupt-support = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
+relevancy = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
+sql-support = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
+suggest = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
+sync15 = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
+tabs = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
+viaduct = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
+webext-storage = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
 
 # Patch mio 0.8.8 to use windows-sys 0.52 (backport https://github.com/tokio-rs/mio/commit/eea9e3e0c469480e5c59c01e6c3c7e5fd88f0848)
 mio_0_8 = { package = "mio", git = "https://github.com/glandium/mio", rev = "9a2ef335c366044ffe73b1c4acabe50a1daefe05" }
diff --git a/accessible/base/TextLeafRange.cpp b/accessible/base/TextLeafRange.cpp
index a1cbbd76399550f0bab54cc6a253479cefecb6f6..b790af364c785043ee2733831643bbe83b79cf8e 100644
--- a/accessible/base/TextLeafRange.cpp
+++ b/accessible/base/TextLeafRange.cpp
@@ -1049,7 +1049,8 @@ TextLeafPoint TextLeafPoint::FindBoundary(AccessibleTextBoundary aBoundaryType,
                                           nsDirection aDirection,
                                           BoundaryFlags aFlags) const {
   if (IsCaret()) {
-    if (aBoundaryType == nsIAccessibleText::BOUNDARY_CHAR) {
+    if (aBoundaryType == nsIAccessibleText::BOUNDARY_CHAR ||
+        aBoundaryType == nsIAccessibleText::BOUNDARY_CLUSTER) {
       if (IsCaretAtEndOfLine()) {
         // The caret is at the end of the line. Return no character.
         return ActualizeCaret(/* aAdjustAtEndOfLine */ false);
diff --git a/accessible/tests/browser/text/browser_text_caret.js b/accessible/tests/browser/text/browser_text_caret.js
index e0cea334d68468f490d7f89eaa7eb3dec4ef09c8..29d7ede33295ed75376e73d8282cb5e05f7d4e21 100644
--- a/accessible/tests/browser/text/browser_text_caret.js
+++ b/accessible/tests/browser/text/browser_text_caret.js
@@ -278,6 +278,17 @@ addAccessibleTask(
       kOk,
       kOk
     );
+    testTextAtOffset(
+      kCaretOffset,
+      BOUNDARY_CLUSTER,
+      "",
+      6,
+      6,
+      textarea,
+      kOk,
+      kOk,
+      kOk
+    );
     testTextAtOffset(
       kCaretOffset,
       BOUNDARY_WORD_START,
diff --git a/accessible/tests/mochitest/text.js b/accessible/tests/mochitest/text.js
index 5fad7d5ebbb53079ac1d88a97ae2c4fa0efd3e60..f1bf661caeaa718cb653ba39ee83932f77ef819d 100644
--- a/accessible/tests/mochitest/text.js
+++ b/accessible/tests/mochitest/text.js
@@ -826,6 +826,8 @@ function boundaryToString(aBoundaryType) {
       return "line end";
     case BOUNDARY_PARAGRAPH:
       return "paragraph";
+    case BOUNDARY_CLUSTER:
+      return "cluster";
   }
   return "unknown";
 }
diff --git a/browser/components/aboutwelcome/actors/AboutWelcomeChild.sys.mjs b/browser/components/aboutwelcome/actors/AboutWelcomeChild.sys.mjs
index 23a3d41ee08af9e710ee6c3adab59156eb0659e4..39c6106e6ecd878d81dae3d56f2af1789536df5a 100644
--- a/browser/components/aboutwelcome/actors/AboutWelcomeChild.sys.mjs
+++ b/browser/components/aboutwelcome/actors/AboutWelcomeChild.sys.mjs
@@ -754,7 +754,7 @@ export class AboutWelcomeShoppingChild extends AboutWelcomeChild {
       lazy.pdpVisits >= MIN_VISITS_TO_SHOW_SURVEY &&
       hasBeen24HrsSinceOptin;
 
-    if (this.showMicroSurvey) {
+    if (this.showMicroSurvey && !this.showOnboarding) {
       this.renderMessage();
     }
   }
@@ -775,6 +775,7 @@ export class AboutWelcomeShoppingChild extends AboutWelcomeChild {
   handleEvent(event) {
     // Decide when to show/hide onboarding and survey message
     const { productUrl, showOnboarding, data } = event.detail;
+    this.showOnboarding = showOnboarding;
 
     // Display onboarding if a user hasn't opted-in
     const optInReady = showOnboarding && productUrl;
@@ -819,18 +820,24 @@ export class AboutWelcomeShoppingChild extends AboutWelcomeChild {
   }
 
   renderMessage() {
+    this.contentWindow.clearTimeout(this.thankYouFadeTimeout);
     this.document.getElementById("multi-stage-message-root").hidden = false;
     this.document.dispatchEvent(
-      new this.contentWindow.CustomEvent("RenderWelcome", {
-        bubbles: true,
-      })
+      new this.contentWindow.CustomEvent("RenderWelcome", { bubbles: true })
     );
   }
 
+  resetOnboardingContainer(root) {
+    root.innerHTML = "";
+    let newRoot = root.cloneNode(false);
+    root.replaceWith(newRoot);
+    return newRoot;
+  }
+
   // TODO - Move messages into an ASRouter message provider. See bug 1848251.
   AWGetFeatureConfig() {
     let messageContent = optInDynamicContent;
-    if (this.showMicroSurvey) {
+    if (this.showMicroSurvey && !this.showOnboarding) {
       messageContent = SHOPPING_MICROSURVEY;
       this.setShoppingSurveySeen();
     }
@@ -855,13 +862,15 @@ export class AboutWelcomeShoppingChild extends AboutWelcomeChild {
     if (this._destroyed) {
       return;
     }
-    const root = this.document.getElementById("multi-stage-message-root");
+    let root = this.document.getElementById("multi-stage-message-root");
     if (root) {
-      root.innerHTML = "";
+      root = this.resetOnboardingContainer(root);
       root
         .appendChild(this.document.createElement("shopping-message-bar"))
         .setAttribute("type", "thank-you-for-feedback");
-      this.contentWindow.setTimeout(() => {
+      this.contentWindow.clearTimeout(this.thankYouFadeTimeout);
+      this.thankYouFadeTimeout = this.contentWindow.setTimeout(() => {
+        root = this.resetOnboardingContainer(root);
         root.hidden = true;
       }, 5000);
     }
diff --git a/browser/components/newtab/content-src/components/WallpapersSection/WallpaperCategories.jsx b/browser/components/newtab/content-src/components/WallpapersSection/WallpaperCategories.jsx
index f1f21d4e2d830e46f525355f4643c52d588e686a..7dd1368fec4ec6e336f4867125d38ade93bfe008 100644
--- a/browser/components/newtab/content-src/components/WallpapersSection/WallpaperCategories.jsx
+++ b/browser/components/newtab/content-src/components/WallpapersSection/WallpaperCategories.jsx
@@ -59,7 +59,7 @@ export class _WallpaperCategories extends React.PureComponent {
       case "photographs":
         fluent_id = "newtab-wallpaper-category-title-photographs";
         break;
-      case "abstract":
+      case "abstracts":
         fluent_id = "newtab-wallpaper-category-title-abstract";
         break;
       case "solid-colors":
diff --git a/browser/components/newtab/data/content/activity-stream.bundle.js b/browser/components/newtab/data/content/activity-stream.bundle.js
index 2ff7245e2b05c922e77d21b992d60996ee5e34e8..b38355953c27936dc1a20635d7a0bf6be0e93bfd 100644
--- a/browser/components/newtab/data/content/activity-stream.bundle.js
+++ b/browser/components/newtab/data/content/activity-stream.bundle.js
@@ -9192,7 +9192,7 @@ class _WallpaperCategories extends (external_React_default()).PureComponent {
       case "photographs":
         fluent_id = "newtab-wallpaper-category-title-photographs";
         break;
-      case "abstract":
+      case "abstracts":
         fluent_id = "newtab-wallpaper-category-title-abstract";
         break;
       case "solid-colors":
diff --git a/browser/components/preferences/search.js b/browser/components/preferences/search.js
index dcfb2c9a6d655ef7f6fc3abe4da15f89be03c6f3..2b2824c77188f15fb79ab8a90a17eabf31377623 100644
--- a/browser/components/preferences/search.js
+++ b/browser/components/preferences/search.js
@@ -27,6 +27,7 @@ Preferences.addAll([
   { id: "browser.search.separatePrivateDefault.ui.enabled", type: "bool" },
   { id: "browser.urlbar.suggest.trending", type: "bool" },
   { id: "browser.urlbar.trending.featureGate", type: "bool" },
+  { id: "browser.urlbar.trending.enabledLocales", type: "string" },
   { id: "browser.urlbar.recentsearches.featureGate", type: "bool" },
   { id: "browser.urlbar.suggest.recentsearches", type: "bool" },
 ]);
@@ -283,8 +284,18 @@ var gSearchPane = {
     let trendingSupported = (
       await Services.search.getDefault()
     ).supportsResponseType(lazy.SearchUtils.URL_TYPE.TRENDING_JSON);
-    trendingBox.hidden = !Preferences.get("browser.urlbar.trending.featureGate")
-      .value;
+    let trendingEnabled = Preferences.get(
+      "browser.urlbar.trending.featureGate"
+    ).value;
+    let enabledLocales = Preferences.get(
+      "browser.urlbar.trending.enabledLocales"
+    ).value;
+    if (trendingEnabled && enabledLocales) {
+      trendingEnabled = enabledLocales.includes(
+        Services.locale.appLocaleAsBCP47
+      );
+    }
+    trendingBox.hidden = !trendingEnabled;
     trendingCheckBox.disabled = suggestDisabled || !trendingSupported;
   },
 
diff --git a/browser/components/shopping/content/onboarding.mjs b/browser/components/shopping/content/onboarding.mjs
index 68124c0253c33bf93a4345d8d917899339a430eb..a5d3c1a082a3786d19790e8427444866700dd816 100644
--- a/browser/components/shopping/content/onboarding.mjs
+++ b/browser/components/shopping/content/onboarding.mjs
@@ -8,9 +8,7 @@ const BUNDLE_SRC =
 class Onboarding {
   constructor({ win } = {}) {
     this.doc = win.document;
-    win.addEventListener("RenderWelcome", () => this._addScriptsAndRender(), {
-      once: true,
-    });
+    win.addEventListener("RenderWelcome", () => this._addScriptsAndRender());
   }
 
   async _addScriptsAndRender() {
diff --git a/browser/components/shopping/tests/browser/browser_shopping_survey.js b/browser/components/shopping/tests/browser/browser_shopping_survey.js
index aebe6e9dcf7eafeff1ca923f9e28c47a1463d1fd..33108816fdb9385c33a4f8805bc38058f00e1f6b 100644
--- a/browser/components/shopping/tests/browser/browser_shopping_survey.js
+++ b/browser/components/shopping/tests/browser/browser_shopping_survey.js
@@ -7,7 +7,7 @@ const currentTime = Date.now() / 1000;
 const time25HrsAgo = currentTime - 25 * 60 * 60;
 const time1HrAgo = currentTime - 1 * 60 * 60;
 
-add_task(async function test_setup() {
+add_setup(async function test_setup() {
   await BrowserTestUtils.withNewTab(
     {
       url: "about:shoppingsidebar",
@@ -300,6 +300,10 @@ add_task(async function test_confirmation_screen() {
 
           await shoppingContainer.updateComplete;
 
+          let childActor = content.windowGlobalChild.getExistingActor(
+            "AboutWelcomeShopping"
+          );
+
           let surveyScreen1 = await ContentTaskUtils.waitForCondition(
             () =>
               content.document.querySelector(
@@ -329,6 +333,111 @@ add_task(async function test_confirmation_screen() {
           );
 
           ok(confirmationScreen, "Survey confirmation screen is rendered");
+
+          childActor.resetChildStates();
+        }
+      );
+    }
+  );
+  await SpecialPowers.popPrefEnv();
+});
+
+add_task(async function test_onboarding_resets_after_opt_out() {
+  // Verify the fix for bug 1900486.
+  await SpecialPowers.pushPrefEnv({
+    set: [
+      ["browser.shopping.experience2023.optedIn", 1],
+      ["browser.shopping.experience2023.survey.enabled", true],
+      ["browser.shopping.experience2023.autoOpen.enabled", true],
+      ["browser.shopping.experience2023.survey.hasSeen", false],
+      ["browser.shopping.experience2023.survey.pdpVisits", 5],
+      ["browser.shopping.experience2023.survey.optedInTime", time25HrsAgo],
+    ],
+  });
+  await BrowserTestUtils.withNewTab(
+    {
+      url: "about:shoppingsidebar",
+      gBrowser,
+    },
+    async browser => {
+      await SpecialPowers.spawn(
+        browser,
+        [MOCK_ANALYZED_PRODUCT_RESPONSE],
+        async mockData => {
+          const { TestUtils } = ChromeUtils.importESModule(
+            "resource://testing-common/TestUtils.sys.mjs"
+          );
+          let surveyPrefChanged = TestUtils.waitForPrefChange(
+            "browser.shopping.experience2023.survey.hasSeen"
+          );
+          let shoppingContainer =
+            content.document.querySelector(
+              "shopping-container"
+            ).wrappedJSObject;
+          shoppingContainer.data = Cu.cloneInto(mockData, content);
+
+          // Manually send data update event, as it isn't set due to the lack of mock APIs.
+          // TODO: Support for the mocks will be added in Bug 1853474.
+          let mockObj = {
+            data: mockData,
+            productUrl: "https://example.com/product/1234",
+          };
+          let evt = new content.CustomEvent("Update", {
+            bubbles: true,
+            detail: Cu.cloneInto(mockObj, content),
+          });
+          content.document.dispatchEvent(evt);
+
+          await shoppingContainer.updateComplete;
+          await surveyPrefChanged;
+
+          let childActor = content.windowGlobalChild.getExistingActor(
+            "AboutWelcomeShopping"
+          );
+
+          ok(childActor.surveyEnabled, "Survey is Enabled");
+
+          let surveyScreen = await ContentTaskUtils.waitForCondition(
+            () =>
+              content.document.querySelector(
+                "shopping-container .screen.SHOPPING_MICROSURVEY_SCREEN_1"
+              ),
+            "survey-screen"
+          );
+
+          ok(surveyScreen, "Survey screen is rendered");
+          ok(
+            childActor.showMicroSurvey,
+            "Show Survey targeting conditions met"
+          );
+
+          let root = content.document.getElementById(
+            "multi-stage-message-root"
+          );
+          ok(!root.hidden, "Survey Message container is shown");
+
+          let optInShown = ContentTaskUtils.waitForMutationCondition(
+            root,
+            { childList: true },
+            () => root.querySelector(".screen.FS_OPT_IN")
+          );
+          content.document.dispatchEvent(
+            new content.CustomEvent("Update", {
+              bubbles: true,
+              detail: Cu.cloneInto(
+                {
+                  data: mockData,
+                  productUrl: "https://example.com/product/1234",
+                  showOnboarding: true,
+                },
+                content
+              ),
+            })
+          );
+          await shoppingContainer.updateComplete;
+          await optInShown;
+
+          childActor.resetChildStates();
         }
       );
     }
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
index b26166181e8e1bf9bd18b7fc5cac54396143a40d..2674dc2bebf436529a46d45c52cb56e86b82c03f 100644
--- a/browser/components/tabbrowser/content/tabbrowser.js
+++ b/browser/components/tabbrowser/content/tabbrowser.js
@@ -2864,10 +2864,23 @@
       this.tabAnimationsInProgress++;
 
       if (animate) {
-        requestAnimationFrame(function () {
-          // kick the animation off
-          t.setAttribute("fadein", "true");
-        });
+        // Kick the animation off.
+        // TODO: we should figure out a better solution here. We use RAF
+        // to avoid jank of the animation due to synchronous work happening
+        // on tab open.
+        // With preloaded content though a single RAF happens too early. and
+        // both the transition and the transitionend event don't happen.
+        if (usingPreloadedContent) {
+          requestAnimationFrame(() => {
+            requestAnimationFrame(() => {
+              t.setAttribute("fadein", "true");
+            });
+          });
+        } else {
+          requestAnimationFrame(() => {
+            t.setAttribute("fadein", "true");
+          });
+        }
       }
 
       // Additionally send pinned tab events
diff --git a/browser/components/urlbar/UrlbarPrefs.sys.mjs b/browser/components/urlbar/UrlbarPrefs.sys.mjs
index aa297c4309b2ba624c865cb68c3a4402ea2679e8..e58515d3985e3ca425f195da271fb1d9dd9e7b8e 100644
--- a/browser/components/urlbar/UrlbarPrefs.sys.mjs
+++ b/browser/components/urlbar/UrlbarPrefs.sys.mjs
@@ -452,6 +452,11 @@ const PREF_URLBAR_DEFAULTS = new Map([
   // Feature gate pref for trending suggestions in the urlbar.
   ["trending.featureGate", true],
 
+  // Only enable trending suggestions if the users browser locale is contained
+  // in this list; enable in all locales if empty.
+  // (if the value was "en-US", trending would only be enabled for en-US users).
+  ["trending.enabledLocales", ""],
+
   // The maximum number of trending results to show while not in search mode.
   ["trending.maxResultsNoSearchMode", 10],
 
diff --git a/browser/components/urlbar/UrlbarProviderSearchSuggestions.sys.mjs b/browser/components/urlbar/UrlbarProviderSearchSuggestions.sys.mjs
index 7ff2cebe3f5b1d91322959737926c824ed100204..d2ea346130cf7762255c9988bacdca8fd3233dc6 100644
--- a/browser/components/urlbar/UrlbarProviderSearchSuggestions.sys.mjs
+++ b/browser/components/urlbar/UrlbarProviderSearchSuggestions.sys.mjs
@@ -601,9 +601,16 @@ class ProviderSearchSuggestions extends UrlbarProvider {
    *   Whether we should fetch trending results.
    */
   #shouldFetchTrending(queryContext) {
+    let trendingEnabled = lazy.UrlbarPrefs.get("trending.featureGate");
+    let enabledLocales = lazy.UrlbarPrefs.get("trending.enabledLocales");
+    if (trendingEnabled && enabledLocales) {
+      trendingEnabled = enabledLocales.includes(
+        Services.locale.appLocaleAsBCP47
+      );
+    }
     return !!(
       queryContext.searchString == "" &&
-      lazy.UrlbarPrefs.get("trending.featureGate") &&
+      trendingEnabled &&
       lazy.UrlbarPrefs.get("suggest.trending") &&
       (queryContext.searchMode ||
         !lazy.UrlbarPrefs.get("trending.requireSearchMode"))
diff --git a/browser/config/version_display.txt b/browser/config/version_display.txt
index 9ae297eec078a38a3f4b9ecb1593223077462478..cac6a71417a9fd1e8b96685e05da6ba761fc9c0d 100644
--- a/browser/config/version_display.txt
+++ b/browser/config/version_display.txt
@@ -1 +1 @@
-128.0b8
+128.0esr
diff --git a/browser/extensions/webcompat/data/injections.js b/browser/extensions/webcompat/data/injections.js
index f95a6be28d0402508cc0a446fa1ed167c1aa35e1..ed45251032e16e7751501f75fb3ad54ffc791b39 100644
--- a/browser/extensions/webcompat/data/injections.js
+++ b/browser/extensions/webcompat/data/injections.js
@@ -1064,7 +1064,7 @@ const AVAILABLE_INJECTIONS = [
     domain: "YouTube Shorts",
     bug: "1882040",
     contentScripts: {
-      matches: ["*://m.youtube.com/shorts/*"],
+      matches: ["*://m.youtube.com/shorts", "*://m.youtube.com/shorts/*"],
       css: [
         {
           file: "injections/css/bug1882040-disable-pull-to-refresh.css",
diff --git a/browser/extensions/webcompat/data/ua_overrides.js b/browser/extensions/webcompat/data/ua_overrides.js
index 5b7967d277e5bef90200bbf672296bc435e441f6..23d17fb1d91cb79b87d0473a05eec90b64c568a2 100644
--- a/browser/extensions/webcompat/data/ua_overrides.js
+++ b/browser/extensions/webcompat/data/ua_overrides.js
@@ -55,11 +55,8 @@ const AVAILABLE_UA_OVERRIDES = [
         "*://*.directv.com.ec/*", // bug 1827706
         "*://*.directv.com/*",
       ],
-      uaTransformer: originalUA => {
-        return (
-          UAHelpers.getPrefix(originalUA) +
-          " AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
-        );
+      uaTransformer: () => {
+        return UAHelpers.getDeviceAppropriateChromeUA();
       },
     },
   },
diff --git a/browser/extensions/webcompat/manifest.json b/browser/extensions/webcompat/manifest.json
index dc6f225099147c9729982a8c9c5ec69628ef02b3..0a4f2402a05b623bc7b4a8b8322a8038e4c7b565 100644
--- a/browser/extensions/webcompat/manifest.json
+++ b/browser/extensions/webcompat/manifest.json
@@ -2,7 +2,7 @@
   "manifest_version": 2,
   "name": "Web Compatibility Interventions",
   "description": "Urgent post-release fixes for web compatibility.",
-  "version": "128.1.0",
+  "version": "128.3.0",
   "browser_specific_settings": {
     "gecko": {
       "id": "webcompat@mozilla.org",
diff --git a/browser/locales/l10n-changesets.json b/browser/locales/l10n-changesets.json
index 92f85ff99680006cdd8d7e2df9038e645cf917f3..c75de2d29d54c33560f01326ab1b217518b647d5 100644
--- a/browser/locales/l10n-changesets.json
+++ b/browser/locales/l10n-changesets.json
@@ -16,7 +16,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "af": {
         "pin": false,
@@ -35,7 +35,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "an": {
         "pin": false,
@@ -54,7 +54,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ar": {
         "pin": false,
@@ -73,7 +73,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ast": {
         "pin": false,
@@ -92,7 +92,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "az": {
         "pin": false,
@@ -111,7 +111,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "be": {
         "pin": false,
@@ -130,7 +130,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "bg": {
         "pin": false,
@@ -149,7 +149,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "bn": {
         "pin": false,
@@ -168,7 +168,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "br": {
         "pin": false,
@@ -187,7 +187,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "bs": {
         "pin": false,
@@ -206,7 +206,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ca": {
         "pin": false,
@@ -225,7 +225,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ca-valencia": {
         "pin": false,
@@ -244,7 +244,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "cak": {
         "pin": false,
@@ -263,7 +263,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "cs": {
         "pin": false,
@@ -282,7 +282,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "cy": {
         "pin": false,
@@ -301,7 +301,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "da": {
         "pin": false,
@@ -320,7 +320,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "de": {
         "pin": false,
@@ -339,7 +339,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "dsb": {
         "pin": false,
@@ -358,7 +358,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "el": {
         "pin": false,
@@ -377,7 +377,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "en-CA": {
         "pin": false,
@@ -396,7 +396,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "en-GB": {
         "pin": false,
@@ -415,7 +415,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "eo": {
         "pin": false,
@@ -434,7 +434,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "es-AR": {
         "pin": false,
@@ -453,7 +453,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "es-CL": {
         "pin": false,
@@ -472,7 +472,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "es-ES": {
         "pin": false,
@@ -491,7 +491,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "es-MX": {
         "pin": false,
@@ -510,7 +510,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "et": {
         "pin": false,
@@ -529,7 +529,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "eu": {
         "pin": false,
@@ -548,7 +548,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "fa": {
         "pin": false,
@@ -567,7 +567,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ff": {
         "pin": false,
@@ -586,7 +586,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "fi": {
         "pin": false,
@@ -605,7 +605,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "fr": {
         "pin": false,
@@ -624,7 +624,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "fur": {
         "pin": false,
@@ -643,7 +643,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "fy-NL": {
         "pin": false,
@@ -662,7 +662,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ga-IE": {
         "pin": false,
@@ -681,7 +681,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "gd": {
         "pin": false,
@@ -700,7 +700,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "gl": {
         "pin": false,
@@ -719,7 +719,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "gn": {
         "pin": false,
@@ -738,7 +738,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "gu-IN": {
         "pin": false,
@@ -757,7 +757,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "he": {
         "pin": false,
@@ -776,7 +776,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "hi-IN": {
         "pin": false,
@@ -795,7 +795,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "hr": {
         "pin": false,
@@ -814,7 +814,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "hsb": {
         "pin": false,
@@ -833,7 +833,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "hu": {
         "pin": false,
@@ -852,7 +852,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "hy-AM": {
         "pin": false,
@@ -871,7 +871,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ia": {
         "pin": false,
@@ -890,7 +890,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "id": {
         "pin": false,
@@ -909,7 +909,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "is": {
         "pin": false,
@@ -928,7 +928,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "it": {
         "pin": false,
@@ -947,7 +947,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ja": {
         "pin": false,
@@ -964,7 +964,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ja-JP-mac": {
         "pin": false,
@@ -972,7 +972,7 @@
             "macosx64",
             "macosx64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ka": {
         "pin": false,
@@ -991,7 +991,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "kab": {
         "pin": false,
@@ -1010,7 +1010,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "kk": {
         "pin": false,
@@ -1029,7 +1029,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "km": {
         "pin": false,
@@ -1048,7 +1048,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "kn": {
         "pin": false,
@@ -1067,7 +1067,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ko": {
         "pin": false,
@@ -1086,7 +1086,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "lij": {
         "pin": false,
@@ -1105,7 +1105,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "lt": {
         "pin": false,
@@ -1124,7 +1124,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "lv": {
         "pin": false,
@@ -1143,7 +1143,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "mk": {
         "pin": false,
@@ -1162,7 +1162,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "mr": {
         "pin": false,
@@ -1181,7 +1181,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ms": {
         "pin": false,
@@ -1200,7 +1200,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "my": {
         "pin": false,
@@ -1219,7 +1219,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "nb-NO": {
         "pin": false,
@@ -1238,7 +1238,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ne-NP": {
         "pin": false,
@@ -1257,7 +1257,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "nl": {
         "pin": false,
@@ -1276,7 +1276,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "nn-NO": {
         "pin": false,
@@ -1295,7 +1295,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "oc": {
         "pin": false,
@@ -1314,7 +1314,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "pa-IN": {
         "pin": false,
@@ -1333,7 +1333,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "pl": {
         "pin": false,
@@ -1352,7 +1352,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "pt-BR": {
         "pin": false,
@@ -1371,7 +1371,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "pt-PT": {
         "pin": false,
@@ -1390,7 +1390,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "rm": {
         "pin": false,
@@ -1409,7 +1409,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ro": {
         "pin": false,
@@ -1428,7 +1428,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ru": {
         "pin": false,
@@ -1447,7 +1447,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "sat": {
         "pin": false,
@@ -1466,7 +1466,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "sc": {
         "pin": false,
@@ -1485,7 +1485,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "sco": {
         "pin": false,
@@ -1504,7 +1504,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "si": {
         "pin": false,
@@ -1523,7 +1523,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "sk": {
         "pin": false,
@@ -1542,7 +1542,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "skr": {
         "pin": false,
@@ -1561,7 +1561,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "sl": {
         "pin": false,
@@ -1580,7 +1580,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "son": {
         "pin": false,
@@ -1599,7 +1599,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "sq": {
         "pin": false,
@@ -1618,7 +1618,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "sr": {
         "pin": false,
@@ -1637,7 +1637,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "sv-SE": {
         "pin": false,
@@ -1656,7 +1656,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "szl": {
         "pin": false,
@@ -1675,7 +1675,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ta": {
         "pin": false,
@@ -1694,7 +1694,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "te": {
         "pin": false,
@@ -1713,7 +1713,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "tg": {
         "pin": false,
@@ -1732,7 +1732,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "th": {
         "pin": false,
@@ -1751,7 +1751,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "tl": {
         "pin": false,
@@ -1770,7 +1770,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "tr": {
         "pin": false,
@@ -1789,7 +1789,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "trs": {
         "pin": false,
@@ -1808,7 +1808,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "uk": {
         "pin": false,
@@ -1827,7 +1827,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ur": {
         "pin": false,
@@ -1846,7 +1846,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "uz": {
         "pin": false,
@@ -1865,7 +1865,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "vi": {
         "pin": false,
@@ -1884,7 +1884,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "xh": {
         "pin": false,
@@ -1903,7 +1903,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "zh-CN": {
         "pin": false,
@@ -1922,7 +1922,7 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "zh-TW": {
         "pin": false,
@@ -1941,6 +1941,6 @@
             "win64-aarch64-devedition",
             "win64-devedition"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     }
 }
\ No newline at end of file
diff --git a/browser/themes/ThemeVariableMap.sys.mjs b/browser/themes/ThemeVariableMap.sys.mjs
index 1795bfe7c10b681e3a3b00a4cfa081f14aab3d53..e88619f0f34d68124d43c5933c3a198c557b1d22 100644
--- a/browser/themes/ThemeVariableMap.sys.mjs
+++ b/browser/themes/ThemeVariableMap.sys.mjs
@@ -46,7 +46,6 @@ export const ThemeVariableMap = [
     "--lwt-tab-line-color",
     {
       lwtProperty: "tab_line",
-      optionalElementID: "TabsToolbar",
     },
   ],
   [
diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
index ec95111928f9ee462c24e16413f18a2f0a3af88e..9a915ff442cc7f01ddec3fcea931c21e210cac92 100644
--- a/browser/themes/shared/tabbrowser/tabs.css
+++ b/browser/themes/shared/tabbrowser/tabs.css
@@ -20,13 +20,21 @@
   --tab-selected-textcolor: var(--toolbar-color);
   --tab-selected-bgcolor: var(--toolbar-bgcolor);
   --tab-selected-color-scheme: var(--toolbar-color-scheme);
-
   &[lwt-tab-selected="light"] {
     --tab-selected-color-scheme: light;
   }
   &[lwt-tab-selected="dark"] {
     --tab-selected-color-scheme: dark;
   }
+  --tab-selected-outline-color: transparent;
+  --tab-hover-outline-color: transparent;
+  @media (prefers-contrast) {
+    --tab-selected-outline-color: currentColor;
+    --tab-hover-outline-color: currentColor;
+  }
+  &[lwtheme] {
+    --tab-selected-outline-color: var(--lwt-tab-line-color, currentColor);
+  }
 }
 
 #tabbrowser-tabs {
@@ -123,13 +131,6 @@
     }
   }
 
-  /* tabbrowser-tab keyboard focus */
-  &.keyboard-focused-tab > .tab-stack > .tab-background,
-  &:focus:not([aria-activedescendant]) > .tab-stack > .tab-background {
-    outline: var(--focus-outline);
-    outline-offset: var(--focus-outline-inset);
-  }
-
   #tabbrowser-tabs[movingtab] > #tabbrowser-arrowscrollbox > &:is([selected], [multiselected]) {
     position: relative;
     z-index: 2;
@@ -563,11 +564,8 @@
 #TabsToolbar #firefox-view-button:hover:not([open]) > .toolbarbutton-icon,
 .tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected], [multiselected]) {
   background-color: color-mix(in srgb, currentColor 11%, transparent);
-}
-
-#TabsToolbar #firefox-view-button[open] > .toolbarbutton-icon,
-#tabbrowser-tabs:not([noshadowfortests]) .tab-background:is([selected], [multiselected]) {
-  box-shadow: 0 0 4px rgba(0,0,0,.4);
+  outline: 1px solid var(--tab-hover-outline-color);
+  outline-offset: -1px;
 }
 
 #TabsToolbar #firefox-view-button[open] > .toolbarbutton-icon,
@@ -575,6 +573,13 @@
   background-color: var(--tab-selected-bgcolor);
   background-origin: border-box;
   background-repeat: repeat-x;
+  box-shadow: 0 0 4px rgba(0,0,0,.4);
+  outline: 1px solid var(--tab-selected-outline-color);
+  outline-offset: -1px;
+
+  #tabbrowser-tabs[noshadowfortests] & {
+    box-shadow: none;
+  }
 }
 
 #TabsToolbar #firefox-view-button[open] > .toolbarbutton-icon,
@@ -583,23 +588,6 @@
   color-scheme: var(--tab-selected-color-scheme);
 }
 
-@media (prefers-contrast) {
-  #TabsToolbar #firefox-view-button:is([open], :hover):not(:focus-visible) > .toolbarbutton-icon,
-  .tab-background[selected],
-  .tabbrowser-tab:hover > .tab-stack > .tab-background {
-    outline: 1px solid currentColor;
-    outline-offset: -1px;
-  }
-}
-
-@media not (prefers-contrast) {
-  :root[lwtheme] #TabsToolbar #firefox-view-button[open]:not(:focus-visible) > .toolbarbutton-icon,
-  :root[lwtheme] .tab-background[selected]:not([multiselected]) {
-    outline: 1px solid var(--lwt-tab-line-color, var(--lwt-tabs-border-color, currentColor));
-    outline-offset: -1px;
-  }
-}
-
 /* Add a focus outline on top of the multiselected tabs, with the currently selected
    tab getting a slightly thicker outline. */
 .tab-background[multiselected] {
@@ -612,6 +600,13 @@
   }
 }
 
+/* Keyboard focus outline */
+#TabsToolbar #firefox-view-button:focus-visible > .toolbarbutton-icon,
+.tabbrowser-tab:is(.keyboard-focused-tab, :focus:not([aria-activedescendant])) > .tab-stack > .tab-background {
+  outline: var(--focus-outline);
+  outline-offset: var(--focus-outline-inset);
+}
+
 /* Pinned tabs */
 
 .tabbrowser-tab:is([image], [pinned]) > .tab-stack > .tab-content[attention]:not([selected]),
diff --git a/comm/.gecko_rev.yml b/comm/.gecko_rev.yml
index b48bc86ab11c364940cca94d3802cbba093631c7..49b19ebb674e6daf4bac58f620d5db6d6aff448c 100644
--- a/comm/.gecko_rev.yml
+++ b/comm/.gecko_rev.yml
@@ -1,12 +1,12 @@
 ---
 GECKO_BASE_REPOSITORY: https://hg.mozilla.org/mozilla-unified
-GECKO_HEAD_REPOSITORY: https://hg.mozilla.org/releases/mozilla-beta
-GECKO_HEAD_REF: FIREFOX_128_0b8_RELEASE
-GECKO_HEAD_REV: e9bf19464ff8acb7062bb569b5abf4ff9fd9ea6b
+GECKO_HEAD_REPOSITORY: https://hg.mozilla.org/releases/mozilla-esr128
+GECKO_HEAD_REF: FIREFOX_128_0esr_BUILD2
+GECKO_HEAD_REV: 4cff37e891cdf778f142fd8005c71b1dd88898b2
 
 ### For comm-central
 # GECKO_BASE_REPOSITORY: https://hg.mozilla.org/mozilla-unified
-# GECKO_HEAD_REPOSITORY: https://hg.mozilla.org/releases/mozilla-beta
+# GECKO_HEAD_REPOSITORY: https://hg.mozilla.org/releases/mozilla-esr128
 # GECKO_HEAD_REF: default
 #
 ### For branches
diff --git a/comm/calendar/base/content/calendar-unifinder.js b/comm/calendar/base/content/calendar-unifinder.js
index 1053ddc47cc58e8ca2f791855191f2b477201ea9..97aff39293dd11ab1df50ae5ec4e02c745d513f0 100644
--- a/comm/calendar/base/content/calendar-unifinder.js
+++ b/comm/calendar/base/content/calendar-unifinder.js
@@ -236,7 +236,9 @@ function updateUnifinderFilterText() {
 
   const searchBox = document.getElementById("unifinder-search-field");
   if (searchBox.value) {
-    filteredView.setFilterFunction(item => item.title.toLowerCase().includes(searchBox.value));
+    const normalize = str => str.normalize().toLowerCase();
+    const normalValue = normalize(searchBox.value);
+    filteredView.setFilterFunction(item => normalize(item.title).includes(normalValue));
   } else {
     filteredView.clearFilter();
   }
diff --git a/comm/mail/app/profile/all-thunderbird.js b/comm/mail/app/profile/all-thunderbird.js
index 8dd5b9163b93f812f1ca7bdd316094e703650c67..3719a83c8fc60e2654bd6131c96b0b320640966c 100644
--- a/comm/mail/app/profile/all-thunderbird.js
+++ b/comm/mail/app/profile/all-thunderbird.js
@@ -1381,9 +1381,9 @@ pref("services.sync.engine.servers", true);
 #endif
 
 // Donation appeal.
-pref("app.donation.eoy.version", 5);
+pref("app.donation.eoy.version", 6);
 pref("app.donation.eoy.version.viewed", 0);
-pref("app.donation.eoy.url", "https://www.thunderbird.net/thunderbird/115.0/spring24/");
+pref("app.donation.eoy.url", "https://www.thunderbird.net/thunderbird/128.0/appeal/");
 
 // IMAP-JS disabled, Bug 1707547.
 pref("mailnews.imap.jsmodule", false);
diff --git a/comm/mail/base/content/about3Pane.js b/comm/mail/base/content/about3Pane.js
index 1cf5eede90ef7564c9e826238781ae3ed274bb04..b253e74f017727f0ac1a7bc62b37b22fed0b5711 100644
--- a/comm/mail/base/content/about3Pane.js
+++ b/comm/mail/base/content/about3Pane.js
@@ -2953,11 +2953,17 @@ var folderPane = {
       return;
     }
 
+    // If the currently dragged row is not part of the selection map, use it
+    // instead of the current selection entries.
+    const rows = folderTree.selection.has(folderTree.rows.indexOf(row))
+      ? folderTree.selection.values()
+      : [row];
+
     const folders = [];
     let hasServer = false;
     let hasNNTP = false;
     let hasSimpleFolder = false;
-    for (const row of folderTree.selection.values()) {
+    for (const row of rows) {
       const folder = MailServices.folderLookup.getFolderForURL(row.uri);
       folders.push(folder);
 
@@ -3379,11 +3385,16 @@ var folderPane = {
       MailServices.mfn.notifyFolderReindexTriggered(folder);
 
       folder.msgDatabase.summaryValid = false;
-
-      const msgDB = folder.msgDatabase;
-      msgDB.summaryValid = false;
       try {
+        const isIMAP = folder.server.type == "imap";
+        let transferInfo = null;
+        if (isIMAP) {
+          transferInfo = folder.dBTransferInfo;
+        }
         folder.closeAndBackupFolderDB("");
+        if (isIMAP && transferInfo) {
+          folder.dBTransferInfo = transferInfo;
+        }
       } catch (e) {
         // In a failure, proceed anyway since we're dealing with problems
         folder.ForceDBClosed();
diff --git a/comm/mail/base/content/mailCommon.js b/comm/mail/base/content/mailCommon.js
index b80f03d7444fa818ba07dd22e2381e363a196b5e..bdc8a8b0aaba12f4d9d6b888f9e595d8c627dd40 100644
--- a/comm/mail/base/content/mailCommon.js
+++ b/comm/mail/base/content/mailCommon.js
@@ -586,7 +586,6 @@ var commandController = {
       case "cmd_removeTags":
       case "cmd_toggleTag":
       case "cmd_toggleRead":
-      case "cmd_markReadByDate":
       case "cmd_markAsFlagged":
       case "cmd_applyFiltersToSelection":
         return numSelectedMessages >= 1 && !isDummyMessage;
@@ -647,6 +646,7 @@ var commandController = {
         }
         return false;
       }
+      case "cmd_markReadByDate":
       case "cmd_markAllRead":
         return gDBView?.msgFolder?.getNumUnread(false) > 0;
       case "cmd_markAsJunk":
diff --git a/comm/mail/base/content/mailContext.js b/comm/mail/base/content/mailContext.js
index a4b1e8fd48485963c70b6311d74975b787a41777..e9e012bd91ed9553ca937950b75b2f9c05a2c779 100644
--- a/comm/mail/base/content/mailContext.js
+++ b/comm/mail/base/content/mailContext.js
@@ -84,7 +84,6 @@ var mailContextMenu = {
     "mailContext-addNewTag": "cmd_addTag",
     "mailContext-manageTags": "cmd_manageTags",
     "mailContext-tagRemoveAll": "cmd_removeTags",
-    "mailContext-markReadByDate": "cmd_markReadByDate",
     "mailContext-markFlagged": "cmd_markAsFlagged",
     "navContext-archive": "cmd_archive",
     "mailContext-archive": "cmd_archive",
@@ -106,6 +105,7 @@ var mailContextMenu = {
     "navContext-markUnread": "cmd_markAsUnread",
     "mailContext-markUnread": "cmd_markAsUnread",
     "mailContext-markThreadAsRead": "cmd_markThreadAsRead",
+    "mailContext-markReadByDate": "cmd_markReadByDate",
     "mailContext-markAllRead": "cmd_markAllRead",
     "navContext-markAsJunk": "cmd_markAsJunk",
     "mailContext-markAsJunk": "cmd_markAsJunk",
diff --git a/comm/mail/base/content/specialTabs.js b/comm/mail/base/content/specialTabs.js
index 4877ceedfb81bef55ce2f961bbe77d5f7b16aff6..4e4152c27ca2e20d3915d58e96154c4d09987ef8 100644
--- a/comm/mail/base/content/specialTabs.js
+++ b/comm/mail/base/content/specialTabs.js
@@ -732,12 +732,12 @@ var specialTabs = {
   },
 
   // This will open any special tabs if necessary on startup.
-  async openSpecialTabsOnStartup() {
+  openSpecialTabsOnStartup() {
     const tabmail = document.getElementById("tabmail");
 
     tabmail.registerTabType(this.contentTabType);
 
-    await this.showWhatsNewPage();
+    this.showWhatsNewPage();
 
     // Show the about rights notification if we need to.
     if (this.shouldShowAboutRightsNotification()) {
@@ -1019,7 +1019,7 @@ var specialTabs = {
    *
    * @see {BrowserContentHandler.needHomepageOverride}
    */
-  async showWhatsNewPage() {
+  showWhatsNewPage() {
     const old_mstone = Services.prefs.getCharPref(
       "mailnews.start_page_override.mstone",
       ""
@@ -1034,7 +1034,7 @@ var specialTabs = {
       const um = Cc["@mozilla.org/updates/update-manager;1"].getService(
         Ci.nsIUpdateManager
       );
-      const update = await um.getReadyUpdate();
+      const update = um.updateInstalledAtStartup;
 
       if (update && Services.vc.compare(update.appVersion, old_mstone) > 0) {
         let overridePage = Services.urlFormatter.formatURLPref(
diff --git a/comm/mail/base/content/widgets/treeview/thread-row.mjs b/comm/mail/base/content/widgets/treeview/thread-row.mjs
index 16a9e4d38a5ce94629afc55144c2fe0315c384c1..6d5ef16d767df9363e1f5a6d4ca9c48c03bf361c 100644
--- a/comm/mail/base/content/widgets/treeview/thread-row.mjs
+++ b/comm/mail/base/content/widgets/treeview/thread-row.mjs
@@ -102,12 +102,21 @@ class ThreadRow extends TreeViewTableRow {
           image.alt = "";
         }
 
+        let subjectText = cellTexts[textIndex];
+        if (isDummyRow) {
+          // Big assumption here that the total and unread are always the last 2
+          // elements of the array. Tests will ensure that.
+          const unread = Number(cellTexts.at(-2));
+          const total = Number(cellTexts.at(-1));
+          subjectText += unread ? ` (${unread}/${total})` : ` (${total})`;
+        }
+
         const span = div.querySelector("span");
-        span.textContent = cellTexts[textIndex];
+        span.textContent = subjectText;
         document.l10n.setAttributes(cell, column.l10n.cell, {
-          title: cellTexts[textIndex],
+          title: subjectText,
         });
-        ariaLabelPromises.push(cellTexts[textIndex]);
+        ariaLabelPromises.push(subjectText);
         continue;
       }
 
diff --git a/comm/mail/base/test/browser/browser.ini b/comm/mail/base/test/browser/browser.ini
index b1860a6c25366482df232da3c5180de73a1caf24..c6afb5ff7d5a0a24bafdfbb66005f4202877f202 100644
--- a/comm/mail/base/test/browser/browser.ini
+++ b/comm/mail/base/test/browser/browser.ini
@@ -18,8 +18,11 @@ support-files = files/**
 tags = contextmenu webextensions
 [browser_browserRequestWindow.js]
 [browser_cardsView.js]
+[browser_dragDropFolders.js]
+skip-if = headless && os == 'linux' # See bug 1806870.
 [browser_dragDropMessages.js]
-skip-if = headless
+skip-if = headless && os == 'linux' # See bug 1806870.
+[browser_dummyRow.js]
 [browser_editMenu.js]
 skip-if = os == 'mac'
 [browser_fileMenu.js]
@@ -46,7 +49,7 @@ tags = contextmenu
 [browser_mailContext_compose.js]
 tags = contextmenu
 [browser_mailContext_messageContent.js]
-skip-if = headless
+skip-if = headless && os == 'linux' # See bug 1806870.
 tags = contextmenu
 [browser_mailContext_threadTree.js]
 tags = contextmenu
@@ -57,6 +60,7 @@ skip-if = os == 'mac'
 [browser_navigation.js]
 [browser_paneFocus.js]
 [browser_preferDisplayName.js]
+[browser_repairFolder.js]
 [browser_quota.js]
 [browser_searchMessages.js]
 [browser_smartFolderDelete.js]
diff --git a/comm/mail/base/test/browser/browser_dragDropFolders.js b/comm/mail/base/test/browser/browser_dragDropFolders.js
new file mode 100644
index 0000000000000000000000000000000000000000..5b3eeaf0420bea6f63209e42ae6c33f6d5a8d413
--- /dev/null
+++ b/comm/mail/base/test/browser/browser_dragDropFolders.js
@@ -0,0 +1,118 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, you can obtain one at http://mozilla.org/MPL/2.0/. */
+
+const dragService = Cc["@mozilla.org/widget/dragservice;1"].getService(
+  Ci.nsIDragService
+);
+
+const about3Pane = document.getElementById("tabmail").currentAbout3Pane;
+const { folderPane, folderTree } = about3Pane;
+
+let rootFolder,
+  outboxFolder,
+  trashFolder,
+  folderA,
+  folderB,
+  folderC,
+  result,
+  dataTransfer;
+
+add_setup(async function () {
+  Services.prefs.setIntPref("ui.prefersReducedMotion", 1);
+
+  const account = MailServices.accounts.createAccount();
+  account.incomingServer = MailServices.accounts.createIncomingServer(
+    `${account.key}user`,
+    "localhost",
+    "none"
+  );
+  account.addIdentity(MailServices.accounts.createIdentity());
+  rootFolder = account.incomingServer.rootFolder.QueryInterface(
+    Ci.nsIMsgLocalMailFolder
+  );
+  outboxFolder = rootFolder.getFolderWithFlags(Ci.nsMsgFolderFlags.Queue);
+  trashFolder = rootFolder.getFolderWithFlags(Ci.nsMsgFolderFlags.Trash);
+
+  folderA = rootFolder.createLocalSubfolder("folderA");
+  folderB = rootFolder.createLocalSubfolder("folderB");
+  folderC = rootFolder.createLocalSubfolder("folderC");
+
+  registerCleanupFunction(async () => {
+    MailServices.accounts.removeAccount(account, false);
+    Services.prefs.clearUserPref("ui.prefersReducedMotion");
+  });
+});
+
+async function startDrag(element, target) {
+  const elementRow = about3Pane.folderPane.getRowForFolder(element);
+  const targetRow = about3Pane.folderPane.getRowForFolder(target);
+
+  dragService.startDragSessionForTests(Ci.nsIDragService.DRAGDROP_ACTION_MOVE);
+  [result, dataTransfer] = EventUtils.synthesizeDragOver(
+    elementRow,
+    targetRow,
+    null,
+    null,
+    about3Pane,
+    about3Pane
+  );
+
+  Assert.equal(
+    dataTransfer.effectAllowed,
+    "copyMove",
+    "effectAllowed of drag operation"
+  );
+  Assert.equal(dataTransfer.dropEffect, "move", "dropEffect of drag operation");
+  await new Promise(resolve => setTimeout(resolve));
+}
+
+async function endDrag(target) {
+  const targetRow = about3Pane.folderPane.getRowForFolder(target);
+
+  EventUtils.synthesizeDropAfterDragOver(
+    result,
+    dataTransfer,
+    targetRow,
+    about3Pane,
+    { type: "drop" }
+  );
+  dragService.endDragSession(true);
+  await new Promise(resolve => setTimeout(resolve));
+}
+
+add_task(async function test_drag_and_drop_single_folder() {
+  Assert.deepEqual(
+    Array.from(
+      folderTree.querySelectorAll("[role=group] li"),
+      folderTreeRow => folderTreeRow.uri
+    ),
+    [rootFolder, trashFolder, outboxFolder, folderA, folderB, folderC].map(
+      folder => folder.URI
+    )
+  );
+
+  // Click on folderA to select it.
+  EventUtils.synthesizeMouseAtCenter(
+    about3Pane.folderPane.getRowForFolder(folderA).querySelector(".name"),
+    {},
+    about3Pane
+  );
+  Assert.equal(folderTree.selectedIndex, 3);
+
+  await startDrag(folderB, folderC);
+  await endDrag(folderC);
+
+  // folderB should now be a child of folderC.
+  folderB = folderC.getChildNamed("folderB");
+
+  Assert.deepEqual(
+    Array.from(
+      folderTree.querySelectorAll("[role=group] li"),
+      folderTreeRow => folderTreeRow.uri
+    ),
+    [rootFolder, trashFolder, outboxFolder, folderA, folderC, folderB].map(
+      folder => folder.URI
+    )
+  );
+});
diff --git a/comm/mail/base/test/browser/browser_dummyRow.js b/comm/mail/base/test/browser/browser_dummyRow.js
new file mode 100644
index 0000000000000000000000000000000000000000..fe9deb8e32e59a5144fc2ee59fee96527eedcf65
--- /dev/null
+++ b/comm/mail/base/test/browser/browser_dummyRow.js
@@ -0,0 +1,102 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, you can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/**
+ * Test for the UI implementation of the "dummy row", which is a placeholder row
+ * for cards and table view when the list is grouped by sorting order.
+ */
+
+const { MessageGenerator } = ChromeUtils.importESModule(
+  "resource://testing-common/mailnews/MessageGenerator.sys.mjs"
+);
+const { PromiseTestUtils } = ChromeUtils.importESModule(
+  "resource://testing-common/mailnews/PromiseTestUtils.sys.mjs"
+);
+
+const tabmail = document.getElementById("tabmail");
+const about3Pane = tabmail.currentAbout3Pane;
+const threadTree = about3Pane.threadTree;
+
+let rootFolder, folderA, folderB;
+
+add_setup(async function () {
+  const generator = new MessageGenerator();
+
+  const account = MailServices.accounts.createLocalMailAccount();
+  account.addIdentity(MailServices.accounts.createIdentity());
+  rootFolder = account.incomingServer.rootFolder.QueryInterface(
+    Ci.nsIMsgLocalMailFolder
+  );
+
+  folderA = rootFolder
+    .createLocalSubfolder("dummyRowFolderA")
+    .QueryInterface(Ci.nsIMsgLocalMailFolder);
+
+  folderB = rootFolder.createLocalSubfolder("dummyRowFolderB");
+
+  // Make some messages.
+  const syntheticMessages = generator.makeMessages({
+    count: 5,
+    msgsPerThread: 1,
+  });
+
+  folderA.addMessageBatch(
+    syntheticMessages.map(message => message.toMessageString())
+  );
+
+  about3Pane.restoreState({
+    messagePaneVisible: true,
+    folderURI: folderA.URI,
+  });
+
+  about3Pane.sortController.groupBySort();
+  await BrowserTestUtils.waitForCondition(
+    () => threadTree.dataset.showGroupedBySort == "true",
+    "The tree view should be grouped by sort"
+  );
+  threadTree.scrollToIndex(0, true);
+
+  registerCleanupFunction(() => {
+    MailServices.accounts.removeAccount(account, false);
+  });
+});
+
+add_task(async function test_dummy_row_in_table_view() {
+  const folderAMessages = [...folderA.messages];
+
+  about3Pane.threadPane.updateThreadView("table");
+  await BrowserTestUtils.waitForCondition(
+    () => threadTree.getAttribute("rows") == "thread-row",
+    "The tree view switched to a table layout"
+  );
+
+  Assert.deepEqual(
+    threadTree.getRowAtIndex(0).querySelector(".subject-line span").textContent,
+    `Older (${folderAMessages.length}/${folderAMessages.length})`,
+    "The subject text with the unread and total counter should match"
+  );
+
+  // Mark each message as read, and check that the dummy row's content is
+  // updated accordingly. We do this for each message *except* one (the very
+  // first one), because the dummy row's content follows a slightly different
+  // format when all the messages are marked as read, which we check separately
+  // from this loop.
+  for (let i = 1; i < folderAMessages.length; i++) {
+    folderAMessages[i].markRead(true);
+    Assert.equal(
+      threadTree.getRowAtIndex(0).querySelector(".subject-line span")
+        .textContent,
+      `Older (${folderAMessages.length - i}/${folderAMessages.length})`
+    );
+  }
+
+  folderAMessages[0].markRead(true);
+  Assert.equal(
+    threadTree.getRowAtIndex(0).querySelector(".subject-line span").textContent,
+    `Older (${folderAMessages.length})`
+  );
+});
+
+// TODO: Implement after bug 1894591.
+// add_task(async function test_dummy_row_in_cards_view() {});
diff --git a/comm/mail/base/test/browser/browser_messageMenu.js b/comm/mail/base/test/browser/browser_messageMenu.js
index d6ca221db337766c31421b8867d47463c725e59d..47de809a79a1334da3f10850fd3c8e57e72ce198 100644
--- a/comm/mail/base/test/browser/browser_messageMenu.js
+++ b/comm/mail/base/test/browser/browser_messageMenu.js
@@ -50,7 +50,7 @@ const messageMenuData = {
   markReadMenuItem: { disabled: nothingSelected },
   markUnreadMenuItem: { disabled: true },
   menu_markThreadAsRead: { disabled: nothingSelected },
-  menu_markReadByDate: { disabled: nothingSelected },
+  menu_markReadByDate: { disabled: ["rootFolder"] },
   menu_markAllRead: { disabled: ["rootFolder"] },
   markFlaggedMenuItem: { disabled: nothingSelected },
   menu_markAsJunk: { disabled: nothingSelected },
diff --git a/comm/mail/base/test/browser/browser_repairFolder.js b/comm/mail/base/test/browser/browser_repairFolder.js
new file mode 100644
index 0000000000000000000000000000000000000000..c28e0acabdfd31fc72a6c50f65620e6f2293fdde
--- /dev/null
+++ b/comm/mail/base/test/browser/browser_repairFolder.js
@@ -0,0 +1,224 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, you can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/**
+ * Tests that when a folder is repaired, the view settings are preserved.
+ */
+
+const { FolderTreeProperties } = ChromeUtils.importESModule(
+  "resource:///modules/FolderTreeProperties.sys.mjs"
+);
+const { IMAPServer } = ChromeUtils.importESModule(
+  "resource://testing-common/IMAPServer.sys.mjs"
+);
+const { MessageGenerator } = ChromeUtils.importESModule(
+  "resource://testing-common/mailnews/MessageGenerator.sys.mjs"
+);
+
+const about3Pane = document.getElementById("tabmail").currentAbout3Pane;
+const { folderPane, folderTree, threadTree } = about3Pane;
+let rootFolder, localTestFolder, imapTestFolder;
+
+add_setup(async function () {
+  Services.prefs.setIntPref("ui.prefersReducedMotion", 1);
+
+  const generator = new MessageGenerator();
+
+  const account = MailServices.accounts.createLocalMailAccount();
+  const rootFolder = account.incomingServer.rootFolder.QueryInterface(
+    Ci.nsIMsgLocalMailFolder
+  );
+  localTestFolder = rootFolder
+    .createLocalSubfolder("repairFolder")
+    .QueryInterface(Ci.nsIMsgLocalMailFolder);
+
+  localTestFolder.addMessageBatch(
+    generator.makeMessages({}).map(message => message.toMessageString())
+  );
+
+  const imapServer = new IMAPServer();
+  const imapAccount = MailServices.accounts.createAccount();
+  imapAccount.addIdentity(MailServices.accounts.createIdentity());
+  imapAccount.incomingServer = MailServices.accounts.createIncomingServer(
+    `${imapAccount.key}user`,
+    "localhost",
+    "imap"
+  );
+  imapAccount.incomingServer.port = imapServer.port;
+  imapAccount.incomingServer.username = "user";
+  imapAccount.incomingServer.password = "password";
+  const imapRootFolder = imapAccount.incomingServer.rootFolder;
+  imapTestFolder = imapRootFolder.getFolderWithFlags(Ci.nsMsgFolderFlags.Inbox);
+  await imapServer.addMessages(imapTestFolder, generator.makeMessages({}));
+
+  await ensure_table_view();
+
+  registerCleanupFunction(async () => {
+    await promiseServerIdle(imapAccount.incomingServer);
+    MailServices.accounts.removeAccount(account, false);
+    MailServices.accounts.removeAccount(imapAccount, false);
+    await ensure_cards_view();
+    Services.prefs.clearUserPref("ui.prefersReducedMotion");
+  });
+});
+
+add_task(async function testLocalFolder() {
+  await subtestRepairFolder(localTestFolder);
+});
+
+add_task(async function testImapFolder() {
+  await subtestRepairFolder(imapTestFolder);
+});
+
+async function subtestRepairFolder(folder) {
+  about3Pane.displayFolder(folder);
+
+  await toggleColumn("sizeCol");
+  await toggleColumn("tagsCol");
+  about3Pane.sortController.sortThreadPane("correspondentCol");
+  about3Pane.sortController.sortAscending();
+  about3Pane.sortController.groupBySort();
+  await BrowserTestUtils.waitForCondition(
+    () => threadTree.dataset.showGroupedBySort == "true",
+    "The tree view should be grouped by sort"
+  );
+
+  const dialog = await openFolderProperties(folder);
+  const selectPromise = BrowserTestUtils.waitForEvent(
+    about3Pane,
+    "folderURIChanged"
+  );
+  dialog.repairFolder();
+  await dialog.accept();
+  await selectPromise;
+  await BrowserTestUtils.waitForCondition(
+    () => about3Pane.dbViewWrapperListener.allMessagesLoaded,
+    "waiting for message list to finish loading"
+  );
+
+  assert_visible_columns([
+    "threadCol",
+    "flaggedCol",
+    "attachmentCol",
+    "subjectCol",
+    "unreadButtonColHeader",
+    "correspondentCol",
+    "junkStatusCol",
+    "dateCol",
+    "sizeCol",
+    "tagsCol",
+  ]);
+  Assert.equal(
+    about3Pane.gViewWrapper.primarySortType,
+    Ci.nsMsgViewSortType.byCorrespondent,
+    "The repaired folder should still be sorted by Correspondent"
+  );
+  Assert.equal(
+    about3Pane.gViewWrapper.primarySortOrder,
+    Ci.nsMsgViewSortOrder.ascending,
+    "The repaired folder should still be sorted ascending"
+  );
+  Assert.equal(
+    about3Pane.gViewWrapper.showGroupedBySort,
+    true,
+    "The tree view should still be grouped by sort"
+  );
+}
+
+async function openFolderProperties(folder) {
+  const folderPaneContext =
+    about3Pane.document.getElementById("folderPaneContext");
+  const folderPaneContextProperties = about3Pane.document.getElementById(
+    "folderPaneContext-properties"
+  );
+
+  EventUtils.synthesizeMouseAtCenter(
+    folderPane.getRowForFolder(folder).querySelector(".name"),
+    { type: "contextmenu" },
+    about3Pane
+  );
+  await BrowserTestUtils.waitForPopupEvent(folderPaneContext, "shown");
+
+  const windowOpenedPromise = BrowserTestUtils.domWindowOpenedAndLoaded();
+  folderPaneContext.activateItem(folderPaneContextProperties);
+  const dialogWindow = await windowOpenedPromise;
+  const dialogDocument = dialogWindow.document;
+
+  const repairButton = dialogDocument.getElementById(
+    "folderRebuildSummaryButton"
+  );
+  const folderPropertiesDialog = dialogDocument.querySelector("dialog");
+
+  return {
+    repairFolder() {
+      EventUtils.synthesizeMouseAtCenter(repairButton, {}, dialogWindow);
+    },
+    async accept() {
+      const windowClosedPromise =
+        BrowserTestUtils.domWindowClosed(dialogWindow);
+      EventUtils.synthesizeMouseAtCenter(
+        folderPropertiesDialog.getButton("accept"),
+        {},
+        dialogWindow
+      );
+      await windowClosedPromise;
+    },
+  };
+}
+
+/**
+ * Verify that the provided list of columns is visible in the given order,
+ * throwing an exception if it is not the case.
+ *
+ * @param {string[]} desiredColumns - A list of column ID strings for columns
+ *   that should be visible in the order that they should be visible.
+ */
+function assert_visible_columns(desiredColumns) {
+  const columns = about3Pane.threadPane.columns;
+  const visibleColumns = columns
+    .filter(column => !column.hidden)
+    .map(column => column.id);
+  let failCol = visibleColumns.filter(x => !desiredColumns.includes(x));
+  if (failCol.length) {
+    throw new Error(
+      `Found unexpected visible columns: '${failCol}'!\ndesired list: ${desiredColumns}\nactual list: ${visibleColumns}`
+    );
+  }
+  failCol = desiredColumns.filter(x => !visibleColumns.includes(x));
+  if (failCol.length) {
+    throw new Error(
+      `Found unexpected hidden columns: '${failCol}'!\ndesired list: ${desiredColumns}\nactual list: ${visibleColumns}`
+    );
+  }
+}
+
+/**
+ * Toggle the column visibility .
+ *
+ * @param {string} columnID - Id of the thread column element to click.
+ */
+async function toggleColumn(columnID) {
+  const colPicker = about3Pane.document.querySelector(
+    `th[is="tree-view-table-column-picker"] button`
+  );
+  const colPickerPopup = about3Pane.document.querySelector(
+    `th[is="tree-view-table-column-picker"] menupopup`
+  );
+
+  EventUtils.synthesizeMouseAtCenter(colPicker, {}, about3Pane);
+  await BrowserTestUtils.waitForPopupEvent(colPickerPopup, "shown");
+
+  const menuItem = colPickerPopup.querySelector(`[value="${columnID}"]`);
+  const checkedState = menuItem.getAttribute("checked");
+  colPickerPopup.activateItem(menuItem);
+  await BrowserTestUtils.waitForMutationCondition(
+    menuItem,
+    { attributes: true },
+    () => checkedState != menuItem.getAttribute("checked")
+  );
+
+  // The column picker menupopup doesn't close automatically on purpose.
+  EventUtils.synthesizeKey("VK_ESCAPE", {}, about3Pane);
+  await BrowserTestUtils.waitForPopupEvent(colPickerPopup, "hidden");
+}
diff --git a/comm/mail/components/accountcreation/modules/ExchangeAutoDiscover.sys.mjs b/comm/mail/components/accountcreation/modules/ExchangeAutoDiscover.sys.mjs
index 21c8543daa1367a7659a9460df1f040f1bd7743e..8ab6f46afc0c1b6419c5f8f885f8d28eb2b28b32 100644
--- a/comm/mail/components/accountcreation/modules/ExchangeAutoDiscover.sys.mjs
+++ b/comm/mail/components/accountcreation/modules/ExchangeAutoDiscover.sys.mjs
@@ -457,14 +457,16 @@ function readAutoDiscoverXML(autoDiscoverXML, username) {
         });
         server.hostname = lazy.Sanitizer.hostname(protocolX.Server);
         server.port = lazy.Sanitizer.integer(protocolX.Port);
-        server.socketType = Ci.nsMsgSocketType.plain;
+
         // SSL: https://msdn.microsoft.com/en-us/library/ee160260(v=exchg.80).aspx
         // Encryption: https://msdn.microsoft.com/en-us/library/ee625072(v=exchg.80).aspx
         if (
-          ("SSL" in protocolX && protocolX.SSL.toLowerCase() == "on") || // "On" or "Off"
+          ("SSL" in protocolX && protocolX.SSL.toLowerCase() == "off") || // "On" or "Off"
           ("Encryption" in protocolX &&
-            protocolX.Encryption.toLowerCase() != "none") // "None", "SSL", "TLS", "Auto"
+            protocolX.Encryption.toLowerCase() == "none") // "None", "SSL", "TLS", "Auto"
         ) {
+          server.socketType = Ci.nsMsgSocketType.plain;
+        } else {
           // SSL is too unspecific. Do they mean STARTTLS or normal TLS?
           // For now, assume normal TLS, unless it's a standard plain port.
           switch (server.port) {
diff --git a/comm/mail/config/version_display.txt b/comm/mail/config/version_display.txt
index aee09981dd9c16124485078b5279d2d6b33c37c1..cac6a71417a9fd1e8b96685e05da6ba761fc9c0d 100644
--- a/comm/mail/config/version_display.txt
+++ b/comm/mail/config/version_display.txt
@@ -1 +1 @@
-128.0b5
+128.0esr
diff --git a/comm/mail/config/whats_new_page.yml b/comm/mail/config/whats_new_page.yml
index 8cfbb2291b064935d7dd680e02d338f62f6f325a..5cd18ca5d79907471b72c4bec6f48c5cb8ca16c9 100644
--- a/comm/mail/config/whats_new_page.yml
+++ b/comm/mail/config/whats_new_page.yml
@@ -14,19 +14,28 @@
       release-types: [esr128]
 - type: show-url
   # yamllint disable-line rule:line-length
-  url: https://live.thunderbird.net/thunderbird/whatsnew?locale=%LOCALE%&version={version}&channel={release-type}&oldversion=%OLD_VERSION%
+  url: https://live.thunderbird.net/thunderbird/whatsnew?locale=%LOCALE%&version={version}&channel=esr&oldversion=%OLD_VERSION%
   conditions:
       blob-types: [wnp]
-      release-types: [release]
+      release-types: [esr128]
       products: [thunderbird]
-      update-channel: release
+      update-channel: esr
       # e.g.: ["<78.0"] for the current release. {version.major_number} reflects
       # the current version and compares to the version the client is updating from
       # on Balrog
       versions: ["<{version.major_number}.0"]
 - type: show-url
   # yamllint disable-line rule:line-length
-  url: https://live.thunderbird.net/thunderbird/whatsnew?locale=%LOCALE%&version={version}&channel={release-type}&oldversion=%OLD_VERSION%
+  url: https://live.thunderbird.net/thunderbird/whatsnew?locale=%LOCALE%&version={version}&channel=release&oldversion=%OLD_VERSION%
+  conditions:
+      blob-types: [wnp]
+      release-types: [release]
+      products: [thunderbird]
+      update-channel: release
+      versions: ["<{version.major_number}.0"]
+- type: show-url
+  # yamllint disable-line rule:line-length
+  url: https://live.thunderbird.net/thunderbird/whatsnew?locale=%LOCALE%&version={version}&channel=beta&oldversion=%OLD_VERSION%
   conditions:
       blob-types: [wnp]
       release-types: [beta]
diff --git a/comm/mail/extensions/openpgp/content/modules/encryption.sys.mjs b/comm/mail/extensions/openpgp/content/modules/encryption.sys.mjs
index b8420857d5b85fc2d65d6cda4a3ed44f5c24437b..111ab689633ec83779a067962254dd87970357c4 100644
--- a/comm/mail/extensions/openpgp/content/modules/encryption.sys.mjs
+++ b/comm/mail/extensions/openpgp/content/modules/encryption.sys.mjs
@@ -63,7 +63,14 @@ export var EnigmailEncryption = {
     result.senderKeyIsExternal = false;
 
     try {
-      fromMailAddr = lazy.EnigmailFuncs.stripEmail(fromMailAddr);
+      if (/^0x[0-9a-f]+$/i.test(fromMailAddr)) {
+        result.sender = fromMailAddr;
+      } else {
+        fromMailAddr = lazy.EnigmailFuncs.stripEmail(fromMailAddr);
+        result.sender = "<" + fromMailAddr + ">";
+      }
+      result.sender = result.sender.replace(/(["'`])/g, "\\$1");
+
       toMailAddr = lazy.EnigmailFuncs.stripEmail(toMailAddr);
       bccMailAddr = lazy.EnigmailFuncs.stripEmail(bccMailAddr);
     } catch (ex) {
@@ -105,13 +112,6 @@ export var EnigmailEncryption = {
       result.bcc.splice(0, 1); // remove the single empty entry
     }
 
-    if (/^0x[0-9a-f]+$/i.test(fromMailAddr)) {
-      result.sender = fromMailAddr;
-    } else {
-      result.sender = "<" + fromMailAddr + ">";
-    }
-    result.sender = result.sender.replace(/(["'`])/g, "\\$1");
-
     if (signMsg && hashAlgorithm) {
       result.signatureHash = hashAlgorithm;
     }
diff --git a/comm/mail/extensions/openpgp/content/modules/funcs.sys.mjs b/comm/mail/extensions/openpgp/content/modules/funcs.sys.mjs
index aff9904c1e67fb72e5b3382338fb632b7fc41af5..26845e89d0bdd4a0aa119a971f825637464ada2f 100644
--- a/comm/mail/extensions/openpgp/content/modules/funcs.sys.mjs
+++ b/comm/mail/extensions/openpgp/content/modules/funcs.sys.mjs
@@ -29,60 +29,9 @@ export var EnigmailFuncs = {
    * @returns {string} a list of pure email addresses separated by ","
    */
   stripEmail(mailAddresses) {
-    const SIMPLE = "[^<>,]+"; // RegExp for a simple email address (e.g. a@b.c)
-    const COMPLEX = "[^<>,]*<[^<>, ]+>"; // RegExp for an address containing <...> (e.g. Name <a@b.c>)
-    const MatchAddr = new RegExp(
-      "^(" + SIMPLE + "|" + COMPLEX + ")(," + SIMPLE + "|," + COMPLEX + ")*$"
-    );
-
-    let mailAddrs = mailAddresses;
-
-    let qStart, qEnd;
-    while ((qStart = mailAddrs.indexOf('"')) >= 0) {
-      qEnd = mailAddrs.indexOf('"', qStart + 1);
-      if (qEnd < 0) {
-        throw new Error(`Unmatched quote in mail address: ${mailAddresses}`);
-      }
-
-      mailAddrs =
-        mailAddrs.substring(0, qStart) + mailAddrs.substring(qEnd + 1);
-    }
-
-    // replace any ";" by ","; remove leading/trailing ","
-    mailAddrs = mailAddrs
-      .replace(/[,;]+/g, ",")
-      .replace(/^,/, "")
-      .replace(/,$/, "");
-
-    if (mailAddrs.length === 0) {
-      return "";
-    }
-
-    // having two <..> <..> in one email, or things like <a@b.c,><d@e.f> is an error
-    if (mailAddrs.search(MatchAddr) < 0) {
-      throw new Error(
-        `Invalid <..> brackets in mail address: ${mailAddresses}`
-      );
-    }
-
-    // We know that the "," and the < > are at the right places, thus we can split by ","
-    const addrList = mailAddrs.split(/,/);
-
-    for (const i in addrList) {
-      // Extract pure e-mail address list (strip out anything before angle brackets and any whitespace)
-      addrList[i] = addrList[i]
-        .replace(/^([^<>]*<)([^<>]+)(>)$/, "$2")
-        .replace(/\s/g, "");
-    }
-
-    // remove repeated, trailing and leading "," (again, as there may be empty addresses)
-    mailAddrs = addrList
-      .join(",")
-      .replace(/,,/g, ",")
-      .replace(/^,/, "")
-      .replace(/,$/, "");
-
-    return mailAddrs;
+    return this.parseEmails(mailAddresses, false)
+      .map(addr => addr.email)
+      .join(",");
   },
 
   /**
diff --git a/comm/mail/locales/l10n-changesets.json b/comm/mail/locales/l10n-changesets.json
index 89bfcd5ed2a4169e204ce9f1e233a3184ecb20e6..b105c589904f9792fc92b6afa5b869378ef28f80 100644
--- a/comm/mail/locales/l10n-changesets.json
+++ b/comm/mail/locales/l10n-changesets.json
@@ -8,7 +8,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "ar": {
         "pin": false,
@@ -19,7 +19,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "ast": {
         "pin": false,
@@ -30,7 +30,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "be": {
         "pin": false,
@@ -41,7 +41,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "bg": {
         "pin": false,
@@ -52,7 +52,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "br": {
         "pin": false,
@@ -63,7 +63,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "ca": {
         "pin": false,
@@ -74,7 +74,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "cak": {
         "pin": false,
@@ -85,7 +85,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "cs": {
         "pin": false,
@@ -96,7 +96,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "cy": {
         "pin": false,
@@ -107,7 +107,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "da": {
         "pin": false,
@@ -118,7 +118,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "de": {
         "pin": false,
@@ -129,7 +129,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "dsb": {
         "pin": false,
@@ -140,7 +140,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "el": {
         "pin": false,
@@ -151,7 +151,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "en-CA": {
         "pin": false,
@@ -162,7 +162,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "en-GB": {
         "pin": false,
@@ -173,7 +173,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "es-AR": {
         "pin": false,
@@ -184,7 +184,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "es-ES": {
         "pin": false,
@@ -195,7 +195,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "es-MX": {
         "pin": false,
@@ -206,7 +206,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "et": {
         "pin": false,
@@ -217,7 +217,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "eu": {
         "pin": false,
@@ -228,7 +228,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "fi": {
         "pin": false,
@@ -239,7 +239,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "fr": {
         "pin": false,
@@ -250,7 +250,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "fy-NL": {
         "pin": false,
@@ -261,7 +261,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "ga-IE": {
         "pin": false,
@@ -272,7 +272,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "gd": {
         "pin": false,
@@ -283,7 +283,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "gl": {
         "pin": false,
@@ -294,7 +294,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "he": {
         "pin": false,
@@ -305,7 +305,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "hr": {
         "pin": false,
@@ -316,7 +316,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "hsb": {
         "pin": false,
@@ -327,7 +327,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "hu": {
         "pin": false,
@@ -338,7 +338,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "hy-AM": {
         "pin": false,
@@ -349,7 +349,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "id": {
         "pin": false,
@@ -360,7 +360,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "is": {
         "pin": false,
@@ -371,7 +371,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "it": {
         "pin": false,
@@ -382,7 +382,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "ja": {
         "pin": false,
@@ -392,14 +392,14 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "ja-JP-mac": {
         "pin": false,
         "platforms": [
             "macosx64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "ka": {
         "pin": false,
@@ -410,7 +410,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "kab": {
         "pin": false,
@@ -421,7 +421,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "kk": {
         "pin": false,
@@ -432,7 +432,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "ko": {
         "pin": false,
@@ -443,7 +443,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "lt": {
         "pin": false,
@@ -454,7 +454,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "lv": {
         "pin": false,
@@ -465,7 +465,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "ms": {
         "pin": false,
@@ -476,7 +476,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "nb-NO": {
         "pin": false,
@@ -487,7 +487,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "nl": {
         "pin": false,
@@ -498,7 +498,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "nn-NO": {
         "pin": false,
@@ -509,7 +509,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "pa-IN": {
         "pin": false,
@@ -520,7 +520,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "pl": {
         "pin": false,
@@ -531,7 +531,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "pt-BR": {
         "pin": false,
@@ -542,7 +542,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "pt-PT": {
         "pin": false,
@@ -553,7 +553,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "rm": {
         "pin": false,
@@ -564,7 +564,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "ro": {
         "pin": false,
@@ -575,7 +575,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "ru": {
         "pin": false,
@@ -586,7 +586,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "sk": {
         "pin": false,
@@ -597,7 +597,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "sl": {
         "pin": false,
@@ -608,7 +608,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "sq": {
         "pin": false,
@@ -619,7 +619,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "sr": {
         "pin": false,
@@ -630,7 +630,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "sv-SE": {
         "pin": false,
@@ -641,7 +641,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "th": {
         "pin": false,
@@ -652,7 +652,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "tr": {
         "pin": false,
@@ -663,7 +663,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "uk": {
         "pin": false,
@@ -674,7 +674,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "uz": {
         "pin": false,
@@ -685,7 +685,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "vi": {
         "pin": false,
@@ -696,7 +696,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "zh-CN": {
         "pin": false,
@@ -707,7 +707,7 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     },
     "zh-TW": {
         "pin": false,
@@ -718,6 +718,6 @@
             "win32",
             "win64"
         ],
-        "revision": "eccfbb4a04c9fdce55fa0b8fc09a9618e703d0eb"
+        "revision": "ef22530d3e63b723840adb186d328985223d0e60"
     }
 }
\ No newline at end of file
diff --git a/comm/mail/test/browser/import/browser.ini b/comm/mail/test/browser/import/browser.ini
index 16bcec3d79b9680469475d44df2f6a9cc0454b97..1d164786d9a8a30dbfa707b2cd7a9a05685c3399 100644
--- a/comm/mail/test/browser/import/browser.ini
+++ b/comm/mail/test/browser/import/browser.ini
@@ -11,3 +11,4 @@ subsuite = thunderbird
 
 [browser_exportProfile.js]
 [browser_importProfile.js]
+[browser_importTabChange.js]
diff --git a/comm/mail/test/browser/import/browser_importTabChange.js b/comm/mail/test/browser/import/browser_importTabChange.js
new file mode 100644
index 0000000000000000000000000000000000000000..ef0ae7cf1b498097da9503b004513afc46c5ebaf
--- /dev/null
+++ b/comm/mail/test/browser/import/browser_importTabChange.js
@@ -0,0 +1,69 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/.
+ */
+
+"use strict";
+
+add_task(async function () {
+  const tab = await new Promise(resolve => {
+    const tab = window.openTab("contentTab", {
+      url: "about:import",
+      onLoad() {
+        resolve(tab);
+      },
+    });
+  });
+  const tabWindow = tab.browser.contentWindow;
+  async function waitForHash(targetHash) {
+    if (tabWindow.location.hash === targetHash) {
+      return TestUtils.waitForTick();
+    }
+    return new Promise(resolve => {
+      tabWindow.addEventListener("hashchange", () => {
+        if (tabWindow.location.hash === targetHash) {
+          resolve();
+        }
+      });
+    });
+  }
+
+  window.toExport();
+  await waitForHash("#export");
+  Assert.ok(
+    BrowserTestUtils.isVisible(
+      tabWindow.document.getElementById("tabPane-export")
+    ),
+    "Export pane should be visible"
+  );
+
+  window.toImport("addressBook");
+  await waitForHash("#addressBook");
+  Assert.ok(
+    BrowserTestUtils.isVisible(
+      tabWindow.document.getElementById("tabPane-addressBook")
+    ),
+    "Address book flow should be visible"
+  );
+
+  window.toImport("calendar");
+  await waitForHash("#calendar");
+  Assert.ok(
+    BrowserTestUtils.isVisible(
+      tabWindow.document.getElementById("tabPane-calendar")
+    ),
+    "Calendar flow should be visible"
+  );
+
+  window.toImport();
+  await waitForHash("#start");
+  Assert.ok(
+    BrowserTestUtils.isVisible(
+      tabWindow.document.getElementById("tabPane-start")
+    ),
+    "Import start pane should be visible"
+  );
+
+  window.tabmail.closeTab(tab);
+});
diff --git a/comm/mail/test/browser/openpgp/browser_openPGPDrafts.js b/comm/mail/test/browser/openpgp/browser_openPGPDrafts.js
index 5307f33a3a07421de7f701568376466b8da88281..1a2fd17e18a292f5e0dc6b83f531ad91b16eddc1 100644
--- a/comm/mail/test/browser/openpgp/browser_openPGPDrafts.js
+++ b/comm/mail/test/browser/openpgp/browser_openPGPDrafts.js
@@ -126,6 +126,14 @@ add_task(async function testDraftReplyToEncryptedMessageKeepsRePrefix() {
     await BrowserTestUtils.closeWindow(msgc);
 
     const replyWindow = await replyWindowPromise;
+
+    // Without the delay, the saving attempt that follows sometimes
+    // fails. The code to save the encrypted draft fails, because
+    // it finds no recipients. Maybe after opening the window,
+    // some time is needed to correctly populate the reply window.
+    // eslint-disable-next-line mozilla/no-arbitrary-setTimeout
+    await new Promise(resolve => setTimeout(resolve, 100));
+
     await save_compose_message(replyWindow);
     replyWindow.close();
 
diff --git a/comm/mail/themes/shared/mail/accountManage.css b/comm/mail/themes/shared/mail/accountManage.css
index 7ddc14d28ad76230ad5f8588c31f01967158092d..20e31465d19acce59d9c20eda8038a4affdfd66f 100644
--- a/comm/mail/themes/shared/mail/accountManage.css
+++ b/comm/mail/themes/shared/mail/accountManage.css
@@ -208,6 +208,10 @@ richlistitem[default="true"],
   margin-block: 4px;
 }
 
+#identity\.smtpServerKey {
+  width: 0;
+}
+
 #autosyncNotDownload {
   margin-inline-end: 12px;
 }
diff --git a/comm/mail/themes/shared/mail/messageHeader.css b/comm/mail/themes/shared/mail/messageHeader.css
index 48212c3bf13f028c931f8852b65129342861f44e..5f2a650e895bb9a5e59c5a13c5326ea31ebc625c 100644
--- a/comm/mail/themes/shared/mail/messageHeader.css
+++ b/comm/mail/themes/shared/mail/messageHeader.css
@@ -854,9 +854,6 @@ button.email-action-flagged {
 .header-message-url a {
   display: inline-block;
   max-width: 80vw;
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
 }
 
 .tags-list {
diff --git a/comm/mailnews/base/src/nsMsgDBView.cpp b/comm/mailnews/base/src/nsMsgDBView.cpp
index 73169d18c75577d4129bbdfe294050513fc0b738..88d2513df7ea807d9a79fe787042fe550f69866c 100644
--- a/comm/mailnews/base/src/nsMsgDBView.cpp
+++ b/comm/mailnews/base/src/nsMsgDBView.cpp
@@ -2032,24 +2032,39 @@ nsMsgDBView::CellDataForColumns(int32_t aRow,
   nsresult rv;
   _retval.Clear();
 
-  uint32_t count = aColumnNames.Length();
+  rv = GetRowProperties(aRow, aProperties);
+  if (NS_FAILED(rv)) {
+    _retval.Clear();
+    return rv;
+  }
+
+  nsTArray<nsString> _columnNames = aColumnNames.Clone();
+  // If we're rendering a dummy row, always append unread and total count if we
+  // don't fetch them already as we need them for the subject column.
+  if (aProperties.LowerCaseEqualsLiteral("dummy")) {
+    nsString unreadColName = u"unreadCol"_ns;
+    if (!_columnNames.Contains(unreadColName)) {
+      _columnNames.AppendElement(unreadColName);
+    }
+    nsString totalColName = u"totalCol"_ns;
+    if (!_columnNames.Contains(totalColName)) {
+      _columnNames.AppendElement(totalColName);
+    }
+  }
+
+  uint32_t count = _columnNames.Length();
   _retval.SetCapacity(count);
-  for (nsString column : aColumnNames) {
+  for (nsString column : _columnNames) {
     nsString text;
     rv = CellTextForColumn(aRow, column, text);
     if (NS_FAILED(rv)) {
       _retval.Clear();
+      aProperties.Truncate();
       return rv;
     }
     _retval.AppendElement(text);
   }
 
-  rv = GetRowProperties(aRow, aProperties);
-  if (NS_FAILED(rv)) {
-    _retval.Clear();
-    return rv;
-  }
-
   rv = GetLevel(aRow, aThreadLevel);
   if (NS_FAILED(rv)) {
     _retval.Clear();
diff --git a/comm/mailnews/extensions/newsblog/feed-subscriptions.xhtml b/comm/mailnews/extensions/newsblog/feed-subscriptions.xhtml
index 1656acd32e939ad3e6fbf68780fba9d0b6b63cc8..c85d18a82cfd27482c9df3ece5a34df1a2a60607 100644
--- a/comm/mailnews/extensions/newsblog/feed-subscriptions.xhtml
+++ b/comm/mailnews/extensions/newsblog/feed-subscriptions.xhtml
@@ -106,7 +106,6 @@
 
         <tree
           id="rssSubscriptionsList"
-          treelines="true"
           flex="1"
           hidecolumnpicker="true"
           onselect="FeedSubscriptions.onSelect();"
diff --git a/comm/mailnews/import/content/aboutImport.js b/comm/mailnews/import/content/aboutImport.js
index 266b7d93a13ff5de07bfa9a9b45c73110a47b6ad..5b324f52940359a77ad670c2c815e24e2d8c969d 100644
--- a/comm/mailnews/import/content/aboutImport.js
+++ b/comm/mailnews/import/content/aboutImport.js
@@ -1534,6 +1534,8 @@ class StartController extends ImporterController {
   }
 }
 
+let currentTab;
+
 /**
  * Show a specific importing tab.
  *
@@ -1547,7 +1549,8 @@ function showTab(tabId, reset = false) {
     Steps.reset();
     restart();
   }
-  const selectedPaneId = `tabPane-${tabId.split("-")[1]}`;
+  currentTab = tabId.slice(4); // Cut off "tab-".
+  const selectedPaneId = `tabPane-${currentTab}`;
   const isExport = tabId === "tab-export";
   document.getElementById("importDocs").hidden = isExport;
   document.getElementById("exportDocs").hidden = !isExport;
@@ -1559,7 +1562,7 @@ function showTab(tabId, reset = false) {
   document.querySelector("link[rel=icon]").href = isExport
     ? "chrome://messenger/skin/icons/new/compact/export.svg"
     : "chrome://messenger/skin/icons/new/compact/import.svg";
-  location.hash = tabId.slice(4); // Cut off "tab-".
+  location.hash = currentTab;
   for (const tabPane of document.querySelectorAll("[id^=tabPane-]")) {
     tabPane.hidden = tabPane.id != selectedPaneId;
   }
@@ -1610,3 +1613,8 @@ document.addEventListener("DOMContentLoaded", () => {
     true
   );
 });
+window.addEventListener("hashchange", () => {
+  if (location.hash.slice(1) !== currentTab) {
+    showTab(location.hash.replace("#", "tab-"), true);
+  }
+});
diff --git a/comm/rust/.cargo/config.toml.in b/comm/rust/.cargo/config.toml.in
index 04c126379b310405121790c80dcf1f64f8cbb7b6..6de5229f14d8293a245c407fbdf2c8b3824f30b8 100644
--- a/comm/rust/.cargo/config.toml.in
+++ b/comm/rust/.cargo/config.toml.in
@@ -56,9 +56,9 @@ git = "https://github.com/mozilla-spidermonkey/jsparagus"
 rev = "61f399c53a641ebd3077c1f39f054f6d396a633c"
 replace-with = "vendored-sources"
 
-[source."git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a"]
+[source."git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"]
 git = "https://github.com/mozilla/application-services"
-rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 replace-with = "vendored-sources"
 
 [source."git+https://github.com/mozilla/audioipc?rev=3495905752a4263827f5d43737f9ca3ed0243ce0"]
@@ -66,9 +66,9 @@ git = "https://github.com/mozilla/audioipc"
 rev = "3495905752a4263827f5d43737f9ca3ed0243ce0"
 replace-with = "vendored-sources"
 
-[source."git+https://github.com/mozilla/cubeb-coreaudio-rs?rev=b5dc6e24314babd629118add364bce46f791b4db"]
+[source."git+https://github.com/mozilla/cubeb-coreaudio-rs?rev=8bce3b333a920999055397a397e59c2b81a93b9a"]
 git = "https://github.com/mozilla/cubeb-coreaudio-rs"
-rev = "b5dc6e24314babd629118add364bce46f791b4db"
+rev = "8bce3b333a920999055397a397e59c2b81a93b9a"
 replace-with = "vendored-sources"
 
 [source."git+https://github.com/mozilla/cubeb-pulse-rs?rev=8678dcab1c287de79c4c184ccc2e065bc62b70e2"]
diff --git a/comm/rust/Cargo.lock b/comm/rust/Cargo.lock
index 546a79222e79fb25d8f46fbca0ea3c150e1dde96..5fdda41c45629b7e0ca654ec17c7649334a291db 100644
--- a/comm/rust/Cargo.lock
+++ b/comm/rust/Cargo.lock
@@ -801,7 +801,7 @@ dependencies = [
 [[package]]
 name = "coreaudio-sys-utils"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/cubeb-coreaudio-rs?rev=b5dc6e24314babd629118add364bce46f791b4db#b5dc6e24314babd629118add364bce46f791b4db"
+source = "git+https://github.com/mozilla/cubeb-coreaudio-rs?rev=8bce3b333a920999055397a397e59c2b81a93b9a#8bce3b333a920999055397a397e59c2b81a93b9a"
 dependencies = [
  "core-foundation-sys",
  "coreaudio-sys",
@@ -1014,7 +1014,7 @@ dependencies = [
 [[package]]
 name = "cubeb-coreaudio"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/cubeb-coreaudio-rs?rev=b5dc6e24314babd629118add364bce46f791b4db#b5dc6e24314babd629118add364bce46f791b4db"
+source = "git+https://github.com/mozilla/cubeb-coreaudio-rs?rev=8bce3b333a920999055397a397e59c2b81a93b9a#8bce3b333a920999055397a397e59c2b81a93b9a"
 dependencies = [
  "atomic",
  "audio-mixer",
@@ -1022,7 +1022,6 @@ dependencies = [
  "coreaudio-sys-utils",
  "cubeb-backend",
  "float-cmp",
- "lazy_static",
  "libc",
  "mach",
  "ringbuf",
@@ -1473,7 +1472,7 @@ dependencies = [
 [[package]]
 name = "error-support"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "error-support-macros",
  "lazy_static",
@@ -1485,7 +1484,7 @@ dependencies = [
 [[package]]
 name = "error-support-macros"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2631,7 +2630,7 @@ dependencies = [
 [[package]]
 name = "interrupt-support"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "lazy_static",
  "parking_lot",
@@ -2960,9 +2959,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.21"
+version = "0.4.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
 
 [[package]]
 name = "mach"
@@ -3555,7 +3554,7 @@ dependencies = [
 [[package]]
 name = "nss_build_common"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 
 [[package]]
 name = "nsstring"
@@ -4171,7 +4170,7 @@ checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
 [[package]]
 name = "relevancy"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "anyhow",
  "base64",
@@ -4194,7 +4193,7 @@ dependencies = [
 [[package]]
 name = "remote_settings"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "parking_lot",
  "serde",
@@ -4658,7 +4657,7 @@ dependencies = [
 [[package]]
 name = "sql-support"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "ffi-support",
  "interrupt-support",
@@ -4816,7 +4815,7 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
 [[package]]
 name = "suggest"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "anyhow",
  "chrono",
@@ -4865,7 +4864,7 @@ dependencies = [
 [[package]]
 name = "sync-guid"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "base64",
  "rand",
@@ -4876,7 +4875,7 @@ dependencies = [
 [[package]]
 name = "sync15"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "anyhow",
  "error-support",
@@ -4907,7 +4906,7 @@ dependencies = [
 [[package]]
 name = "tabs"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "anyhow",
  "error-support",
@@ -5128,7 +5127,7 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
 [[package]]
 name = "types"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "rusqlite",
  "serde",
@@ -5472,7 +5471,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 [[package]]
 name = "viaduct"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "ffi-support",
  "log",
@@ -5526,7 +5525,7 @@ version = "0.3.100"
 [[package]]
 name = "webext-storage"
 version = "0.1.0"
-source = "git+https://github.com/mozilla/application-services?rev=3ca067683c7546e34bc8cdbe820fbe8e4089939a#3ca067683c7546e34bc8cdbe820fbe8e4089939a"
+source = "git+https://github.com/mozilla/application-services?rev=7c275b9088557abcbc8f3c2834f9aaa9064ca5e4#7c275b9088557abcbc8f3c2834f9aaa9064ca5e4"
 dependencies = [
  "anyhow",
  "error-support",
diff --git a/comm/rust/Cargo.toml b/comm/rust/Cargo.toml
index 788639388c81dfdb12024d062b1cb29260e9a18e..25bafb7a924d9847b3102f65534a74a451dd13de 100644
--- a/comm/rust/Cargo.toml
+++ b/comm/rust/Cargo.toml
@@ -67,13 +67,13 @@ libudev-sys = { path = "../../dom/webauthn/libudev-sys" }
 midir = { git = "https://github.com/mozilla/midir.git", rev = "85156e360a37d851734118104619f86bd18e94c6" }
 warp = { git = "https://github.com/seanmonstar/warp", rev = "9d081461ae1167eb321585ce424f4fef6cf0092b" }
 malloc_size_of_derive = { path = "../../xpcom/rust/malloc_size_of_derive" }
-interrupt-support = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
-relevancy = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
-sql-support = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
-suggest = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
-sync15 = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
-tabs = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
-viaduct = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
-webext-storage = { git = "https://github.com/mozilla/application-services", rev = "3ca067683c7546e34bc8cdbe820fbe8e4089939a" }
+interrupt-support = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
+relevancy = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
+sql-support = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
+suggest = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
+sync15 = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
+tabs = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
+viaduct = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
+webext-storage = { git = "https://github.com/mozilla/application-services", rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" }
 mio_0_8 = { package = "mio", git = "https://github.com/glandium/mio", rev = "9a2ef335c366044ffe73b1c4acabe50a1daefe05" }
 gpu-descriptor = { git = "https://github.com/zakarumych/gpu-descriptor", rev = "7b71a4e47c81903ad75e2c53deb5ab1310f6ff4d" }
diff --git a/comm/rust/checksums.json b/comm/rust/checksums.json
index 6608cacad91ffddda764c1bcdcc4f6d3d2306e51..1a2576a4e4b20f7fdbfa474b9e325369a6610add 100644
--- a/comm/rust/checksums.json
+++ b/comm/rust/checksums.json
@@ -1 +1 @@
-{"mc_workspace_toml": "d864953b9f7b706553090e5ff5be1895ca729f7fd9b1e7806a9cfc330ab8212268bb5b3337ab706d6d2d0a40f154978f305c572e7884f47080250b15ff658221", "mc_gkrust_toml": "3115e92d7234c9845d47dba19e905e5e7cfa53854bb70027c077ba66b04c0f89dbe4f474ad5a28f6f18f8e606d4a8b326cefa52ccd64f1b146dc0ad792fe2908", "mc_cargo_lock": "6335aaf27a3e80943bc988e110fc39b835ac2616581017bfc192ea54ee0edd30c6ca082514c25874cd32c7a397fbabe3263ab5ce65373a92323f9269c8b5e559"}
\ No newline at end of file
+{"mc_workspace_toml": "0815c7ace9023fdfba7f3790330181dce51d57edd04a99c0e7fe35f35a884ebcdcaaa9a03337f041f08a92e52d867bd0a38621c54987abaa42b94b49cd6245d0", "mc_gkrust_toml": "039a0c3619fca1fe8b4c4687b66be6811e9ca7f092096e3a8ddf26f5539a48106660f70e2ff964e450156cc12c17f48cf7718e3d796361325a10f350a9bc882b", "mc_cargo_lock": "ace08a7234d500427d99c5beaeb34dc03a32340a019b97349f11c6c905640fe5dce305a9e672ee8449c52950a6b5bbfed8c7316a199b4db1a04cb5107f0efc5c"}
\ No newline at end of file
diff --git a/comm/rust/gkrust/Cargo.toml b/comm/rust/gkrust/Cargo.toml
index aae92bc974cb419c2bd751a673631cac3651bec3..38b14cad4f1d1a101beedc39fef3ba8f7d8a0ad3 100644
--- a/comm/rust/gkrust/Cargo.toml
+++ b/comm/rust/gkrust/Cargo.toml
@@ -32,7 +32,7 @@ cert_storage = { path = "../../../security/manager/ssl/cert_storage" }
 chardetng_c = { version = "0.1.1" }
 cose-c = { version = "0.1.5" }
 crypto_hash = { path = "../../../security/manager/ssl/crypto_hash" }
-cubeb-coreaudio = { git = "https://github.com/mozilla/cubeb-coreaudio-rs", rev = "b5dc6e24314babd629118add364bce46f791b4db", optional = true }
+cubeb-coreaudio = { git = "https://github.com/mozilla/cubeb-coreaudio-rs", rev = "8bce3b333a920999055397a397e59c2b81a93b9a", optional = true }
 cubeb-pulse = { git = "https://github.com/mozilla/cubeb-pulse-rs", rev = "8678dcab1c287de79c4c184ccc2e065bc62b70e2", optional = true, features = ['pulse-dlopen'] }
 cubeb-sys = { version = "0.13", optional = true, features = ['gecko-in-tree'] }
 dap_ffi = { path = "../../../toolkit/components/telemetry/dap/ffi" }
diff --git a/comm/suite/config/version_display.txt b/comm/suite/config/version_display.txt
index 9edad19a31d8c12c996b36e7b7a8f321b8a262d3..544f8c56a5a77639b3890cd16eed4993dcbc9b94 100644
--- a/comm/suite/config/version_display.txt
+++ b/comm/suite/config/version_display.txt
@@ -1 +1 @@
-2.125b1
+2.125
diff --git a/comm/taskcluster/comm_taskgraph/loader/merge.py b/comm/taskcluster/comm_taskgraph/loader/merge.py
index 00b600cd0d3c4d202d659873e936b200de145c7d..30b49b773d19de1b0f5b3c8b079c93edf787ab99 100644
--- a/comm/taskcluster/comm_taskgraph/loader/merge.py
+++ b/comm/taskcluster/comm_taskgraph/loader/merge.py
@@ -2,17 +2,17 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-from gecko_taskgraph.loader.transform import loader as transform_loader
+from taskgraph.loader.transform import loader as transform_loader
 
 from comm_taskgraph.loader.reference import loader as reference_loader
 
 
 def loader(kind, path, config, params, loaded_tasks):
     """
-    Look up jobs via reference loader at reference-base-path using the list
-    reference-jobs-from, followed by jobs-from.
+    Look up tasks via reference loader at reference-base-path using the list
+    reference-tasks-from, followed by tasks-from.
 
-    This loader has been tested with "fetch" jobs successfully. Anything else
+    This loader has been tested with "fetch" tasks successfully. Anything else
     is likely to have bugs.
     """
     # Make a copy of config for reference_loader. Use pop here to remove the
@@ -20,10 +20,10 @@ def loader(kind, path, config, params, loaded_tasks):
     reference_config = {
         "kind-dependencies": config.get("kind-dependencies", None),
         "reference-base-path": config.pop("reference-base-path"),
-        "reference-jobs": config.pop("reference-jobs", None),
+        "reference-tasks": config.pop("reference-tasks", None),
     }
-    for job in reference_loader(kind, path, reference_config, params, loaded_tasks):
-        yield job
+    for task in reference_loader(kind, path, reference_config, params, loaded_tasks):
+        yield task
 
-    for job in transform_loader(kind, path, config, params, loaded_tasks):
-        yield job
+    for task in transform_loader(kind, path, config, params, loaded_tasks):
+        yield task
diff --git a/comm/taskcluster/comm_taskgraph/loader/reference.py b/comm/taskcluster/comm_taskgraph/loader/reference.py
index cb4d8f0565a0a884d5e4963f287056166eb7b5bf..22b6715a64d5a72ccd3800bd5d5e768e85dbbed7 100644
--- a/comm/taskcluster/comm_taskgraph/loader/reference.py
+++ b/comm/taskcluster/comm_taskgraph/loader/reference.py
@@ -12,18 +12,18 @@ from taskgraph.util.yaml import load_yaml
 logger = logging.getLogger(__name__)
 
 
-def _get_aliases(kind, job, project):
-    aliases = {job["name"]}
+def _get_aliases(kind, task, project):
+    aliases = {task["name"]}
 
     if kind == "toolchain":
-        if job["run"].get("toolchain-alias"):
+        if task["run"].get("toolchain-alias"):
             resolve_keyed_by(
-                job["run"],
+                task["run"],
                 "toolchain-alias",
-                item_name=f"{kind}-{job['name']}",
+                item_name=f"{kind}-{task['name']}",
                 project=project,
             )
-            aliaslist = job["run"].get("toolchain-alias")
+            aliaslist = task["run"].get("toolchain-alias")
             if aliaslist is not None:
                 if isinstance(aliaslist, str):
                     aliaslist = [aliaslist]
@@ -34,13 +34,13 @@ def _get_aliases(kind, job, project):
 
 
 def _expand_aliases(kind, inputs, project):
-    """Given the list of all "reference-jobs" pulled in from upstream, return a
-    set with all job names and aliases.
+    """Given the list of all "reference-tasks" pulled in from upstream, return a
+    set with all task names and aliases.
     For example "linux64-clang" is an alias of "linux64-clang-13", and both
     of those names will be included in the returned set."""
     rv = set()
-    for input_job in inputs:
-        for alias in _get_aliases(kind, input_job, project):
+    for input_task in inputs:
+        for alias in _get_aliases(kind, input_task, project):
             rv.add(alias)
     return rv
 
@@ -55,11 +55,11 @@ def _get_loader(path, config):
 
 def loader(kind, path, config, params, loaded_tasks):
     """
-    Loads selected jobs from a different taskgraph hierarchy.
+    Loads selected tasks from a different taskgraph hierarchy.
 
-    This loads jobs of the given kind from the taskgraph rooted at `base-path`,
-    and includes all the jobs with names or aliases matching the names in the
-    `jobs` key.
+    This loads tasks of the given kind from the taskgraph rooted at `base-path`,
+    and includes all the tasks with names or aliases matching the names in the
+    `tasks` key.
     """
     base_path = config.pop("reference-base-path")
     sub_path = os.path.join(base_path, kind)
@@ -69,25 +69,27 @@ def loader(kind, path, config, params, loaded_tasks):
     _loader = _get_loader(sub_path, sub_config)
     inputs = _loader(kind, sub_path, sub_config, params, loaded_tasks)
 
-    jobs = config.pop("reference-jobs", None)
+    tasks = config.pop("reference-tasks", None)
 
     config.update(sub_config)
     project = params["project"]
 
-    if jobs is not None:
-        jobs = set(jobs)
+    if tasks is not None:
+        tasks = set(tasks)
 
-        found_reference_jobs = [job for job in inputs if (_get_aliases(kind, job, project) & jobs)]
+        found_reference_tasks = [
+            task for task in inputs if (_get_aliases(kind, task, project) & tasks)
+        ]
 
-        # Check for jobs listed as a reference job in Thunderbird's config
+        # Check for tasks listed as a reference task in Thunderbird's config
         # that do not exist in upstream.
-        reference_alias_names = _expand_aliases(kind, found_reference_jobs, project)
-        if reference_alias_names >= jobs:
-            return found_reference_jobs
+        reference_alias_names = _expand_aliases(kind, found_reference_tasks, project)
+        if reference_alias_names >= tasks:
+            return found_reference_tasks
         else:
-            missing_jobs = jobs - reference_alias_names
+            missing_tasks = tasks - reference_alias_names
             raise Exception(
-                "Reference jobs not found in kind {}: {}".format(kind, ", ".join(missing_jobs))
+                "Reference tasks not found in kind {}: {}".format(kind, ", ".join(missing_tasks))
             )
     else:
         return inputs
diff --git a/comm/taskcluster/comm_taskgraph/transforms/push_langpacks.py b/comm/taskcluster/comm_taskgraph/transforms/push_langpacks.py
index 5389296371593f06be63303ef72dd64cc62d236a..6b3fdb539fdeee96de1265832f01f985f16b5a96 100644
--- a/comm/taskcluster/comm_taskgraph/transforms/push_langpacks.py
+++ b/comm/taskcluster/comm_taskgraph/transforms/push_langpacks.py
@@ -29,7 +29,7 @@ PUSH_LANGPACK_SCOPE = (
 langpack_push_description_schema = Schema(
     {
         Optional("dependencies"): task_description_schema["dependencies"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
         Required("worker"): {
             Required("env"): {str: taskref_or_string},
             Required("channel"): optionally_keyed_by(
diff --git a/comm/taskcluster/docs/kinds.rst b/comm/taskcluster/docs/kinds.rst
index 5d251b0cb39467c86439739ad4ce20b0abc1f61d..2d027bece994bdca7194b6ccfad8eef63a97a549 100644
--- a/comm/taskcluster/docs/kinds.rst
+++ b/comm/taskcluster/docs/kinds.rst
@@ -34,7 +34,7 @@ Using
 Parameters
 ..........
 
-There are some task parameters specific to this job kind.
+There are some task parameters specific to this task kind.
 
 - locale-list:
   Points to either `shipped-locales` or `all-locales`. This file is used to
@@ -63,7 +63,7 @@ and `comm-l10n`, merge them, and create a tar file.
 shippable-l10n-pre-signing
 --------------------------
 
-Signing job for shippable-l10n-pre artifacts
+Signing task for shippable-l10n-pre artifacts
 
 
 source-docs
diff --git a/comm/taskcluster/docs/loading.rst b/comm/taskcluster/docs/loading.rst
index 3c9c5b1468a64a7d3dda3a671931a2a2c64bbb6f..493a3705003f7f6c746a4f7190f77d1981ce4466 100644
--- a/comm/taskcluster/docs/loading.rst
+++ b/comm/taskcluster/docs/loading.rst
@@ -14,7 +14,7 @@ comm_taskgraph.loader
 reference
 .........
 
-Loads selected jobs from a different taskgraph hierarchy.
+Loads selected tasks from a different taskgraph hierarchy.
 
 The ``reference`` loader is used to import kinds from the Firefox Taskcluster
 base path.
@@ -24,11 +24,11 @@ base path.
 merge
 .....
 
-Loads jobs for a kind from two Taskcluster base paths. The results are "merged"
-together into a single kind, allowing for using the Firefox defined jobs as
-a base and adding additional jobs.
+Loads tasks for a kind from two Taskcluster base paths. The results are "merged"
+together into a single kind, allowing for using the Firefox defined tasks as
+a base and adding additional tasks.
 
-First jobs are imported from Firefox's Taskcluster base path using the reference
-loader. Then jobs are read from the kind directory using ``jobs-from``.
+First tasks are imported from Firefox's Taskcluster base path using the reference
+loader. Then tasks are read from the kind directory using ``tasks-from``.
 
 ``docker-image`` and ``toolchain`` use this loader.
diff --git a/comm/taskcluster/kinds/balrog/kind.yml b/comm/taskcluster/kinds/balrog/kind.yml
index 2c5690e73249dcc51e00a667740340e8d3e50b7a..fc468cfb0c981bd87d48e84ab7033fa6adf7ce9f 100644
--- a/comm/taskcluster/kinds/balrog/kind.yml
+++ b/comm/taskcluster/kinds/balrog/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -17,7 +17,7 @@ kind-dependencies:
 only-for-attributes:
     - shippable
 
-jobs:
+tasks:
     balrog:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/beetmover-checksums/kind.yml b/comm/taskcluster/kinds/beetmover-checksums/kind.yml
index 1c7c6f47aac6e7fb07d971d8ccd53751407bd6b8..8934791603fe9175ed6de5ccdf49db5b7980ba99 100644
--- a/comm/taskcluster/kinds/beetmover-checksums/kind.yml
+++ b/comm/taskcluster/kinds/beetmover-checksums/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -16,7 +16,7 @@ kind-dependencies:
 only-for-attributes:
     - shippable
 
-jobs:
+tasks:
     beetmover-checksums:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/beetmover-repackage/kind.yml b/comm/taskcluster/kinds/beetmover-repackage/kind.yml
index 6721e434beda194d2ee3327f9559723260677d56..0447c0b001965863792c8c9a04f8bee3cd7bacf7 100644
--- a/comm/taskcluster/kinds/beetmover-repackage/kind.yml
+++ b/comm/taskcluster/kinds/beetmover-repackage/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -42,7 +42,7 @@ only-for-build-platforms:
     - win64-shippable/opt
     - win64-asan-reporter-shippable/opt
 
-jobs:
+tasks:
     beetmover-repackage:
         from-deps:
             group-by: single-locale
diff --git a/comm/taskcluster/kinds/beetmover-source/kind.yml b/comm/taskcluster/kinds/beetmover-source/kind.yml
index 54f1def59a78b7179281bb8e7ef4b2be0645ac17..ea4947d6e58bb18636423f748619b5bc414e0133 100644
--- a/comm/taskcluster/kinds/beetmover-source/kind.yml
+++ b/comm/taskcluster/kinds/beetmover-source/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -14,7 +14,7 @@ transforms:
 kind-dependencies:
     - release-source-signing
 
-jobs:
+tasks:
     beetmover-source:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/beetmover-strings-source/kind.yml b/comm/taskcluster/kinds/beetmover-strings-source/kind.yml
index 645728e3f41e67dabc96f83ae43f6652efd311ed..cc1d6759dbff1d59936181ca558ec55c1ea90c7f 100644
--- a/comm/taskcluster/kinds/beetmover-strings-source/kind.yml
+++ b/comm/taskcluster/kinds/beetmover-strings-source/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -14,7 +14,7 @@ transforms:
 kind-dependencies:
     - shippable-l10n-pre-signing
 
-jobs:
+tasks:
     beetmover-strings-source:
         from-deps: {}
         shipping-phase: promote
diff --git a/comm/taskcluster/kinds/bouncer-locations/kind.yml b/comm/taskcluster/kinds/bouncer-locations/kind.yml
index be2854e5b03f2ab0726436c78f2eb7618710104f..87ba7ea90f322cff4e313223e5b3741fbf447ab4 100644
--- a/comm/taskcluster/kinds/bouncer-locations/kind.yml
+++ b/comm/taskcluster/kinds/bouncer-locations/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - post-beetmover-dummy
@@ -13,7 +13,7 @@ transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     description: nightly bouncer locations job
     attributes:
         shippable: true
@@ -34,7 +34,7 @@ job-defaults:
         kind: other
         tier: 1
 
-jobs:
+tasks:
     thunderbird:
         run-on-releases: ['nightly']
         run-on-projects: ['comm-central']
diff --git a/comm/taskcluster/kinds/build-mac-notarization/kind.yml b/comm/taskcluster/kinds/build-mac-notarization/kind.yml
index 8d049b36954ae5a093f8686acf806fcfbd00a097..216c997e62e7479f5141c1132ae6705d90cb1824 100644
--- a/comm/taskcluster/kinds/build-mac-notarization/kind.yml
+++ b/comm/taskcluster/kinds/build-mac-notarization/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -17,7 +17,7 @@ kind-dependencies:
 only-for-attributes:
     - shippable
 
-jobs:
+tasks:
     build-mac-notarization:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/build-mac-signing/kind.yml b/comm/taskcluster/kinds/build-mac-signing/kind.yml
index 5910bd93d9d45c9e5348320983f68d0594a73738..f279d3318bd0e5ccf5e25330053e3347b37eefd2 100644
--- a/comm/taskcluster/kinds/build-mac-signing/kind.yml
+++ b/comm/taskcluster/kinds/build-mac-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -25,7 +25,7 @@ only-for-build-platforms:
     - macosx64-rust/opt
     - macosx64/debug
 
-jobs:
+tasks:
     build-mac-signing:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/build-signing/kind.yml b/comm/taskcluster/kinds/build-signing/kind.yml
index f6b90f8e7c806587556a87219263150f76c7f622..5d633f1fc9c08e788896deb1e0ab278e1d0597a5 100644
--- a/comm/taskcluster/kinds/build-signing/kind.yml
+++ b/comm/taskcluster/kinds/build-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -26,7 +26,7 @@ not-for-build-platforms:
     - macosx64-rust/opt
     - macosx64/debug
 
-jobs:
+tasks:
     build-signing:
         from-deps:
             group-by: platform
diff --git a/comm/taskcluster/kinds/build/kind.yml b/comm/taskcluster/kinds/build/kind.yml
index 194591d83d29740bad246af0343c6f9beec84c20..1d6c4ec068011cc854a1408a1a596cf53243e7ef 100644
--- a/comm/taskcluster/kinds/build/kind.yml
+++ b/comm/taskcluster/kinds/build/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - fetch
@@ -17,12 +17,12 @@ transforms:
     - gecko_taskgraph.transforms.artifact:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-jobs-from:
+tasks-from:
     - linux.yml
     - macosx.yml
     - windows.yml
 
-job-defaults:
+task-defaults:
     worker:
         env:
             MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
diff --git a/comm/taskcluster/kinds/build/linux.yml b/comm/taskcluster/kinds/build/linux.yml
index 63f2db20e605c8fb3b5b1d862a71a1f0da3d8fad..3632cc552e3bf2415f57caf273731ec96a542365 100644
--- a/comm/taskcluster/kinds/build/linux.yml
+++ b/comm/taskcluster/kinds/build/linux.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: b-linux-gcp
     run:
         using: mozharness
diff --git a/comm/taskcluster/kinds/build/macosx.yml b/comm/taskcluster/kinds/build/macosx.yml
index 0dd0a42b23c957bd34bd8543ba6e3d6b425c1617..e2e7dbc511742847e11dab769292c964e9e9f21e 100644
--- a/comm/taskcluster/kinds/build/macosx.yml
+++ b/comm/taskcluster/kinds/build/macosx.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     index:
         product: thunderbird
     worker-type: b-linux-gcp
diff --git a/comm/taskcluster/kinds/build/windows.yml b/comm/taskcluster/kinds/build/windows.yml
index c60c79999bfc283a9815f29af4907bba135583bc..4d76e68cd4e7f88d821946d750c1d0e81c402404 100644
--- a/comm/taskcluster/kinds/build/windows.yml
+++ b/comm/taskcluster/kinds/build/windows.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     run:
         using: mozharness
         comm-checkout: true
diff --git a/comm/taskcluster/kinds/code-review/kind.yml b/comm/taskcluster/kinds/code-review/kind.yml
index 16586e5a20be494a9183bf95689b4d2498f2c90e..e77da14c27a2f7d38091803b2b3565c559b8a594 100644
--- a/comm/taskcluster/kinds/code-review/kind.yml
+++ b/comm/taskcluster/kinds/code-review/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.code_review:transforms
@@ -13,10 +13,10 @@ kind-dependencies:
     - source-test
     - toolchain
 
-job-defaults:
+task-defaults:
     use-python: default
 
-jobs:
+tasks:
     issues:
         label: code-review-issues
         description: List all issues found in static analysis and linting tasks
diff --git a/comm/taskcluster/kinds/docker-image/kind.yml b/comm/taskcluster/kinds/docker-image/kind.yml
index 2d04265c2e9d356835dcfe9c89ff4b457d586230..ac2458d3fac5159abd64e586d1c957f7eda79861 100644
--- a/comm/taskcluster/kinds/docker-image/kind.yml
+++ b/comm/taskcluster/kinds/docker-image/kind.yml
@@ -8,7 +8,7 @@ reference-base-path: taskcluster/kinds
 kind-dependencies:
     - packages
 
-reference-jobs:
+reference-tasks:
     - android-build
     - debian8-i386-packages
     - debian8-i386-raw
@@ -47,5 +47,5 @@ transforms:
     - gecko_taskgraph.transforms.cached_tasks:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-jobs-from:
+tasks-from:
     - docker-image.yml
diff --git a/comm/taskcluster/kinds/l10n-bump/kind.yml b/comm/taskcluster/kinds/l10n-bump/kind.yml
index 0ee4d2682c63ef8dd8ef7a844cd23456ffe595f7..2d3141e21e5213f3a3cf32baf60e4b19a845356d 100644
--- a/comm/taskcluster/kinds/l10n-bump/kind.yml
+++ b/comm/taskcluster/kinds/l10n-bump/kind.yml
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_version_bump:transforms
     - gecko_taskgraph.transforms.task:transforms
 
 
-job-defaults:
+task-defaults:
     worker-type: tree
     worker:
         implementation: treescript
@@ -74,7 +74,7 @@ job-defaults:
                           "path": "mail/locales/all-locales",
                       }]
 
-jobs:
+tasks:
     l10n-bumper:
         name: l10n_bumper
         description: l10n changesets bumper (action/cron)
diff --git a/comm/taskcluster/kinds/l10n-cross-channel/kind.yml b/comm/taskcluster/kinds/l10n-cross-channel/kind.yml
index ff1e645918178a465b27f1e56917a0abdac11806..b52717f70b0a577bf91c53f03eacc67e82116da5 100644
--- a/comm/taskcluster/kinds/l10n-cross-channel/kind.yml
+++ b/comm/taskcluster/kinds/l10n-cross-channel/kind.yml
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - comm_taskgraph.transforms.tb_cross_channel:transforms
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-jobs:
+tasks:
     quarantine:
         description: Push strings from all shipping trains to comm-strings-quarantine
         run-on-projects: []
diff --git a/comm/taskcluster/kinds/l10n-pre/kind.yml b/comm/taskcluster/kinds/l10n-pre/kind.yml
index aa1bfa274370bdefe36a179f82c61ae248fb1e90..c7413cf4ba657f12d2087cc981355666484fe04e 100644
--- a/comm/taskcluster/kinds/l10n-pre/kind.yml
+++ b/comm/taskcluster/kinds/l10n-pre/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -14,7 +14,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     treeherder:
         symbol: L10n-pre
     worker-type: b-linux-gcp
@@ -47,7 +47,7 @@ job-defaults:
     optimization: null
 
 
-jobs:
+tasks:
     l10n-pre/opt:
         description: Pre-Localization artifact build
         treeherder:
diff --git a/comm/taskcluster/kinds/l10n/kind.yml b/comm/taskcluster/kinds/l10n/kind.yml
index 4968b4a3e00e87f082d244c3819eb4376ce96586..f9e59110596bd222619c95d0d5dd40716396e0b7 100644
--- a/comm/taskcluster/kinds/l10n/kind.yml
+++ b/comm/taskcluster/kinds/l10n/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -25,7 +25,7 @@ only-for-build-platforms:
     - win32/opt
     - win64/opt
 
-jobs:
+tasks:
     l10n:
         description: Localization
         from-deps:
diff --git a/comm/taskcluster/kinds/mar-signing-l10n/kind.yml b/comm/taskcluster/kinds/mar-signing-l10n/kind.yml
index 4054e8640875e86def6b50add7c3a081c88d2bd3..554c57ad0c0d3d736a2e5f6ba82e45a839102a6d 100644
--- a/comm/taskcluster/kinds/mar-signing-l10n/kind.yml
+++ b/comm/taskcluster/kinds/mar-signing-l10n/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -21,7 +21,7 @@ only-for-build-platforms:
     - win32-shippable/opt
     - win64-shippable/opt
 
-jobs:
+tasks:
     mar-signing-l10n:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/mar-signing/kind.yml b/comm/taskcluster/kinds/mar-signing/kind.yml
index ad65bd82eec89973f8e611ad528b732ca0d36097..001077019acda9089c49f494b657cc2a12153c55 100644
--- a/comm/taskcluster/kinds/mar-signing/kind.yml
+++ b/comm/taskcluster/kinds/mar-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -22,7 +22,7 @@ only-for-build-platforms:
     - win64-shippable/opt
     - win64-asan-reporter-shippable/opt
 
-jobs:
+tasks:
     mar-signing:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/merge-automation/kind.yml b/comm/taskcluster/kinds/merge-automation/kind.yml
index 700821081290939b3704ac915b7b4cec62811477..6f37ab3a9132e99c8914587b84c1cd87616f8e28 100644
--- a/comm/taskcluster/kinds/merge-automation/kind.yml
+++ b/comm/taskcluster/kinds/merge-automation/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.merge_automation:transforms
@@ -10,7 +10,7 @@ transforms:
     - gecko_taskgraph.transforms.task:transforms
 
 
-jobs:
+tasks:
     merge-automation:
         name: merge-automation
         label: merge-automation
diff --git a/comm/taskcluster/kinds/partials-signing/kind.yml b/comm/taskcluster/kinds/partials-signing/kind.yml
index 2c2bf0a9a0d1af74f1dbe91110c7110ad9450956..3fd3d5b407c3de22719ba8476ee31d30e13d4de3 100644
--- a/comm/taskcluster/kinds/partials-signing/kind.yml
+++ b/comm/taskcluster/kinds/partials-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - partials
 
-jobs:
+tasks:
     partials-signing:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/partials/kind.yml b/comm/taskcluster/kinds/partials/kind.yml
index 92d71cd8de4291886fae51f933e377daf31dc31e..b7b0324409d24c56c724e6ee585fc2df7c86da51 100644
--- a/comm/taskcluster/kinds/partials/kind.yml
+++ b/comm/taskcluster/kinds/partials/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -25,7 +25,7 @@ only-for-build-platforms:
     - win32-shippable/opt
     - win64-shippable/opt
 
-jobs:
+tasks:
     partials:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/post-balrog-dummy/kind.yml b/comm/taskcluster/kinds/post-balrog-dummy/kind.yml
index e1a9849bbc6b5bf0892b288bf9c5d142a30df2b3..80905de3f55a54af0d9c0a64649599e6b6179658 100644
--- a/comm/taskcluster/kinds/post-balrog-dummy/kind.yml
+++ b/comm/taskcluster/kinds/post-balrog-dummy/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - balrog
 
-jobs:
+tasks:
     post-balrog-dummy:
         description: Dummy task to deal with max_dependencies
         from-deps: {}
diff --git a/comm/taskcluster/kinds/post-beetmover-checksums-dummy/kind.yml b/comm/taskcluster/kinds/post-beetmover-checksums-dummy/kind.yml
index 3356c840428a80508fce0fd8d07c55b24e5f5189..417d574905fcf5f284b7521bc7191f55be13ca6f 100644
--- a/comm/taskcluster/kinds/post-beetmover-checksums-dummy/kind.yml
+++ b/comm/taskcluster/kinds/post-beetmover-checksums-dummy/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.reverse_chunk_deps:transforms
@@ -12,7 +12,7 @@ kind-dependencies:
     - beetmover-checksums
     - release-beetmover-source-checksums
 
-jobs:
+tasks:
     thunderbird-promote:
         name: post-beetmover-checksums-dummy
         description: Dummy task to deal with max_dependencies
diff --git a/comm/taskcluster/kinds/post-beetmover-dummy/kind.yml b/comm/taskcluster/kinds/post-beetmover-dummy/kind.yml
index e5d50ce256864379719e010138d83d19991aba13..58d5d5fcca2d07466580bc94573f6c080a8f5749 100644
--- a/comm/taskcluster/kinds/post-beetmover-dummy/kind.yml
+++ b/comm/taskcluster/kinds/post-beetmover-dummy/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -14,7 +14,7 @@ kind-dependencies:
     - beetmover-checksums
     - beetmover-repackage
 
-jobs:
+tasks:
     post-beetmover-dummy:
         description: Dummy task to deal with max_dependencies
         from-deps: {}
diff --git a/comm/taskcluster/kinds/release-balrog-scheduling/kind.yml b/comm/taskcluster/kinds/release-balrog-scheduling/kind.yml
index b88f56af95615d3e42bd1ccd71880e2ac4eeaf70..c58de513f7a70976f9adbd7193b709bba208b5e8 100644
--- a/comm/taskcluster/kinds/release-balrog-scheduling/kind.yml
+++ b/comm/taskcluster/kinds/release-balrog-scheduling/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -13,7 +13,7 @@ kind-dependencies:
     - release-bouncer-check
     - release-push-langpacks
 
-job-defaults:
+task-defaults:
     run-on-projects: []
     shipping-phase: ship
     worker-type: balrog
@@ -21,7 +21,7 @@ job-defaults:
         implementation: balrog
         balrog-action: schedule
 
-jobs:
+tasks:
     thunderbird:
         description: Schedule Thunderbird publishing in balrog
         name: release-thunderbird_schedule_publishing_in_balrog
diff --git a/comm/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml b/comm/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml
index c6071e88360234af508af87b8c695b855ceccac1..36ca334039338989b0d22b7a008dbdb9a7090c45 100644
--- a/comm/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml
+++ b/comm/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -10,7 +10,7 @@ transforms:
     - gecko_taskgraph.transforms.balrog_toplevel:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     run-on-projects: []  # to make sure this never runs in CI
     shipping-phase: promote
     worker-type: balrog
@@ -28,7 +28,7 @@ job-defaults:
                 staging: bouncer-bouncer-releng.stage.mozaws.net
     whats-new-config: comm/mail/config/whats_new_page.yml
 
-jobs:
+tasks:
     thunderbird:
         name: submit-toplevel-thunderbird-release-to-balrog
         description: Submit toplevel Thunderbird release to balrog
diff --git a/comm/taskcluster/kinds/release-beetmover-push-to-release/kind.yml b/comm/taskcluster/kinds/release-beetmover-push-to-release/kind.yml
index 67209a2409790657e1de547ffde0291facaa9259..97393a07c84448292dcba05c7e08fef924331484 100644
--- a/comm/taskcluster/kinds/release-beetmover-push-to-release/kind.yml
+++ b/comm/taskcluster/kinds/release-beetmover-push-to-release/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -12,11 +12,11 @@ transforms:
 kind-dependencies:
     - release-generate-checksums-beetmover
 
-job-defaults:
+task-defaults:
     run-on-projects: []
     shipping-phase: push
 
-jobs:
+tasks:
     thunderbird-push-to-release:
         name: thunderbird_push_to_release
         product: thunderbird
diff --git a/comm/taskcluster/kinds/release-beetmover-source-checksums/kind.yml b/comm/taskcluster/kinds/release-beetmover-source-checksums/kind.yml
index 48342391369989887570c7a4822f9180b3ee5e3f..983f6b1700441c8012e332654f66b819daa71b43 100644
--- a/comm/taskcluster/kinds/release-beetmover-source-checksums/kind.yml
+++ b/comm/taskcluster/kinds/release-beetmover-source-checksums/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - release-source-checksums-signing
 
-jobs:
+tasks:
     release-beetmover-source-checksums:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/release-bouncer-aliases/kind.yml b/comm/taskcluster/kinds/release-bouncer-aliases/kind.yml
index f5ad0de4578d2dbad150333b271e1675feb8371e..dcf826fa9e178587e65b5ef3abaff027170327f5 100644
--- a/comm/taskcluster/kinds/release-bouncer-aliases/kind.yml
+++ b/comm/taskcluster/kinds/release-bouncer-aliases/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -12,7 +12,7 @@ transforms:
 kind-dependencies:
     - release-bouncer-check
 
-job-defaults:
+task-defaults:
     description: Update bouncer aliases job
     worker-type: bouncer
     worker:
@@ -32,7 +32,7 @@ job-defaults:
         kind: test
         tier: 1
 
-jobs:
+tasks:
     thunderbird:
         bouncer-products-per-alias:
             by-release-type:
diff --git a/comm/taskcluster/kinds/release-bouncer-check/kind.yml b/comm/taskcluster/kinds/release-bouncer-check/kind.yml
index 42be6aad7dcf21c32f7363a8645c4e4d6faa3c2a..3097f3340d370706503d210d48ebb2abaa209e7f 100644
--- a/comm/taskcluster/kinds/release-bouncer-check/kind.yml
+++ b/comm/taskcluster/kinds/release-bouncer-check/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - release-beetmover-push-to-release
@@ -13,7 +13,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: release-bouncer-check
     description: release bouncer check
     run-on-projects: []  # to make sure this never runs as part of CI
@@ -45,7 +45,7 @@ job-defaults:
         kind: test
         tier: 1
 
-jobs:
+tasks:
     thunderbird:
         shipping-product: thunderbird
         index:
diff --git a/comm/taskcluster/kinds/release-bouncer-sub/kind.yml b/comm/taskcluster/kinds/release-bouncer-sub/kind.yml
index 2dcf4992a1067046b2b9470daf7796af13b7e83f..0038255348931e946e60c4623a08ee121a6d66ac 100644
--- a/comm/taskcluster/kinds/release-bouncer-sub/kind.yml
+++ b/comm/taskcluster/kinds/release-bouncer-sub/kind.yml
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - comm_taskgraph.transforms.l10n:handle_keyed_by_local
     - gecko_taskgraph.transforms.bouncer_submission:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     description: release bouncer submission job
     worker-type: bouncer
     worker:
@@ -33,7 +33,7 @@ job-defaults:
         kind: test
         tier: 1
 
-jobs:
+tasks:
     thunderbird:
         bouncer-platforms: ['linux', 'linux64', 'osx', 'win', 'win64']
         bouncer-products: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'msi', 'msix']
diff --git a/comm/taskcluster/kinds/release-early-tagging/kind.yml b/comm/taskcluster/kinds/release-early-tagging/kind.yml
index e2041e5a5fcc64e4b29bc861e55f8a912228e84d..ceeecadc8dc3e91cc82468deb38ecd42fef1d7c0 100644
--- a/comm/taskcluster/kinds/release-early-tagging/kind.yml
+++ b/comm/taskcluster/kinds/release-early-tagging/kind.yml
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
     - gecko_taskgraph.transforms.release_version_bump:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     description: Release Promotion version tag for buildN
     run-on-projects: []
     shipping-phase: promote
@@ -25,7 +25,7 @@ job-defaults:
                 default: false
 
 
-jobs:
+tasks:
     thunderbird:
         name: thunderbird-tag-buildN
         worker:
diff --git a/comm/taskcluster/kinds/release-final-verify/kind.yml b/comm/taskcluster/kinds/release-final-verify/kind.yml
index e53398529ad363c4f6a89d9b215522275f173cb8..24283eac669b7bed3d7f1a851575f3e66c6536c1 100644
--- a/comm/taskcluster/kinds/release-final-verify/kind.yml
+++ b/comm/taskcluster/kinds/release-final-verify/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - release-bouncer-check
@@ -15,7 +15,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: final-verify
     run-on-projects: []  # to make sure this never runs as part of CI
     run-on-releases: [beta, esr128]  # Remove after shipping first comm-release
@@ -26,7 +26,7 @@ job-defaults:
         max-run-time: 7200
         retry-exit-status: [1]
 
-jobs:
+tasks:
     thunderbird:
         description: final verify
         shipping-phase: push
diff --git a/comm/taskcluster/kinds/release-flatpak-push/kind.yml b/comm/taskcluster/kinds/release-flatpak-push/kind.yml
index 28c3bc407dbd0e04664bf5bcc8d6a7b10c84cf46..01aa54c60ed0eeed28405673d941162e59fb7fc6 100644
--- a/comm/taskcluster/kinds/release-flatpak-push/kind.yml
+++ b/comm/taskcluster/kinds/release-flatpak-push/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release:run_on_releases
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - release-flatpak-repackage
 
-job-defaults:
+task-defaults:
     description: Pushes Flatpaks onto Flathub
     run-on-projects: []  # to make sure this never runs as part of CI
     run-on-releases: [beta, esr128]
@@ -34,7 +34,7 @@ job-defaults:
                 release: stable
                 default: mock
 
-jobs:
+tasks:
     thunderbird:
         shipping-product: thunderbird
         flathub-scope: "flathub"
diff --git a/comm/taskcluster/kinds/release-flatpak-repackage/kind.yml b/comm/taskcluster/kinds/release-flatpak-repackage/kind.yml
index 6024456e630a2925040b5f17f8dab9fd2d794a67..61e55a1b659a0374fdc1bab3a325262a85e27317 100644
--- a/comm/taskcluster/kinds/release-flatpak-repackage/kind.yml
+++ b/comm/taskcluster/kinds/release-flatpak-repackage/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release:run_on_releases
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - post-beetmover-dummy
 
-job-defaults:
+task-defaults:
     description: Generates flatpak by repackaging the existing .tar.bz2
     run-on-projects: []  # to make sure this never runs as part of CI
     run-on-releases: [beta, esr128]
@@ -61,7 +61,7 @@ job-defaults:
             RAW_FILE_URL: "{config_params[comm_head_repository]}/raw-file/{config_params[comm_head_rev]}"
         chain-of-trust: true
 
-jobs:
+tasks:
     thunderbird:
         shipping-product: thunderbird
         attributes:
diff --git a/comm/taskcluster/kinds/release-generate-checksums-beetmover/kind.yml b/comm/taskcluster/kinds/release-generate-checksums-beetmover/kind.yml
index 636bd972f52eef338e6b7ed0a7195dc4b56f2496..9aa68caac517260270e920c4b6ccd4a72dcfff76 100644
--- a/comm/taskcluster/kinds/release-generate-checksums-beetmover/kind.yml
+++ b/comm/taskcluster/kinds/release-generate-checksums-beetmover/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -12,7 +12,7 @@ transforms:
 kind-dependencies:
     - release-generate-checksums-signing
 
-jobs:
+tasks:
     release-generate-checksums-beetmover:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/release-generate-checksums-signing/kind.yml b/comm/taskcluster/kinds/release-generate-checksums-signing/kind.yml
index a86b4c8dc5a42cc0d417b0414c6f9038fe754afa..560f56f3655648df89691e1d9a095fdb3fda3174 100644
--- a/comm/taskcluster/kinds/release-generate-checksums-signing/kind.yml
+++ b/comm/taskcluster/kinds/release-generate-checksums-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - release-generate-checksums
@@ -12,7 +12,7 @@ transforms:
     - gecko_taskgraph.transforms.release_generate_checksums_signing
     - gecko_taskgraph.transforms.task
 
-jobs:
+tasks:
     release-generate-checksums-signing:
         from-deps: {}
         shipping-phase: promote
diff --git a/comm/taskcluster/kinds/release-generate-checksums/kind.yml b/comm/taskcluster/kinds/release-generate-checksums/kind.yml
index 0aa175b5ad7b398376831d696fef8bc985d36114..388a7daa4c067425d9541ec4972490c4f82f9083 100644
--- a/comm/taskcluster/kinds/release-generate-checksums/kind.yml
+++ b/comm/taskcluster/kinds/release-generate-checksums/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - beetmover-source
@@ -15,7 +15,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: generate-checksums
     description: generates checksums
     run-on-projects: []  # to make sure this never runs as part of CI
@@ -53,7 +53,7 @@ job-defaults:
         tier: 1
     optimization: null
 
-jobs:
+tasks:
     thunderbird:
         shipping-product: thunderbird
         attributes:
diff --git a/comm/taskcluster/kinds/release-mark-as-shipped/kind.yml b/comm/taskcluster/kinds/release-mark-as-shipped/kind.yml
index a48d086330cbdd0ec3ac76b2070ee5a6dd06c36f..1f0855cacfc51967a3a1e15e3e82e72194ff1c87 100644
--- a/comm/taskcluster/kinds/release-mark-as-shipped/kind.yml
+++ b/comm/taskcluster/kinds/release-mark-as-shipped/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -14,7 +14,7 @@ kind-dependencies:
     - release-bouncer-aliases
     - release-version-bump
 
-job-defaults:
+task-defaults:
     description: mark release as shipped in Ship-It
     worker-type: shipit
     worker:
@@ -30,7 +30,7 @@ job-defaults:
     run-on-projects: []
     shipping-phase: ship
 
-jobs:
+tasks:
     thunderbird:
         name: release-thunderbird_mark_as_shipped
         shipping-product: thunderbird
diff --git a/comm/taskcluster/kinds/release-notify-av-announce/kind.yml b/comm/taskcluster/kinds/release-notify-av-announce/kind.yml
index bd1f71bd455195b8fe5d8f235f01b9d14c5a5ab5..8c9b23244cc6520b62f5945911d26ef3909c0bae 100644
--- a/comm/taskcluster/kinds/release-notify-av-announce/kind.yml
+++ b/comm/taskcluster/kinds/release-notify-av-announce/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -12,7 +12,7 @@ transforms:
 kind-dependencies:
     - post-beetmover-dummy
 
-job-defaults:
+task-defaults:
     name: notify-av-announce
     description: Sends email to antivirus vendors telling them that the release is available for scanning.
     run-on-projects: []
@@ -33,6 +33,6 @@ job-defaults:
                 try-comm-central: ["{config[params][owner]}"]
                 default: []
 
-jobs:
+tasks:
     thunderbird:
         shipping-product: thunderbird
diff --git a/comm/taskcluster/kinds/release-notify-promote/kind.yml b/comm/taskcluster/kinds/release-notify-promote/kind.yml
index a9ffeb08afba509ef3e137edd7721bbeb2fdccae..ec563e5aadad1bed280ff76e49ea2f10fd19e4bd 100644
--- a/comm/taskcluster/kinds/release-notify-promote/kind.yml
+++ b/comm/taskcluster/kinds/release-notify-promote/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -15,7 +15,7 @@ kind-dependencies:
     - release-bouncer-sub
     - beetmover-strings-source
 
-job-defaults:
+task-defaults:
     name: notify-release-drivers-promote
     description: Sends email to tb-drivers telling release was promoted.
     run-on-projects: []
@@ -30,6 +30,6 @@ job-defaults:
                 try-comm-central: ["{config[params][owner]}"]
                 default: []
 
-jobs:
+tasks:
     thunderbird:
         shipping-product: thunderbird
diff --git a/comm/taskcluster/kinds/release-notify-push/kind.yml b/comm/taskcluster/kinds/release-notify-push/kind.yml
index e81a9174d69c3efa54128a92fd199557d375fa70..7af4d9d6f3d4788e54a09a39a9559392aa4ad51c 100644
--- a/comm/taskcluster/kinds/release-notify-push/kind.yml
+++ b/comm/taskcluster/kinds/release-notify-push/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -12,7 +12,7 @@ transforms:
 kind-dependencies:
     - release-beetmover-push-to-release
 
-job-defaults:
+task-defaults:
     name: notify-release-drivers-push
     description: Sends email to tb-drivers telling release was pushed.
     run-on-projects: []
@@ -27,6 +27,6 @@ job-defaults:
                 try-comm-central: ["{config[params][owner]}"]
                 default: []
 
-jobs:
+tasks:
     thunderbird:
         shipping-product: thunderbird
diff --git a/comm/taskcluster/kinds/release-notify-ship/kind.yml b/comm/taskcluster/kinds/release-notify-ship/kind.yml
index 7bea2d6753e715717353eb3073073fbce9d9af4e..5298c1431042f41b28e91feb4de35a2178f4c300 100644
--- a/comm/taskcluster/kinds/release-notify-ship/kind.yml
+++ b/comm/taskcluster/kinds/release-notify-ship/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -15,7 +15,7 @@ kind-dependencies:
     - release-version-bump
     - release-mark-as-shipped
 
-job-defaults:
+task-defaults:
     name: notify-release-drivers-ship
     description: Sends email to release-drivers telling release was shipped.
     run-on-projects: []
@@ -28,7 +28,7 @@ job-defaults:
                 try-comm-central: ["{config[params][owner]}"]
                 default: []
 
-jobs:
+tasks:
     thunderbird:
         shipping-product: thunderbird
         notifications:
diff --git a/comm/taskcluster/kinds/release-notify-started/kind.yml b/comm/taskcluster/kinds/release-notify-started/kind.yml
index 826d6c98fd3de0b25257bfb50c6febbc0ba6e539..8ded9d2c7e0206dcad7aff271721759bd567699f 100644
--- a/comm/taskcluster/kinds/release-notify-started/kind.yml
+++ b/comm/taskcluster/kinds/release-notify-started/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -10,7 +10,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: notify-release-drivers-started
     description: Sends email to release-drivers telling release was started.
     run-on-projects: []
@@ -25,6 +25,6 @@ job-defaults:
             try-comm-central: ["{config[params][owner]}"]
             default: []
 
-jobs:
+tasks:
     thunderbird:
         shipping-product: thunderbird
diff --git a/comm/taskcluster/kinds/release-push-langpacks/kind.yml b/comm/taskcluster/kinds/release-push-langpacks/kind.yml
index 8ae7d58990c39633b4b472d326c4024a63a641e7..6e6824629b9053609471ca5c223ad7cf6b3f759b 100644
--- a/comm/taskcluster/kinds/release-push-langpacks/kind.yml
+++ b/comm/taskcluster/kinds/release-push-langpacks/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -19,7 +19,7 @@ only-for-build-platforms:
     - macosx64-shippable/opt  # Although, we need the special locale "ja-JP-Mac" from this platform
 
 
-jobs:
+tasks:
     release-push-langpacks:
         from-deps: {}
         worker:
diff --git a/comm/taskcluster/kinds/release-snap-repackage/kind.yml b/comm/taskcluster/kinds/release-snap-repackage/kind.yml
index 4aec31f4e16dc01dd96f595e78b03b45ca201e88..958d5b04761ce79dbf6035d675580ed1e56b07c4 100644
--- a/comm/taskcluster/kinds/release-snap-repackage/kind.yml
+++ b/comm/taskcluster/kinds/release-snap-repackage/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release:run_on_releases
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - post-beetmover-dummy
 
-job-defaults:
+task-defaults:
     description: Generates snap by repackaging the existing .tar.bz2
     run-on-projects: []  # to make sure this never runs as part of CI
     run-on-releases: [beta, esr128]
@@ -51,7 +51,7 @@ job-defaults:
             RAW_FILE_URL: "{config_params[comm_head_repository]}/raw-file/{config_params[comm_head_rev]}"
         chain-of-trust: true
 
-jobs:
+tasks:
     thunderbird:
         shipping-product: thunderbird
         attributes:
diff --git a/comm/taskcluster/kinds/release-source-checksums-signing/kind.yml b/comm/taskcluster/kinds/release-source-checksums-signing/kind.yml
index de9f98acc05bb248cd9d2c29282eda098901264d..def743de9493a924b0d03c051dd904ee5bfc392e 100644
--- a/comm/taskcluster/kinds/release-source-checksums-signing/kind.yml
+++ b/comm/taskcluster/kinds/release-source-checksums-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - beetmover-source
 
-jobs:
+tasks:
     release-source-checksums-signing:
         shipping-phase: promote
         from-deps:
diff --git a/comm/taskcluster/kinds/release-source-signing/kind.yml b/comm/taskcluster/kinds/release-source-signing/kind.yml
index 9ab9e37d88bf1e5ce3096235edd19aa7750525c5..7d3696a8f89ee6bca0297b90abf483ffda8acebc 100644
--- a/comm/taskcluster/kinds/release-source-signing/kind.yml
+++ b/comm/taskcluster/kinds/release-source-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -14,7 +14,7 @@ transforms:
 kind-dependencies:
     - release-source
 
-jobs:
+tasks:
     release-source-signing:
         from-deps:
             copy-attributes: true
diff --git a/comm/taskcluster/kinds/release-source/kind.yml b/comm/taskcluster/kinds/release-source/kind.yml
index 514f9f1270db2b69699f38db25384793d445d9e3..bdb8fdc5bc803e9ca71eb8a4798db9697ac1d19c 100644
--- a/comm/taskcluster/kinds/release-source/kind.yml
+++ b/comm/taskcluster/kinds/release-source/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -14,7 +14,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     shipping-phase: promote
     treeherder:
         symbol: Src
@@ -39,7 +39,7 @@ job-defaults:
     run-on-projects: []
     optimization: null
 
-jobs:
+tasks:
     thunderbird-source/opt:
         description: "Thunderbird source builder"
         treeherder:
diff --git a/comm/taskcluster/kinds/release-update-verify-config-next/kind.yml b/comm/taskcluster/kinds/release-update-verify-config-next/kind.yml
index b1c7fe271e4ac7e0884fc18de0d50239a267c403..747a8d4b8b4e41eda6b2615e9d898550ec6152db 100644
--- a/comm/taskcluster/kinds/release-update-verify-config-next/kind.yml
+++ b/comm/taskcluster/kinds/release-update-verify-config-next/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release:run_on_releases
@@ -10,7 +10,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: update-verify-config-next
     run-on-projects: []  # to make sure this never runs as part of CI
     run-on-releases: [esr128]
@@ -56,7 +56,7 @@ job-defaults:
         include-version: esr128-next
         last-watershed: "115.10.2"
 
-jobs:
+tasks:
     thunderbird-next-linux:
         shipping-product: thunderbird
         treeherder:
diff --git a/comm/taskcluster/kinds/release-update-verify-config/kind.yml b/comm/taskcluster/kinds/release-update-verify-config/kind.yml
index 20e8e94726367dae8ed7d013a389e2fe04e5c97a..a93e1e4a3ea6dbaefb7ade04a4ba118bc995204a 100644
--- a/comm/taskcluster/kinds/release-update-verify-config/kind.yml
+++ b/comm/taskcluster/kinds/release-update-verify-config/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release:run_on_releases
@@ -10,7 +10,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: update-verify-config
     run-on-projects: []  # to make sure this never runs as part of CI
     run-on-releases: [beta, esr128]  # Remove after shipping first comm-release
@@ -59,7 +59,7 @@ job-defaults:
                 esr128: "128.0esr"
                 default: "default"
 
-jobs:
+tasks:
     thunderbird-linux:
         shipping-product: thunderbird
         treeherder:
diff --git a/comm/taskcluster/kinds/release-update-verify-next/kind.yml b/comm/taskcluster/kinds/release-update-verify-next/kind.yml
index 374478c778d1f876e0d27f1f15892ef469de1de9..e85596535bb1800f0103f897ad3033d5cfee49c1 100644
--- a/comm/taskcluster/kinds/release-update-verify-next/kind.yml
+++ b/comm/taskcluster/kinds/release-update-verify-next/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - post-balrog-dummy
@@ -17,7 +17,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: update-verify-next
     run-on-projects: []  # to make sure this never runs as part of CI
     run-on-releases: [esr128]
@@ -41,7 +41,7 @@ job-defaults:
     extra:
         chunks: 12
 
-jobs:
+tasks:
     thunderbird-next-linux64:
         description: linux64 release-next update verify
         shipping-product: thunderbird
diff --git a/comm/taskcluster/kinds/release-update-verify/kind.yml b/comm/taskcluster/kinds/release-update-verify/kind.yml
index 535a41beb2853a0d0f5020be2184a83326b694ba..4f8daa3738a0ea32d4fb7f104863b2ed7a81296a 100644
--- a/comm/taskcluster/kinds/release-update-verify/kind.yml
+++ b/comm/taskcluster/kinds/release-update-verify/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - post-balrog-dummy
@@ -17,7 +17,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: update-verify
     run-on-projects: []  # to make sure this never runs as part of CI
     run-on-releases: [beta, esr128]  # Remove after shipping first comm-release
@@ -39,7 +39,7 @@ job-defaults:
     extra:
         chunks: 12
 
-jobs:
+tasks:
     thunderbird-linux64:
         description: linux64 update verify
         shipping-product: thunderbird
diff --git a/comm/taskcluster/kinds/release-version-bump/kind.yml b/comm/taskcluster/kinds/release-version-bump/kind.yml
index 29738c11b77913345c5fa92458d2be21ad786cc7..3adeb514151d52b829c97a5258f44839ae77ff1a 100644
--- a/comm/taskcluster/kinds/release-version-bump/kind.yml
+++ b/comm/taskcluster/kinds/release-version-bump/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -12,7 +12,7 @@ transforms:
 kind-dependencies:
     - release-beetmover-push-to-release
 
-job-defaults:
+task-defaults:
     description: Release Promotion version bump/tag
     run-on-projects: []
     shipping-phase: ship
@@ -33,7 +33,7 @@ job-defaults:
                 comm-(beta|esr.*): true
                 default: false
 
-jobs:
+tasks:
     thunderbird-comm:
         name: thunderbird-comm-version-bump
         worker:
diff --git a/comm/taskcluster/kinds/repackage-l10n/kind.yml b/comm/taskcluster/kinds/repackage-l10n/kind.yml
index 7c9bfea1318bf09da169dcfc6c3590fc39d7441c..3736fe4e6fd825e3c2e13df7619c474eb0849b54 100644
--- a/comm/taskcluster/kinds/repackage-l10n/kind.yml
+++ b/comm/taskcluster/kinds/repackage-l10n/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -27,7 +27,7 @@ only-for-build-platforms:
     - win32-shippable/opt
     - win64-shippable/opt
 
-jobs:
+tasks:
     repackage-l10n:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/repackage-msi/kind.yml b/comm/taskcluster/kinds/repackage-msi/kind.yml
index 3a725d94e983587948ea7f6b5c0cab96cb52151e..3f698269a4f8cf603a58d5b6853e67f7923f8cb5 100644
--- a/comm/taskcluster/kinds/repackage-msi/kind.yml
+++ b/comm/taskcluster/kinds/repackage-msi/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -20,7 +20,7 @@ only-for-build-platforms:
     - win32-shippable/opt
     - win64-shippable/opt
 
-jobs:
+tasks:
     repackage-msi:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/repackage-msix/kind.yml b/comm/taskcluster/kinds/repackage-msix/kind.yml
index b59ff65d37f3ca04efa7f6670504f29543f5dbbe..7d94a874731893a928613d2359ae67c9c4c55ebc 100644
--- a/comm/taskcluster/kinds/repackage-msix/kind.yml
+++ b/comm/taskcluster/kinds/repackage-msix/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -23,7 +23,7 @@ only-for-build-platforms:
     - win32-shippable/opt
     - win64-shippable/opt
 
-jobs:
+tasks:
     repackage-msix:
         from-deps:
             group-by: platform
diff --git a/comm/taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml b/comm/taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml
index 5c09f693822f1f5de313932f229000be11f4e4a0..d4722bec2a20421c743a85b6d4fd451942af933c 100644
--- a/comm/taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml
+++ b/comm/taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -27,7 +27,7 @@ only-for-build-platforms:
     - win32-shippable/opt
     - win64-shippable/opt
 
-jobs:
+tasks:
     repackage-shippable-l10n-msix:
         from-deps:
             group-by: platform
diff --git a/comm/taskcluster/kinds/repackage-signing-l10n/kind.yml b/comm/taskcluster/kinds/repackage-signing-l10n/kind.yml
index 036034e4ee7b82e3acb8c50bdbf91a10ed5ebfb9..5c88a4ae2b535757330577613418c76e7639e87f 100644
--- a/comm/taskcluster/kinds/repackage-signing-l10n/kind.yml
+++ b/comm/taskcluster/kinds/repackage-signing-l10n/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -19,7 +19,7 @@ only-for-build-platforms:
     - win32-shippable/opt
     - win64-shippable/opt
 
-jobs:
+tasks:
     repackage-signing-l10n:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/repackage-signing-msi/kind.yml b/comm/taskcluster/kinds/repackage-signing-msi/kind.yml
index 78c2f6fb6f712561ceeb6dea2b3f58ffb00f8e05..6c117b1ed45679a19e5db00c80b6ea5c3ef60f2b 100644
--- a/comm/taskcluster/kinds/repackage-signing-msi/kind.yml
+++ b/comm/taskcluster/kinds/repackage-signing-msi/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -19,7 +19,7 @@ only-for-build-platforms:
     - win64-shippable/opt
     - win64/opt
 
-jobs:
+tasks:
     repackage-signing-msi:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/repackage-signing-msix/kind.yml b/comm/taskcluster/kinds/repackage-signing-msix/kind.yml
index 4976f08366980583f66d95e08e5b7699514db030..97ee6f87329f0f31bc9f199786e529e59ffe39a4 100644
--- a/comm/taskcluster/kinds/repackage-signing-msix/kind.yml
+++ b/comm/taskcluster/kinds/repackage-signing-msix/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - repackage-msix
 
-jobs:
+tasks:
     repackage-signing-msix:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/repackage-signing-shippable-l10n-msix/kind.yml b/comm/taskcluster/kinds/repackage-signing-shippable-l10n-msix/kind.yml
index 0f6f7787ee834cefc805da48db782d151911ef7b..0c65c75f662ea6ddba9bef9c6e049f94b61bc7f7 100644
--- a/comm/taskcluster/kinds/repackage-signing-shippable-l10n-msix/kind.yml
+++ b/comm/taskcluster/kinds/repackage-signing-shippable-l10n-msix/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,6 +13,6 @@ transforms:
 kind-dependencies:
     - repackage-shippable-l10n-msix
 
-jobs:
+tasks:
     repackage-signing-shippable-l10n-msix:
         from-deps: {}
diff --git a/comm/taskcluster/kinds/repackage-signing/kind.yml b/comm/taskcluster/kinds/repackage-signing/kind.yml
index 6417b5a66e8375338aa6e48dd87b7b3896116243..d4bac7ed01f01b976fcdc9fc9fbe53f02eb4778d 100644
--- a/comm/taskcluster/kinds/repackage-signing/kind.yml
+++ b/comm/taskcluster/kinds/repackage-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -20,7 +20,7 @@ only-for-build-platforms:
     - win64-shippable/opt
     - win64-asan-reporter-shippable/opt
 
-jobs:
+tasks:
     repackage-signing:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/repackage/kind.yml b/comm/taskcluster/kinds/repackage/kind.yml
index d00501dd3e915f39bd6d9d045fe3e52c46241bf2..12776f3a70255fb3d5121e342853098616020867 100644
--- a/comm/taskcluster/kinds/repackage/kind.yml
+++ b/comm/taskcluster/kinds/repackage/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -30,7 +30,7 @@ only-for-build-platforms:
     - win64-shippable/opt
     - win64-asan-reporter-shippable/opt
 
-jobs:
+tasks:
     repackage:
         from-deps:
             group-by: single-with-filters
diff --git a/comm/taskcluster/kinds/repo-update/kind.yml b/comm/taskcluster/kinds/repo-update/kind.yml
index 746ced76fd8be151694fce6a99d62dd7afe1933b..c994f46ffda08d8548c57eacfc165da0ecca7586 100644
--- a/comm/taskcluster/kinds/repo-update/kind.yml
+++ b/comm/taskcluster/kinds/repo-update/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - fetch
@@ -14,7 +14,7 @@ transforms:
     - gecko_taskgraph.transforms.job
     - gecko_taskgraph.transforms.task
 
-jobs:
+tasks:
     tb-rust-vendor:
         name: Thunderbird vendored Rust sync
         description: Check third_party/rust in comm-central matches mozilla-central
diff --git a/comm/taskcluster/kinds/searchfox/kind.yml b/comm/taskcluster/kinds/searchfox/kind.yml
index 4141472c6c49b9e8d18383ec919a24e48e2ee39e..1e286d2f53ab09d1f2a1a225ff447775ac1f379e 100644
--- a/comm/taskcluster/kinds/searchfox/kind.yml
+++ b/comm/taskcluster/kinds/searchfox/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -15,7 +15,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     index:
         product: thunderbird
     treeherder:
@@ -26,7 +26,7 @@ job-defaults:
     optimization: null
     use-python: default
 
-jobs:
+tasks:
     linux64-searchfox/debug:
         description: "Linux64 Debug Searchfox"
         index:
diff --git a/comm/taskcluster/kinds/shippable-l10n-mac-notarization/kind.yml b/comm/taskcluster/kinds/shippable-l10n-mac-notarization/kind.yml
index 5af3cab22bc408d7b4aa8047979132ced676f68a..589fe042a111bf525d99bb3043a58a85b275758e 100644
--- a/comm/taskcluster/kinds/shippable-l10n-mac-notarization/kind.yml
+++ b/comm/taskcluster/kinds/shippable-l10n-mac-notarization/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -20,7 +20,7 @@ kind-dependencies:
 only-for-attributes:
     - shippable
 
-jobs:
+tasks:
     shippable-l10n-mac-notarization:
         from-deps:
             group-by: chunk-locales
diff --git a/comm/taskcluster/kinds/shippable-l10n-mac-signing/kind.yml b/comm/taskcluster/kinds/shippable-l10n-mac-signing/kind.yml
index a34d0bc52c250a18ac699c2d8fe801d9edaf2cb1..3272fa137135056cfd8cc220222ed1db58a85534 100644
--- a/comm/taskcluster/kinds/shippable-l10n-mac-signing/kind.yml
+++ b/comm/taskcluster/kinds/shippable-l10n-mac-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -22,7 +22,7 @@ only-for-build-platforms:
     - macosx64/debug
 
 
-jobs:
+tasks:
     shippable-l10n-mac-signing:
         from-deps:
             group-by: chunk-locales
diff --git a/comm/taskcluster/kinds/shippable-l10n-pre-signing/kind.yml b/comm/taskcluster/kinds/shippable-l10n-pre-signing/kind.yml
index e749cc2770eb62e9cce792b8701dd50a1805f22f..94b3bc50c36870e78ed7debaf9c80ae4ec21bacb 100644
--- a/comm/taskcluster/kinds/shippable-l10n-pre-signing/kind.yml
+++ b/comm/taskcluster/kinds/shippable-l10n-pre-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -14,7 +14,7 @@ transforms:
 kind-dependencies:
     - shippable-l10n-pre
 
-jobs:
+tasks:
     shippable-l10n-pre-signing:
         from-deps: {}
         shipping-phase: promote
diff --git a/comm/taskcluster/kinds/shippable-l10n-pre/kind.yml b/comm/taskcluster/kinds/shippable-l10n-pre/kind.yml
index 9d8dd03806000b10b2f2e99279b1dedb2f14bb6f..2d7c556f7b40d9179e231990571fc934be0eb2de 100644
--- a/comm/taskcluster/kinds/shippable-l10n-pre/kind.yml
+++ b/comm/taskcluster/kinds/shippable-l10n-pre/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -14,7 +14,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     shipping-phase: promote
     shipping-product: thunderbird
     treeherder:
@@ -58,7 +58,7 @@ job-defaults:
     optimization: null
 
 
-jobs:
+tasks:
     shippable-l10n-pre/opt:
         description: Pre-Localization artifact build
         treeherder:
diff --git a/comm/taskcluster/kinds/shippable-l10n-signing/kind.yml b/comm/taskcluster/kinds/shippable-l10n-signing/kind.yml
index 811b076076a0060fd6743ed86ecfa3aad89e9874..4b989384497ad44869d616dd19b0a25431f7dd12 100644
--- a/comm/taskcluster/kinds/shippable-l10n-signing/kind.yml
+++ b/comm/taskcluster/kinds/shippable-l10n-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -24,7 +24,7 @@ not-for-build-platforms:
     - macosx64/opt
     - macosx64/debug
 
-jobs:
+tasks:
     shippable-l10n-signing:
         from-deps:
             group-by: chunk-locales
diff --git a/comm/taskcluster/kinds/shippable-l10n/kind.yml b/comm/taskcluster/kinds/shippable-l10n/kind.yml
index 181178db91d54308bafa192dbc55f5ac1f08e72c..7ed450eb92fd91c8a20092cfdb5ce2876881f417 100644
--- a/comm/taskcluster/kinds/shippable-l10n/kind.yml
+++ b/comm/taskcluster/kinds/shippable-l10n/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -25,7 +25,7 @@ only-for-build-platforms:
     - win32-shippable/opt
     - win64-shippable/opt
 
-jobs:
+tasks:
     shippable-l10n:
         description: Localization
         from-deps:
diff --git a/comm/taskcluster/kinds/source-docs/kind.yml b/comm/taskcluster/kinds/source-docs/kind.yml
index ba666143b7eb509ef54f6d60b3decd1a249084ba..1309b43d86bfb5bd7c1fdd10e11d40cc1a770d09 100644
--- a/comm/taskcluster/kinds/source-docs/kind.yml
+++ b/comm/taskcluster/kinds/source-docs/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -12,7 +12,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-jobs:
+tasks:
     rtd-webhook:
         description: Triggers a build of the in-tree source documentation at source-docs.thunderbird.net
         run-on-projects: ['trunk']
diff --git a/comm/taskcluster/kinds/source-test/clang.yml b/comm/taskcluster/kinds/source-test/clang.yml
index 0560b972bcebbbcfe0c67435765c122beb49b699..e22a9c4c8ba4ccf76788e1e943a27f8e5056767c 100644
--- a/comm/taskcluster/kinds/source-test/clang.yml
+++ b/comm/taskcluster/kinds/source-test/clang.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     always-target: true
     platform: linux64/debug
     worker-type: t-linux-xlarge-source
diff --git a/comm/taskcluster/kinds/source-test/kind.yml b/comm/taskcluster/kinds/source-test/kind.yml
index 02778234a7a4511dcd9c060d0942b21e290f42fa..c20e6c1290aed2899044e9f69fdb0eccddb97283 100644
--- a/comm/taskcluster/kinds/source-test/kind.yml
+++ b/comm/taskcluster/kinds/source-test/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.try_job:transforms
@@ -16,13 +16,13 @@ kind-dependencies:
     - fetch
     - toolchain
 
-jobs-from:
+tasks-from:
     - clang.yml
     - mozlint.yml
     - python.yml
     - taskgraph.yml
 
-job-defaults:
+task-defaults:
     attributes:
         retrigger: true
     task-context:
diff --git a/comm/taskcluster/kinds/source-test/mozlint.yml b/comm/taskcluster/kinds/source-test/mozlint.yml
index dc5197acf826a44d85f032157f870ab428e715a2..f9c1dae1b3a25c6288087402ca905c3a76ccdd0c 100644
--- a/comm/taskcluster/kinds/source-test/mozlint.yml
+++ b/comm/taskcluster/kinds/source-test/mozlint.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     always-target: true
     attributes:
         code-review: true
diff --git a/comm/taskcluster/kinds/source-test/python.yml b/comm/taskcluster/kinds/source-test/python.yml
index 73f8c382e3f56b1e8901e63c25497130dd4a3b0d..9551f19a6e4a105248980bf464206f6f6ac380a5 100644
--- a/comm/taskcluster/kinds/source-test/python.yml
+++ b/comm/taskcluster/kinds/source-test/python.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     platform: linux1804-64/opt
     always-target: true
     worker-type: t-linux-xlarge-source
diff --git a/comm/taskcluster/kinds/test/compiled.yml b/comm/taskcluster/kinds/test/compiled.yml
index aaf53dd91acf9fda4198b3e5948f96065da963ca..7f4715048a90842d147d2da75a0b1d846bc583c6 100644
--- a/comm/taskcluster/kinds/test/compiled.yml
+++ b/comm/taskcluster/kinds/test/compiled.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     run-without-variant: false
     variants: ["1proc"]
     mozharness:
diff --git a/comm/taskcluster/kinds/test/kind.yml b/comm/taskcluster/kinds/test/kind.yml
index 5fad16e5388e84b7fa53ec00d5e015606bdd9113..5ca4ff341b150f0264f686ac794b85d8df666b85 100644
--- a/comm/taskcluster/kinds/test/kind.yml
+++ b/comm/taskcluster/kinds/test/kind.yml
@@ -19,13 +19,13 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-jobs-from:
+tasks-from:
     - compiled.yml
     - marionette.yml
     - tests.yml
 
-# These apply to all included test yml files listed in jobs-from
-job-defaults:
+# These apply to all included test yml files listed in tasks-from
+task-defaults:
     attributes:
         retrigger: true
     use-python: default
diff --git a/comm/taskcluster/kinds/test/marionette.yml b/comm/taskcluster/kinds/test/marionette.yml
index a88b6898560314f6647dcd53309e0137db89fec7..cb446ab3b9a109ca7c054594f4793eee540b5b10 100644
--- a/comm/taskcluster/kinds/test/marionette.yml
+++ b/comm/taskcluster/kinds/test/marionette.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, you can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     suite: marionette
     mozharness:
         script: marionette.py
diff --git a/comm/taskcluster/kinds/toolchain/clang.yml b/comm/taskcluster/kinds/toolchain/clang.yml
index f9458a099d221ca73470410df051ec5479ca16d9..d1529713ca812a6b685de91b7730acc738be9021 100644
--- a/comm/taskcluster/kinds/toolchain/clang.yml
+++ b/comm/taskcluster/kinds/toolchain/clang.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     treeherder:
         kind: build
         platform: toolchains/opt
diff --git a/comm/taskcluster/kinds/toolchain/kind.yml b/comm/taskcluster/kinds/toolchain/kind.yml
index 5c16cdb5eec1542548e0b4f258460c5560e2ef05..90a130196b925879fbfb53dabbb37ec536054d1f 100644
--- a/comm/taskcluster/kinds/toolchain/kind.yml
+++ b/comm/taskcluster/kinds/toolchain/kind.yml
@@ -9,7 +9,7 @@ kind-dependencies:
     - fetch
     - packages
 
-reference-jobs:
+reference-tasks:
     - linux64-aarch64-compiler-rt-18
     - linux64-cargo-vet
     - linux64-cbindgen
@@ -99,6 +99,6 @@ transforms:
     - gecko_taskgraph.transforms.cached_tasks:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-jobs-from:
+tasks-from:
     - clang.yml
     - libotr.yml
diff --git a/comm/taskcluster/kinds/toolchain/libotr.yml b/comm/taskcluster/kinds/toolchain/libotr.yml
index 19a086de793dc3eacdecc7d63655f5dce145d080..70cdb0f7e6a5112d67fe346f9ab59598ba3d9701 100644
--- a/comm/taskcluster/kinds/toolchain/libotr.yml
+++ b/comm/taskcluster/kinds/toolchain/libotr.yml
@@ -3,7 +3,7 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
 
-job-defaults:
+task-defaults:
     description: 'libotr library build'
     worker-type: b-linux-gcp
     worker:
diff --git a/comm/taskcluster/kinds/upload-symbols/kind.yml b/comm/taskcluster/kinds/upload-symbols/kind.yml
index 686d655370aa4c600680d32359fdb9c7658c222c..70947c78d89364480acceeca4f06aa1adaecf788 100644
--- a/comm/taskcluster/kinds/upload-symbols/kind.yml
+++ b/comm/taskcluster/kinds/upload-symbols/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -22,7 +22,7 @@ only-for-build-platforms:
     - win32-shippable/opt
     - win64-shippable/opt
 
-jobs:
+tasks:
     upload-symbols:
         description: Upload Symbols
         from-deps:
diff --git a/comm/third_party/rust/cubeb-coreaudio/.cargo-checksum.json b/comm/third_party/rust/cubeb-coreaudio/.cargo-checksum.json
index 7e92a93077ef757a3fb1b42f33f32d69377f5f26..530b0c1fd410e70b7315b8192d14ebf3b7379848 100644
--- a/comm/third_party/rust/cubeb-coreaudio/.cargo-checksum.json
+++ b/comm/third_party/rust/cubeb-coreaudio/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{".circleci/config.yml":"7f3dc865105ca8f33965a7958b1fe2e627ae2d5a703f3b2a4ab6e2e796018597",".editorconfig":"4e53b182bcc78b83d7e1b5c03efa14d22d4955c4ed2514d1ba4e99c1eb1a50ba",".githooks/pre-push":"8b8b26544cd56f54c0c33812551f786bb25cb08c86dbfeb6bf3daad881c826a1",".github/workflows/test.yml":"cf6ebe6d41b022897360866b526d19ba8843aa82ae99a1d28393985576b6a782",".travis.yml":"dc07bac53f70f16c9bdf52264bdc58500ae6018c1b4c567bc7642f6b4ca3cc35","Cargo.toml":"2698cf87581d8d551ed3ac5875564720ed23d7b788e8d145d4281c8026203cd2","LICENSE":"6e6f56aff5bbf3cbc60747e152fb1a719bd0716aaf6d711c554f57d92e96297c","README.md":"0007782a05a5330f739ad789c19c82562c82e32386b0447000fc72c0d48405bc","build-audiounit-rust-in-cubeb.sh":"d228a05985dcd02ec1ecac66a2b64dae5a530804a25a7054ccc95905aedfb7ef","install_git_hook.sh":"d38c8e51e636f6b90b489621ac34ccd1d1b1f40dccce3d178ed1da1c5068f16d","install_rustfmt_clippy.sh":"4ae90d8dcb9757cb3ae4ae142ef80e5377c0dde61c63f4a3c32418646e80ca7b","run_device_tests.sh":"1403232694fabeae004179be8399d1fe2a1b100d60cd90db37d8860eddbaf2ae","run_sanitizers.sh":"84e93a0da137803018f37403511e8c92760be730426bf6cea34419d93d1a7ff8","run_tests.sh":"bae82f66dd47a060b6fdcc238520084aec1079d5b1b1d66d103baa1ffaa8773d","src/backend/aggregate_device.rs":"a910b9d596b1971cb4fee34f5030809ade584f41eb5cbad73a09abe7352ebd15","src/backend/auto_release.rs":"050fdcee74cf46b9a8a85a877e166d72a853d33220f59cf734cbb6ea09daa441","src/backend/buffer_manager.rs":"e9bcf964347daa8952f98caa2746e34a31ea8908375204896593f56e4b6147ca","src/backend/device_property.rs":"30ceeceee4fc1f6f872c6c61765e41d582ccd91d2d1ac3ca9b1e5ac18dd11a71","src/backend/mixer.rs":"c4d09291598cbffb2217b551770ec590f34b6dd6b461dd99b019d5bb70f0eef3","src/backend/mod.rs":"f3418bc3cf59562d2c24f3ecb26085f0c7c86d53177aeff317255db77ee8c33c","src/backend/resampler.rs":"48bf8f56ae8d60dbabca6417b768000619abee8731ac3902164b45651ac08a4d","src/backend/tests/aggregate_device.rs":"afbdf1da1fcaddcad2986bd3146bf93ca75c24b3362f5f23a09517a926290ca2","src/backend/tests/api.rs":"3b0936810b3afa84cb80428c471e1097701fd790460d00c0a5715fd8026d0a4d","src/backend/tests/backlog.rs":"3b189a7e036543c467cc242af0ed3332721179ee2b1c8847a6db563546f1ac52","src/backend/tests/device_change.rs":"babf50326fb38db24fe80f24f546e1b6ad04319ae8835bb372d893fc9b3038a2","src/backend/tests/device_property.rs":"4ef3ab625809fe95e944c19cc5dc1cc79f473520a4314d123b1f80c6b7e11411","src/backend/tests/interfaces.rs":"a96d1432afd381bf74dcbe73e892dfc4ddc68721a956606c94fd4128c6589adc","src/backend/tests/manual.rs":"f72625c05110534775c4608ccc45472ea108286657ffc1f029844a13d0b883bf","src/backend/tests/mod.rs":"8dba770023d7f9c4228f0e11915347f0e07da5fd818e3ee4478c4b197af9aa2a","src/backend/tests/parallel.rs":"a7ebd579339c40ca64c0757cc9da6baec641e670f226e1b2ec5049894700bd7a","src/backend/tests/tone.rs":"b028c67777b6453a26190b6a49785dfe28556adcbe179cb10862ce0d47ee8509","src/backend/tests/utils.rs":"3e435569798b883db8342137098832b88837a387008852005363f74e5e6ff18e","src/backend/utils.rs":"6c3ffbcd602e6cc9f56deb9ecb07b2eef2e6f074ef924178e466f380aae5c595","src/capi.rs":"21b66b70545bf04ec719928004d1d9adb45b24ced51288f5b2993d79aaf78f5f","src/lib.rs":"5e586d45cd6b3722f0a6736d9252593299269817a153eef1930a5fb9bfbb56f5","todo.md":"efc1f012eb9a331a040cad4ac03aa79307f25885f71b6fb38f3ad7af8d7d515c"},"package":null}
\ No newline at end of file
+{"files":{".circleci/config.yml":"7f3dc865105ca8f33965a7958b1fe2e627ae2d5a703f3b2a4ab6e2e796018597",".editorconfig":"4e53b182bcc78b83d7e1b5c03efa14d22d4955c4ed2514d1ba4e99c1eb1a50ba",".githooks/pre-push":"8b8b26544cd56f54c0c33812551f786bb25cb08c86dbfeb6bf3daad881c826a1",".github/workflows/test.yml":"cf6ebe6d41b022897360866b526d19ba8843aa82ae99a1d28393985576b6a782",".travis.yml":"dc07bac53f70f16c9bdf52264bdc58500ae6018c1b4c567bc7642f6b4ca3cc35","Cargo.toml":"bd7f9d71d7b83bb7b5516058b4af37c81eede73f11975b56cc6885b721c407a7","LICENSE":"6e6f56aff5bbf3cbc60747e152fb1a719bd0716aaf6d711c554f57d92e96297c","README.md":"0007782a05a5330f739ad789c19c82562c82e32386b0447000fc72c0d48405bc","build-audiounit-rust-in-cubeb.sh":"d228a05985dcd02ec1ecac66a2b64dae5a530804a25a7054ccc95905aedfb7ef","install_git_hook.sh":"d38c8e51e636f6b90b489621ac34ccd1d1b1f40dccce3d178ed1da1c5068f16d","install_rustfmt_clippy.sh":"4ae90d8dcb9757cb3ae4ae142ef80e5377c0dde61c63f4a3c32418646e80ca7b","run_device_tests.sh":"1403232694fabeae004179be8399d1fe2a1b100d60cd90db37d8860eddbaf2ae","run_sanitizers.sh":"84e93a0da137803018f37403511e8c92760be730426bf6cea34419d93d1a7ff8","run_tests.sh":"bae82f66dd47a060b6fdcc238520084aec1079d5b1b1d66d103baa1ffaa8773d","src/backend/aggregate_device.rs":"a910b9d596b1971cb4fee34f5030809ade584f41eb5cbad73a09abe7352ebd15","src/backend/auto_release.rs":"050fdcee74cf46b9a8a85a877e166d72a853d33220f59cf734cbb6ea09daa441","src/backend/buffer_manager.rs":"e9bcf964347daa8952f98caa2746e34a31ea8908375204896593f56e4b6147ca","src/backend/device_property.rs":"30ceeceee4fc1f6f872c6c61765e41d582ccd91d2d1ac3ca9b1e5ac18dd11a71","src/backend/mixer.rs":"c4d09291598cbffb2217b551770ec590f34b6dd6b461dd99b019d5bb70f0eef3","src/backend/mod.rs":"3625c021440b011cfbc2e506ed35d0be216189346937df9d228d3199d858556e","src/backend/resampler.rs":"48bf8f56ae8d60dbabca6417b768000619abee8731ac3902164b45651ac08a4d","src/backend/tests/aggregate_device.rs":"afbdf1da1fcaddcad2986bd3146bf93ca75c24b3362f5f23a09517a926290ca2","src/backend/tests/api.rs":"3b0936810b3afa84cb80428c471e1097701fd790460d00c0a5715fd8026d0a4d","src/backend/tests/backlog.rs":"3b189a7e036543c467cc242af0ed3332721179ee2b1c8847a6db563546f1ac52","src/backend/tests/device_change.rs":"babf50326fb38db24fe80f24f546e1b6ad04319ae8835bb372d893fc9b3038a2","src/backend/tests/device_property.rs":"4ef3ab625809fe95e944c19cc5dc1cc79f473520a4314d123b1f80c6b7e11411","src/backend/tests/interfaces.rs":"a96d1432afd381bf74dcbe73e892dfc4ddc68721a956606c94fd4128c6589adc","src/backend/tests/manual.rs":"f72625c05110534775c4608ccc45472ea108286657ffc1f029844a13d0b883bf","src/backend/tests/mod.rs":"8dba770023d7f9c4228f0e11915347f0e07da5fd818e3ee4478c4b197af9aa2a","src/backend/tests/parallel.rs":"a7ebd579339c40ca64c0757cc9da6baec641e670f226e1b2ec5049894700bd7a","src/backend/tests/tone.rs":"b028c67777b6453a26190b6a49785dfe28556adcbe179cb10862ce0d47ee8509","src/backend/tests/utils.rs":"3e435569798b883db8342137098832b88837a387008852005363f74e5e6ff18e","src/backend/utils.rs":"6c3ffbcd602e6cc9f56deb9ecb07b2eef2e6f074ef924178e466f380aae5c595","src/capi.rs":"21b66b70545bf04ec719928004d1d9adb45b24ced51288f5b2993d79aaf78f5f","src/lib.rs":"be88c967e470bf6c120f3e42f7155fe89a4718f56a35524ea4c17181856757d5","todo.md":"efc1f012eb9a331a040cad4ac03aa79307f25885f71b6fb38f3ad7af8d7d515c"},"package":null}
\ No newline at end of file
diff --git a/comm/third_party/rust/cubeb-coreaudio/Cargo.toml b/comm/third_party/rust/cubeb-coreaudio/Cargo.toml
index 23276a307056713e64262c87dd08b400ea436d33..e55840520b3028c15776a26bf61d5b7faa5f7202 100644
--- a/comm/third_party/rust/cubeb-coreaudio/Cargo.toml
+++ b/comm/third_party/rust/cubeb-coreaudio/Cargo.toml
@@ -31,7 +31,6 @@ audio-mixer = "0.2"
 bitflags = "2"
 cubeb-backend = "0.13"
 float-cmp = "0.6"
-lazy_static = "1.2"
 libc = "0.2"
 mach = "0.3"
 ringbuf = "0.2.6"
diff --git a/comm/third_party/rust/cubeb-coreaudio/src/backend/mod.rs b/comm/third_party/rust/cubeb-coreaudio/src/backend/mod.rs
index a0d0952bb39e699d0fdec72c6de9cbf741f5ddf1..82e4bdb6638899184b795fe2fa8de303b99d65dc 100644
--- a/comm/third_party/rust/cubeb-coreaudio/src/backend/mod.rs
+++ b/comm/third_party/rust/cubeb-coreaudio/src/backend/mod.rs
@@ -4,7 +4,6 @@
 // accompanying file LICENSE for details.
 #![allow(unused_assignments)]
 #![allow(unused_must_use)]
-
 extern crate coreaudio_sys_utils;
 extern crate libc;
 extern crate ringbuf;
@@ -106,16 +105,6 @@ bitflags! {
     }
 }
 
-lazy_static! {
-    static ref HOST_TIME_TO_NS_RATIO: (u32, u32) = {
-        let mut timebase_info = mach_timebase_info { numer: 0, denom: 0 };
-        unsafe {
-            mach_timebase_info(&mut timebase_info);
-        }
-        (timebase_info.numer, timebase_info.denom)
-    };
-}
-
 #[cfg(feature = "audio-dump")]
 fn dump_audio(stream: cubeb_audio_dump_stream_t, audio_samples: *mut c_void, count: u32) {
     unsafe {
@@ -682,10 +671,10 @@ extern "C" fn audiounit_input_callback(
     }
 }
 
-fn host_time_to_ns(host_time: u64) -> u64 {
+fn host_time_to_ns(ctx: &AudioUnitContext, host_time: u64) -> u64 {
     let mut rv: f64 = host_time as f64;
-    rv *= HOST_TIME_TO_NS_RATIO.0 as f64;
-    rv /= HOST_TIME_TO_NS_RATIO.1 as f64;
+    rv *= ctx.host_time_to_ns_ratio.0 as f64;
+    rv /= ctx.host_time_to_ns_ratio.1 as f64;
     rv as u64
 }
 
@@ -697,7 +686,7 @@ fn compute_output_latency(stm: &AudioUnitStream, audio_output_time: u64, now: u6
     // The total output latency is the timestamp difference + the stream latency + the hardware
     // latency.
     let total_output_latency_ns =
-        fixed_latency_ns + host_time_to_ns(audio_output_time.saturating_sub(now));
+        fixed_latency_ns + host_time_to_ns(stm.context, audio_output_time.saturating_sub(now));
 
     (total_output_latency_ns * output_hw_rate / NS2S) as u32
 }
@@ -710,7 +699,7 @@ fn compute_input_latency(stm: &AudioUnitStream, audio_input_time: u64, now: u64)
     // The total input latency is the timestamp difference + the stream latency +
     // the hardware latency.
     let total_input_latency_ns =
-        host_time_to_ns(now.saturating_sub(audio_input_time)) + fixed_latency_ns;
+        host_time_to_ns(stm.context, now.saturating_sub(audio_input_time)) + fixed_latency_ns;
 
     (total_input_latency_ns * input_hw_rate / NS2S) as u32
 }
@@ -729,6 +718,14 @@ extern "C" fn audiounit_output_callback(
     assert!(!user_ptr.is_null());
     let stm = unsafe { &mut *(user_ptr as *mut AudioUnitStream) };
 
+    if output_frames == 0 {
+        cubeb_alog!(
+            "({:p}) output callback empty.",
+            stm as *const AudioUnitStream
+        );
+        return NO_ERR;
+    }
+
     let out_buffer_list_ref = unsafe { &mut (*out_buffer_list) };
     assert_eq!(out_buffer_list_ref.mNumberBuffers, 1);
     let buffers = unsafe {
@@ -879,6 +876,7 @@ extern "C" fn audiounit_output_callback(
         output_frames
     );
 
+    assert_ne!(output_frames, 0);
     let outframes = stm.core_stream_data.resampler.fill(
         input_buffer,
         if input_buffer.is_null() {
@@ -2474,6 +2472,7 @@ pub struct AudioUnitContext {
     serial_queue: Queue,
     latency_controller: Mutex<LatencyController>,
     devices: Mutex<SharedDevices>,
+    host_time_to_ns_ratio: (u32, u32),
     // Storage for a context-global vpio unit. Duplex streams that need one will take this
     // and return it when done.
     shared_voice_processing_unit: SharedVoiceProcessingUnitManager,
@@ -2488,11 +2487,19 @@ impl AudioUnitContext {
             format!("{}.context.shared_vpio", DISPATCH_QUEUE_LABEL).as_str(),
             &serial_queue,
         );
+        let host_time_to_ns_ratio = {
+            let mut timebase_info = mach_timebase_info { numer: 0, denom: 0 };
+            unsafe {
+                mach_timebase_info(&mut timebase_info);
+            }
+            (timebase_info.numer, timebase_info.denom)
+        };
         Self {
             _ops: &OPS as *const _,
             serial_queue,
             latency_controller: Mutex::new(LatencyController::default()),
             devices: Mutex::new(SharedDevices::default()),
+            host_time_to_ns_ratio,
             shared_voice_processing_unit: SharedVoiceProcessingUnitManager::new(shared_vp_queue),
         }
     }
@@ -3864,9 +3871,10 @@ impl<'ctx> CoreStreamData<'ctx> {
                 device_layout
             );
 
-            // Simple case of stereo output only, map to the stereo pair (that might not be the first two channels)
-            if !self.has_input()
-                && self.output_stream_params.channels() == 2
+            // Simple case of stereo output, map to the stereo pair (that might not be the first
+            // two channels). Fall back to regular mixing if this fails.
+            let mut maybe_need_mixer = true;
+            if self.output_stream_params.channels() == 2
                 && self.output_stream_params.layout() == ChannelLayout::STEREO
             {
                 let layout = AudioChannelLayout {
@@ -3886,13 +3894,16 @@ impl<'ctx> CoreStreamData<'ctx> {
                         "AudioUnitSetProperty/output/kAudioUnitProperty_AudioChannelLayout rv={}",
                         r
                     );
-                    return Err(Error::error());
                 }
-            } else {
+                maybe_need_mixer = r != NO_ERR;
+            }
+
+            if maybe_need_mixer {
                 // The mixer will be set up when
-                // 0. not playing simply stereo
+                // 0. not playing simply stereo, or failing to set the channel layout to the stereo
+                //    pair
                 // 1. using aggregate device whose input device has output channels
-                // 2. output device has more channels than we need, and stream isn't simply mono or stereo
+                // 2. output device has more channels than we need, and stream isn't simply stereo
                 // 3. output device has different layout than the one we have
                 self.mixer = if self.output_dev_desc.mChannelsPerFrame
                     != self.output_stream_params.channels()
@@ -4918,7 +4929,7 @@ impl<'ctx> StreamOps for AudioUnitStream<'ctx> {
                 let now = unsafe { mach_absolute_time() };
                 let diff = now - timestamp;
                 let interpolated_frames = cmp::min(
-                    host_time_to_ns(diff)
+                    host_time_to_ns(self.context, diff)
                         * self.core_stream_data.output_stream_params.rate() as u64
                         / NS2S,
                     buffer_size,
diff --git a/comm/third_party/rust/cubeb-coreaudio/src/lib.rs b/comm/third_party/rust/cubeb-coreaudio/src/lib.rs
index 87efbf54d6e33518d351cb23254997d59eb28d88..bf1ae96f0ca65ba7455f91667314c925cf56dddd 100644
--- a/comm/third_party/rust/cubeb-coreaudio/src/lib.rs
+++ b/comm/third_party/rust/cubeb-coreaudio/src/lib.rs
@@ -10,8 +10,6 @@ extern crate bitflags;
 extern crate cubeb_backend;
 #[macro_use]
 extern crate float_cmp;
-#[macro_use]
-extern crate lazy_static;
 extern crate mach;
 
 mod backend;
diff --git a/comm/third_party/rust/log/.cargo-checksum.json b/comm/third_party/rust/log/.cargo-checksum.json
index 9e43c2214226bd7df19736d1c85cedfcc636085f..42ea021a65feb084fc09b1438950e762bf01619b 100644
--- a/comm/third_party/rust/log/.cargo-checksum.json
+++ b/comm/third_party/rust/log/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"CHANGELOG.md":"5291aac813a5af29d49cc9e624abcb6f16d49b40cb8b19c171ae05b0f0fb2c51","Cargo.toml":"dff834f0cd9f79ee49305bedabdae4d4c1217f8aee8fb39690ad4bdc2401368c","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"4fcd79a808300bfce99e68749f33f305a446c7bc48789810530a4b3f57a449c6","benches/value.rs":"b613ff353d3cf0ef8cb98e4ca461ea929b8ba553fe299f2eb2942d77a5b1b6a0","src/__private_api.rs":"fe9e5959840af6767e17e6d0e27985156839eef2ee3263f74990e571c640df62","src/kv/error.rs":"6dae12424164c33b93915f5e70bd6d99d616c969c8bfb543806721dd9b423981","src/kv/key.rs":"9439e91c3ab3f9574a6a11a0347c7b63fdf1652384a6b28411136e4373de2970","src/kv/mod.rs":"3521a5bcfd7f92dcfac6c3c948020d686fee696596c566333a27edbbcc8a4ea8","src/kv/source.rs":"911e480fe2719230c13b083717737d42c5d22882844cf0172798f50601442015","src/kv/value.rs":"0aade52b8e3523a17d6114f8b664793862032a94ea1ee2a4f12a20dd729b92d4","src/lib.rs":"6adbad6a28da344fef36b63e81786a94e5cfe7426f7c5eb73df0c467eb078222","src/macros.rs":"9a748a1fb6e097219561e809d30b51d1354478556f507c1d7db3d239cd4a008b","src/serde.rs":"35f520f62fdba0216ccee33e5b66ad8f81dee3af5b65b824f1816180c9350df5","triagebot.toml":"a135e10c777cd13459559bdf74fb704c1379af7c9b0f70bc49fa6f5a837daa81"},"package":"90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"}
\ No newline at end of file
+{"files":{"CHANGELOG.md":"df7d7ea4256611dd5e3bf160e39bb3f8b665c6805ae47fdbf28acf9f77245ffd","Cargo.toml":"2161251dd0dfbea680a9d5fd762973e343fc5215794681c5ffd641faab9a4e4c","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"a23bbe55ac94081711c081a63df10d324a8a26f4b836952cb3c45c9318a03152","benches/value.rs":"b613ff353d3cf0ef8cb98e4ca461ea929b8ba553fe299f2eb2942d77a5b1b6a0","src/__private_api.rs":"da677f1e29e3cb135c971247031bc0eb20324294ab5c1c74c5118f87e45518ae","src/kv/error.rs":"6dae12424164c33b93915f5e70bd6d99d616c969c8bfb543806721dd9b423981","src/kv/key.rs":"9439e91c3ab3f9574a6a11a0347c7b63fdf1652384a6b28411136e4373de2970","src/kv/mod.rs":"3521a5bcfd7f92dcfac6c3c948020d686fee696596c566333a27edbbcc8a4ea8","src/kv/source.rs":"73fbc180c824072d86f1f41f8c59c014db1d8988a86be38a9128d67d6aab06a5","src/kv/value.rs":"0aade52b8e3523a17d6114f8b664793862032a94ea1ee2a4f12a20dd729b92d4","src/lib.rs":"55c32130cd8b99cde2ea962a403cdade52d20e80088357ba2784ee53b2eb9a2c","src/macros.rs":"dfb98017d5f205fec632069ab857a18661d6d563cf5162eeef64d367cc3ad7f5","src/serde.rs":"35f520f62fdba0216ccee33e5b66ad8f81dee3af5b65b824f1816180c9350df5","triagebot.toml":"a135e10c777cd13459559bdf74fb704c1379af7c9b0f70bc49fa6f5a837daa81"},"package":"a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"}
\ No newline at end of file
diff --git a/comm/third_party/rust/log/CHANGELOG.md b/comm/third_party/rust/log/CHANGELOG.md
index 77633b1709c190f5c2fd7b0ee7d4fea47f697e67..2c89834df3894e6dedde9dad479676f1daf0b30c 100644
--- a/comm/third_party/rust/log/CHANGELOG.md
+++ b/comm/third_party/rust/log/CHANGELOG.md
@@ -2,6 +2,26 @@
 
 ## [Unreleased]
 
+## [0.4.22] - 2024-06-27
+
+## What's Changed
+* Add some clarifications to the library docs by @KodrAus in https://github.com/rust-lang/log/pull/620
+* Add links to `colog` crate by @chrivers in https://github.com/rust-lang/log/pull/621
+* adding line_number test + updating some testing infrastructure by @DIvkov575 in https://github.com/rust-lang/log/pull/619
+* Clarify the actual set of functions that can race in _racy variants by @KodrAus in https://github.com/rust-lang/log/pull/623
+* Replace deprecated std::sync::atomic::spin_loop_hint() by @Catamantaloedis in https://github.com/rust-lang/log/pull/625
+* Check usage of max_level features by @Thomasdezeeuw in https://github.com/rust-lang/log/pull/627
+* Remove unneeded import by @Thomasdezeeuw in https://github.com/rust-lang/log/pull/628
+* Loosen orderings for logger initialization in https://github.com/rust-lang/log/pull/632. Originally by @pwoolcoc in https://github.com/rust-lang/log/pull/599
+* Use Location::caller() for file and line info in https://github.com/rust-lang/log/pull/633. Originally by @Cassy343 in https://github.com/rust-lang/log/pull/520
+
+## New Contributors
+* @chrivers made their first contribution in https://github.com/rust-lang/log/pull/621
+* @DIvkov575 made their first contribution in https://github.com/rust-lang/log/pull/619
+* @Catamantaloedis made their first contribution in https://github.com/rust-lang/log/pull/625
+
+**Full Changelog**: https://github.com/rust-lang/log/compare/0.4.21...0.4.22
+
 ## [0.4.21] - 2024-02-27
 
 ## What's Changed
diff --git a/comm/third_party/rust/log/Cargo.toml b/comm/third_party/rust/log/Cargo.toml
index 93e32cb93307ffb78e9e37bc48754db6cb736100..313a0051ae5fe7b64ee473882934f7354e6fca61 100644
--- a/comm/third_party/rust/log/Cargo.toml
+++ b/comm/third_party/rust/log/Cargo.toml
@@ -13,7 +13,7 @@
 edition = "2021"
 rust-version = "1.60.0"
 name = "log"
-version = "0.4.21"
+version = "0.4.22"
 authors = ["The Rust Project Developers"]
 exclude = ["rfcs/**/*"]
 description = """
@@ -36,8 +36,8 @@ features = [
 ]
 
 [[test]]
-name = "filters"
-path = "tests/filters.rs"
+name = "integration"
+path = "tests/integration.rs"
 harness = false
 
 [[test]]
diff --git a/comm/third_party/rust/log/README.md b/comm/third_party/rust/log/README.md
index d6a08f5586ada8a5f4d1573498471f0b5f257efa..d4a08b12b9daf22af79625c8a682dbaf17495ea3 100644
--- a/comm/third_party/rust/log/README.md
+++ b/comm/third_party/rust/log/README.md
@@ -62,6 +62,7 @@ There are many available implementations to choose from, here are some options:
 
 * Simple minimal loggers:
     * [`env_logger`](https://docs.rs/env_logger/*/env_logger/)
+    * [`colog`](https://docs.rs/colog/*/colog/)
     * [`simple_logger`](https://docs.rs/simple_logger/*/simple_logger/)
     * [`simplelog`](https://docs.rs/simplelog/*/simplelog/)
     * [`pretty_env_logger`](https://docs.rs/pretty_env_logger/*/pretty_env_logger/)
diff --git a/comm/third_party/rust/log/src/__private_api.rs b/comm/third_party/rust/log/src/__private_api.rs
index fd0a5a762ba19c626c0d6cbde7c68cc74b31d1cf..11bc2fc1ce241e592bb6f6411c01fa89d40bafb6 100644
--- a/comm/third_party/rust/log/src/__private_api.rs
+++ b/comm/third_party/rust/log/src/__private_api.rs
@@ -3,7 +3,8 @@
 use self::sealed::KVs;
 use crate::{Level, Metadata, Record};
 use std::fmt::Arguments;
-pub use std::{file, format_args, line, module_path, stringify};
+use std::panic::Location;
+pub use std::{format_args, module_path, stringify};
 
 #[cfg(not(feature = "kv"))]
 pub type Value<'a> = &'a str;
@@ -36,8 +37,7 @@ impl<'a> KVs<'a> for () {
 fn log_impl(
     args: Arguments,
     level: Level,
-    &(target, module_path, file): &(&str, &'static str, &'static str),
-    line: u32,
+    &(target, module_path, loc): &(&str, &'static str, &'static Location),
     kvs: Option<&[(&str, Value)]>,
 ) {
     #[cfg(not(feature = "kv"))]
@@ -52,8 +52,8 @@ fn log_impl(
         .level(level)
         .target(target)
         .module_path_static(Some(module_path))
-        .file_static(Some(file))
-        .line(Some(line));
+        .file_static(Some(loc.file()))
+        .line(Some(loc.line()));
 
     #[cfg(feature = "kv")]
     builder.key_values(&kvs);
@@ -64,25 +64,23 @@ fn log_impl(
 pub fn log<'a, K>(
     args: Arguments,
     level: Level,
-    target_module_path_and_file: &(&str, &'static str, &'static str),
-    line: u32,
+    target_module_path_and_loc: &(&str, &'static str, &'static Location),
     kvs: K,
 ) where
     K: KVs<'a>,
 {
-    log_impl(
-        args,
-        level,
-        target_module_path_and_file,
-        line,
-        kvs.into_kvs(),
-    )
+    log_impl(args, level, target_module_path_and_loc, kvs.into_kvs())
 }
 
 pub fn enabled(level: Level, target: &str) -> bool {
     crate::logger().enabled(&Metadata::builder().level(level).target(target).build())
 }
 
+#[track_caller]
+pub fn loc() -> &'static Location<'static> {
+    Location::caller()
+}
+
 #[cfg(feature = "kv")]
 mod kv_support {
     use crate::kv;
diff --git a/comm/third_party/rust/log/src/kv/source.rs b/comm/third_party/rust/log/src/kv/source.rs
index 0ca267ce301bc0781200d548f759ce962720ab27..f463e6d2b68a8262d3c81616e146b1337852c114 100644
--- a/comm/third_party/rust/log/src/kv/source.rs
+++ b/comm/third_party/rust/log/src/kv/source.rs
@@ -406,8 +406,6 @@ mod std_support {
 
     #[cfg(test)]
     mod tests {
-        use std::collections::{BTreeMap, HashMap};
-
         use crate::kv::value;
 
         use super::*;
diff --git a/comm/third_party/rust/log/src/lib.rs b/comm/third_party/rust/log/src/lib.rs
index 6b5eafbf4240ddf709410d90489fab649e194728..6b43a9ae16d85b7d1e5713087fb7746b95428716 100644
--- a/comm/third_party/rust/log/src/lib.rs
+++ b/comm/third_party/rust/log/src/lib.rs
@@ -41,6 +41,8 @@
 //! [`trace!`]: ./macro.trace.html
 //! [`println!`]: https://doc.rust-lang.org/stable/std/macro.println.html
 //!
+//! Avoid writing expressions with side-effects in log statements. They may not be evaluated.
+//!
 //! ## In libraries
 //!
 //! Libraries should link only to the `log` crate, and use the provided
@@ -133,6 +135,7 @@
 //!
 //! * Simple minimal loggers:
 //!     * [env_logger]
+//!     * [colog]
 //!     * [simple_logger]
 //!     * [simplelog]
 //!     * [pretty_env_logger]
@@ -308,6 +311,7 @@
 //! [`try_set_logger_raw`]: fn.try_set_logger_raw.html
 //! [`shutdown_logger_raw`]: fn.shutdown_logger_raw.html
 //! [env_logger]: https://docs.rs/env_logger/*/env_logger/
+//! [colog]: https://docs.rs/colog/*/colog/
 //! [simple_logger]: https://github.com/borntyping/rust-simple_logger
 //! [simplelog]: https://github.com/drakulix/simplelog.rs
 //! [pretty_env_logger]: https://docs.rs/pretty_env_logger/*/pretty_env_logger/
@@ -332,15 +336,50 @@
 #![doc(
     html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
     html_favicon_url = "https://www.rust-lang.org/favicon.ico",
-    html_root_url = "https://docs.rs/log/0.4.21"
+    html_root_url = "https://docs.rs/log/0.4.22"
 )]
 #![warn(missing_docs)]
 #![deny(missing_debug_implementations, unconditional_recursion)]
 #![cfg_attr(all(not(feature = "std"), not(test)), no_std)]
-// When compiled for the rustc compiler itself we want to make sure that this is
-// an unstable crate
-#![cfg_attr(rustbuild, feature(staged_api, rustc_private))]
-#![cfg_attr(rustbuild, unstable(feature = "rustc_private", issue = "27812"))]
+
+#[cfg(any(
+    all(feature = "max_level_off", feature = "max_level_error"),
+    all(feature = "max_level_off", feature = "max_level_warn"),
+    all(feature = "max_level_off", feature = "max_level_info"),
+    all(feature = "max_level_off", feature = "max_level_debug"),
+    all(feature = "max_level_off", feature = "max_level_trace"),
+    all(feature = "max_level_error", feature = "max_level_warn"),
+    all(feature = "max_level_error", feature = "max_level_info"),
+    all(feature = "max_level_error", feature = "max_level_debug"),
+    all(feature = "max_level_error", feature = "max_level_trace"),
+    all(feature = "max_level_warn", feature = "max_level_info"),
+    all(feature = "max_level_warn", feature = "max_level_debug"),
+    all(feature = "max_level_warn", feature = "max_level_trace"),
+    all(feature = "max_level_info", feature = "max_level_debug"),
+    all(feature = "max_level_info", feature = "max_level_trace"),
+    all(feature = "max_level_debug", feature = "max_level_trace"),
+))]
+compile_error!("multiple max_level_* features set");
+
+#[rustfmt::skip]
+#[cfg(any(
+    all(feature = "release_max_level_off", feature = "release_max_level_error"),
+    all(feature = "release_max_level_off", feature = "release_max_level_warn"),
+    all(feature = "release_max_level_off", feature = "release_max_level_info"),
+    all(feature = "release_max_level_off", feature = "release_max_level_debug"),
+    all(feature = "release_max_level_off", feature = "release_max_level_trace"),
+    all(feature = "release_max_level_error", feature = "release_max_level_warn"),
+    all(feature = "release_max_level_error", feature = "release_max_level_info"),
+    all(feature = "release_max_level_error", feature = "release_max_level_debug"),
+    all(feature = "release_max_level_error", feature = "release_max_level_trace"),
+    all(feature = "release_max_level_warn", feature = "release_max_level_info"),
+    all(feature = "release_max_level_warn", feature = "release_max_level_debug"),
+    all(feature = "release_max_level_warn", feature = "release_max_level_trace"),
+    all(feature = "release_max_level_info", feature = "release_max_level_debug"),
+    all(feature = "release_max_level_info", feature = "release_max_level_trace"),
+    all(feature = "release_max_level_debug", feature = "release_max_level_trace"),
+))]
+compile_error!("multiple release_max_level_* features set");
 
 #[cfg(all(not(feature = "std"), not(test)))]
 extern crate core as std;
@@ -1149,6 +1188,11 @@ pub trait Log: Sync + Send {
     fn log(&self, record: &Record);
 
     /// Flushes any buffered records.
+    ///
+    /// # For implementors
+    ///
+    /// This method isn't called automatically by the `log!` macros.
+    /// It can be called manually on shut-down to ensure any in-flight records are flushed.
     fn flush(&self);
 }
 
@@ -1234,13 +1278,13 @@ pub fn set_max_level(level: LevelFilter) {
 ///
 /// # Safety
 ///
-/// This function is only safe to call when no other level setting function is
-/// called while this function still executes.
+/// This function is only safe to call when it cannot race with any other
+/// calls to `set_max_level` or `set_max_level_racy`.
 ///
 /// This can be upheld by (for example) making sure that **there are no other
 /// threads**, and (on embedded) that **interrupts are disabled**.
 ///
-/// Is is safe to use all other logging functions while this function runs
+/// It is safe to use all other logging functions while this function runs
 /// (including all logging macros).
 ///
 /// [`set_max_level`]: fn.set_max_level.html
@@ -1357,27 +1401,22 @@ fn set_logger_inner<F>(make_logger: F) -> Result<(), SetLoggerError>
 where
     F: FnOnce() -> &'static dyn Log,
 {
-    let old_state = match STATE.compare_exchange(
+    match STATE.compare_exchange(
         UNINITIALIZED,
         INITIALIZING,
-        Ordering::SeqCst,
-        Ordering::SeqCst,
+        Ordering::Acquire,
+        Ordering::Relaxed,
     ) {
-        Ok(s) | Err(s) => s,
-    };
-    match old_state {
-        UNINITIALIZED => {
+        Ok(UNINITIALIZED) => {
             unsafe {
                 LOGGER = make_logger();
             }
-            STATE.store(INITIALIZED, Ordering::SeqCst);
+            STATE.store(INITIALIZED, Ordering::Release);
             Ok(())
         }
-        INITIALIZING => {
-            while STATE.load(Ordering::SeqCst) == INITIALIZING {
-                // TODO: replace with `hint::spin_loop` once MSRV is 1.49.0.
-                #[allow(deprecated)]
-                std::sync::atomic::spin_loop_hint();
+        Err(INITIALIZING) => {
+            while STATE.load(Ordering::Relaxed) == INITIALIZING {
+                std::hint::spin_loop();
             }
             Err(SetLoggerError(()))
         }
@@ -1394,8 +1433,8 @@ where
 ///
 /// # Safety
 ///
-/// This function is only safe to call when no other logger initialization
-/// function is called while this function still executes.
+/// This function is only safe to call when it cannot race with any other
+/// calls to `set_logger` or `set_logger_racy`.
 ///
 /// This can be upheld by (for example) making sure that **there are no other
 /// threads**, and (on embedded) that **interrupts are disabled**.
@@ -1405,10 +1444,10 @@ where
 ///
 /// [`set_logger`]: fn.set_logger.html
 pub unsafe fn set_logger_racy(logger: &'static dyn Log) -> Result<(), SetLoggerError> {
-    match STATE.load(Ordering::SeqCst) {
+    match STATE.load(Ordering::Acquire) {
         UNINITIALIZED => {
             LOGGER = logger;
-            STATE.store(INITIALIZED, Ordering::SeqCst);
+            STATE.store(INITIALIZED, Ordering::Release);
             Ok(())
         }
         INITIALIZING => {
diff --git a/comm/third_party/rust/log/src/macros.rs b/comm/third_party/rust/log/src/macros.rs
index 48a7447eff3846e96dcd7d8862c462edb850b417..87693f2b1f6c688e9130be5edfb22bb11753d291 100644
--- a/comm/third_party/rust/log/src/macros.rs
+++ b/comm/third_party/rust/log/src/macros.rs
@@ -36,8 +36,7 @@ macro_rules! log {
             $crate::__private_api::log::<&_>(
                 $crate::__private_api::format_args!($($arg)+),
                 lvl,
-                &($target, $crate::__private_api::module_path!(), $crate::__private_api::file!()),
-                $crate::__private_api::line!(),
+                &($target, $crate::__private_api::module_path!(), $crate::__private_api::loc()),
                 &[$(($crate::__log_key!($key), $crate::__log_value!($key $(:$capture)* = $($value)*))),+]
             );
         }
@@ -50,8 +49,7 @@ macro_rules! log {
             $crate::__private_api::log(
                 $crate::__private_api::format_args!($($arg)+),
                 lvl,
-                &($target, $crate::__private_api::module_path!(), $crate::__private_api::file!()),
-                $crate::__private_api::line!(),
+                &($target, $crate::__private_api::module_path!(), $crate::__private_api::loc()),
                 (),
             );
         }
diff --git a/comm/third_party/rust/sql-support/.cargo-checksum.json b/comm/third_party/rust/sql-support/.cargo-checksum.json
index 0633954ed265860efd7b032ea5e50e376de920ff..d10f9a159e3cc983a8ec7d94b73f7c5194377628 100644
--- a/comm/third_party/rust/sql-support/.cargo-checksum.json
+++ b/comm/third_party/rust/sql-support/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"6765229acc1f06326b3ede93379d78d119aa78679567baf0bf7bdb5ec310522f","src/conn_ext.rs":"d4eddf906ecf5d45b8cf9e858751cc22e644e652f04560237f8de748a33d56f6","src/debug_tools.rs":"bece2bc3d35379b81ea2f942a0a3e909e0ab0553656505904745548eacaf402a","src/each_chunk.rs":"e900a4ebadad31b0a87cb8d7c3ed5aeb7325d4d380ae1d9174eff62c78facdcc","src/lazy.rs":"a96b4f4ec572538b49cdfa8fee981dcf5143a5f51163fb8a573d3ac128df70f9","src/lib.rs":"b2c120db4928c3e4abdd96405fd4c1016255699bdbc38c8cd60dbd3431fc0a12","src/maybe_cached.rs":"0b18425595055883a98807fbd62ff27a79c18af34e7cb3439f8c3438463ef2dd","src/open_database.rs":"1de254e20df724f74be6c6d3bd54c77c9dd8eb009ef0a33c2e0a15da8f5c2aa3","src/repeat.rs":"b4c5ff5d083afba7f9f153f54aba2e6859b78b85c82d48dbd6bd58f67da9e6b9"},"package":null}
\ No newline at end of file
+{"files":{"Cargo.toml":"6765229acc1f06326b3ede93379d78d119aa78679567baf0bf7bdb5ec310522f","src/conn_ext.rs":"d4eddf906ecf5d45b8cf9e858751cc22e644e652f04560237f8de748a33d56f6","src/debug_tools.rs":"bece2bc3d35379b81ea2f942a0a3e909e0ab0553656505904745548eacaf402a","src/each_chunk.rs":"e900a4ebadad31b0a87cb8d7c3ed5aeb7325d4d380ae1d9174eff62c78facdcc","src/lazy.rs":"a96b4f4ec572538b49cdfa8fee981dcf5143a5f51163fb8a573d3ac128df70f9","src/lib.rs":"b2c120db4928c3e4abdd96405fd4c1016255699bdbc38c8cd60dbd3431fc0a12","src/maybe_cached.rs":"0b18425595055883a98807fbd62ff27a79c18af34e7cb3439f8c3438463ef2dd","src/open_database.rs":"c8e46d682da499e1b9ab0fd7f8a21f6140d1f9520b40b21cb7bd3f542e3d5f3e","src/repeat.rs":"b4c5ff5d083afba7f9f153f54aba2e6859b78b85c82d48dbd6bd58f67da9e6b9"},"package":null}
\ No newline at end of file
diff --git a/comm/third_party/rust/sql-support/src/open_database.rs b/comm/third_party/rust/sql-support/src/open_database.rs
index ab81ae9f97af92ae084573db093a5370c89e5f6c..6c0da516df5cb1b7685cb1e89672fd6eb611fd05 100644
--- a/comm/third_party/rust/sql-support/src/open_database.rs
+++ b/comm/third_party/rust/sql-support/src/open_database.rs
@@ -423,6 +423,7 @@ pub mod test_utils {
         pub fn assert_schema_matches_new_database(&self) {
             let db = self.open();
             let new_db = open_memory_database(&self.connection_initializer).unwrap();
+
             let table_names = get_table_names(&db);
             let new_db_table_names = get_table_names(&new_db);
             let extra_tables = Vec::from_iter(table_names.difference(&new_db_table_names));
@@ -433,7 +434,6 @@ pub mod test_utils {
             if !new_db_extra_tables.is_empty() {
                 panic!("Extra tables only present in new database: {new_db_extra_tables:?}");
             }
-
             for table_name in table_names {
                 assert_eq!(
                     get_table_sql(&db, &table_name),
@@ -441,6 +441,24 @@ pub mod test_utils {
                     "sql differs for table: {table_name}",
                 );
             }
+
+            let index_names = get_index_names(&db);
+            let new_db_index_names = get_index_names(&new_db);
+            let extra_index = Vec::from_iter(index_names.difference(&new_db_index_names));
+            if !extra_index.is_empty() {
+                panic!("Extra indexes not present in new database: {extra_index:?}");
+            }
+            let new_db_extra_index = Vec::from_iter(new_db_index_names.difference(&index_names));
+            if !new_db_extra_index.is_empty() {
+                panic!("Extra indexes only present in new database: {new_db_extra_index:?}");
+            }
+            for index_name in index_names {
+                assert_eq!(
+                    get_index_sql(&db, &index_name),
+                    get_index_sql(&new_db, &index_name),
+                    "sql differs for index: {index_name}",
+                );
+            }
         }
 
         pub fn open(&self) -> Connection {
@@ -467,6 +485,26 @@ pub mod test_utils {
         )
         .unwrap()
     }
+
+    fn get_index_names(conn: &Connection) -> HashSet<String> {
+        conn.query_rows_and_then(
+            "SELECT name FROM sqlite_master WHERE type='index'",
+            (),
+            |row| row.get(0),
+        )
+        .unwrap()
+        .into_iter()
+        .collect()
+    }
+
+    fn get_index_sql(conn: &Connection, index_name: &str) -> String {
+        conn.query_row_and_then(
+            "SELECT sql FROM sqlite_master WHERE name = ? AND type='index'",
+            (&index_name,),
+            |row| row.get::<_, String>(0),
+        )
+        .unwrap()
+    }
 }
 
 #[cfg(test)]
diff --git a/comm/third_party/rust/suggest/.cargo-checksum.json b/comm/third_party/rust/suggest/.cargo-checksum.json
index 2b13858e6d420235d2e6313b85df6656b1f18981..e03da84199f83060d8fdb80a25d7f40ae1924371 100644
--- a/comm/third_party/rust/suggest/.cargo-checksum.json
+++ b/comm/third_party/rust/suggest/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"b2d2fb29d7408dd736650935a89627490c25ef813a5244ecd1bd9dad30e32b78","README.md":"dd0c0d3fc180f2021d81ea5804895f661cb4fe45b87fe5b1ebf8aa756988e867","benches/benchmark_all.rs":"c2343c9197b6d9ccb0798d7701b1b0d2569d494dd31a975d21d7ec6f26e32879","build.rs":"78780c5cccfe22c3ff4198624b9e188559c437c3e6fa1c8bb66548eee6aa66bf","src/benchmarks/README.md":"ccee8dbddba8762d0453fa855bd6984137b224b8c019f3dd8e86a3c303f51d71","src/benchmarks/client.rs":"b65f3d53323c827ca55cc02442b63a137c783530cc93225a90b02bc4e9790d0f","src/benchmarks/ingest.rs":"8cce7a9162bc1080e58e7f18a27c64f74cb45598fa33d3c2579f30e9b0414d50","src/benchmarks/mod.rs":"fe1898ba4d783213525da10d92858ee84cebfd22749bad7aeb461d338fe5504a","src/bin/debug_ingestion_sizes.rs":"ce6e810be7b3fc19e826d75b622b82cfab5a1a99397a6d0833c2c4eebff2d364","src/config.rs":"d40c6e83d8b5faa32c66110803ca9e78611d43507e9d3f1e191a93a7773c37b3","src/db.rs":"f2c986a8255e8359ddabd70b3dbab50713d092f3e5dfe85581a60f24655c1686","src/error.rs":"d5e0ec57aefc19d3e0230bb8832ca6fa603a18feabfc3a3e0f06ac940cc4e45e","src/keyword.rs":"988d0ab021c0df19cfd3c519df7d37f606bf984cd14d0efca4e5a7aff88344dd","src/lib.rs":"73887af023e223188f874d43ddf601784c93e9388a7adece79818d559a3366a1","src/pocket.rs":"1316668840ec9b4ea886223921dc9d3b5a1731d1a5206c0b1089f2a6c45c1b7b","src/provider.rs":"92eb1a9fa7d6814efe47fc3e7447e46bf6c0320d6fbef0d9170c46eab0e272ab","src/query.rs":"1084548b9dc0587322f08741e07db9413e9fa231166593bdbf47e562d31799a3","src/rs.rs":"0eabd6108fd1316265def15f9d232b2f70a72126019891bf4f52f5a8c6f72d1a","src/schema.rs":"88ff3ae6b652fa5a5cff4dc504d11a7fc33f1b2ee9716b970f646d9f9ca90ab7","src/store.rs":"f47de3b4da2677bdca8edd1b017f1580b9985f36d2d86b904e1058893c9f3445","src/suggest.udl":"4bfd70767a204dc58081be5d70ca96480b04b9acb741e6d2d8394362677f119d","src/suggestion.rs":"f31227779d13d1b03a622e08a417ceba4afb161885a01c2bc87a6a652b5e8be5","src/testing/client.rs":"855c14a2a5c5d9a33521c44dbb0d89f5ff531c5d125fb62d6491190c4c887df0","src/testing/data.rs":"dcd24d24997fe4f8c472f5b754a9a2b90b83e2632b4f13a77499e23441a6dea1","src/testing/mod.rs":"308c9e0f479b3d8ca6c206853842e42ce07721161f3dcc23b7018a7e4d687b03","src/yelp.rs":"bc036ff71b438d53ce8811acd8d650d83ef03faeea476f5b659b403c1e64ff2b","uniffi.toml":"f26317442ddb5b3281245bef6e60ffcb78bb95d29fe4a351a56dbb88d4ec8aab"},"package":null}
\ No newline at end of file
+{"files":{"Cargo.toml":"b2d2fb29d7408dd736650935a89627490c25ef813a5244ecd1bd9dad30e32b78","README.md":"dd0c0d3fc180f2021d81ea5804895f661cb4fe45b87fe5b1ebf8aa756988e867","benches/benchmark_all.rs":"c2343c9197b6d9ccb0798d7701b1b0d2569d494dd31a975d21d7ec6f26e32879","build.rs":"78780c5cccfe22c3ff4198624b9e188559c437c3e6fa1c8bb66548eee6aa66bf","src/benchmarks/README.md":"ccee8dbddba8762d0453fa855bd6984137b224b8c019f3dd8e86a3c303f51d71","src/benchmarks/client.rs":"b65f3d53323c827ca55cc02442b63a137c783530cc93225a90b02bc4e9790d0f","src/benchmarks/ingest.rs":"8cce7a9162bc1080e58e7f18a27c64f74cb45598fa33d3c2579f30e9b0414d50","src/benchmarks/mod.rs":"fe1898ba4d783213525da10d92858ee84cebfd22749bad7aeb461d338fe5504a","src/bin/debug_ingestion_sizes.rs":"ce6e810be7b3fc19e826d75b622b82cfab5a1a99397a6d0833c2c4eebff2d364","src/config.rs":"d40c6e83d8b5faa32c66110803ca9e78611d43507e9d3f1e191a93a7773c37b3","src/db.rs":"a8bb454995543bf7f02bfca938c3da2dec5131c2388af7312cdf6068fa042592","src/error.rs":"d5e0ec57aefc19d3e0230bb8832ca6fa603a18feabfc3a3e0f06ac940cc4e45e","src/keyword.rs":"988d0ab021c0df19cfd3c519df7d37f606bf984cd14d0efca4e5a7aff88344dd","src/lib.rs":"73887af023e223188f874d43ddf601784c93e9388a7adece79818d559a3366a1","src/pocket.rs":"1316668840ec9b4ea886223921dc9d3b5a1731d1a5206c0b1089f2a6c45c1b7b","src/provider.rs":"92eb1a9fa7d6814efe47fc3e7447e46bf6c0320d6fbef0d9170c46eab0e272ab","src/query.rs":"1084548b9dc0587322f08741e07db9413e9fa231166593bdbf47e562d31799a3","src/rs.rs":"0eabd6108fd1316265def15f9d232b2f70a72126019891bf4f52f5a8c6f72d1a","src/schema.rs":"8c963db3e047828c81619128430c47a4beee3a48fd5b72700f364e90dc2e96d1","src/store.rs":"f47de3b4da2677bdca8edd1b017f1580b9985f36d2d86b904e1058893c9f3445","src/suggest.udl":"4bfd70767a204dc58081be5d70ca96480b04b9acb741e6d2d8394362677f119d","src/suggestion.rs":"f31227779d13d1b03a622e08a417ceba4afb161885a01c2bc87a6a652b5e8be5","src/testing/client.rs":"855c14a2a5c5d9a33521c44dbb0d89f5ff531c5d125fb62d6491190c4c887df0","src/testing/data.rs":"dcd24d24997fe4f8c472f5b754a9a2b90b83e2632b4f13a77499e23441a6dea1","src/testing/mod.rs":"308c9e0f479b3d8ca6c206853842e42ce07721161f3dcc23b7018a7e4d687b03","src/yelp.rs":"bc036ff71b438d53ce8811acd8d650d83ef03faeea476f5b659b403c1e64ff2b","uniffi.toml":"f26317442ddb5b3281245bef6e60ffcb78bb95d29fe4a351a56dbb88d4ec8aab"},"package":null}
\ No newline at end of file
diff --git a/comm/third_party/rust/suggest/src/db.rs b/comm/third_party/rust/suggest/src/db.rs
index 4e12a87969eb50556024a8cc8f1b8f01477c5d08..65bac9f2c8d691f089070d3390badbf6248404ce 100644
--- a/comm/third_party/rust/suggest/src/db.rs
+++ b/comm/third_party/rust/suggest/src/db.rs
@@ -1026,6 +1026,18 @@ impl<'a> SuggestDao<'a> {
     /// Deletes all suggestions associated with a Remote Settings record from
     /// the database.
     pub fn drop_suggestions(&mut self, record_id: &SuggestRecordId) -> Result<()> {
+        self.conn.execute_cached(
+            "DELETE FROM keywords WHERE suggestion_id IN (SELECT id from suggestions WHERE record_id = :record_id)",
+            named_params! { ":record_id": record_id.as_str() },
+        )?;
+        self.conn.execute_cached(
+            "DELETE FROM full_keywords WHERE suggestion_id IN (SELECT id from suggestions WHERE record_id = :record_id)",
+            named_params! { ":record_id": record_id.as_str() },
+        )?;
+        self.conn.execute_cached(
+            "DELETE FROM prefix_keywords WHERE suggestion_id IN (SELECT id from suggestions WHERE record_id = :record_id)",
+            named_params! { ":record_id": record_id.as_str() },
+        )?;
         self.conn.execute_cached(
             "DELETE FROM suggestions WHERE record_id = :record_id",
             named_params! { ":record_id": record_id.as_str() },
diff --git a/comm/third_party/rust/suggest/src/schema.rs b/comm/third_party/rust/suggest/src/schema.rs
index 76a0deed3979bde012b000ed66bea37077c0fef1..1fd9ac97ef85aeef67ec0d921fb49fe2088ef48d 100644
--- a/comm/third_party/rust/suggest/src/schema.rs
+++ b/comm/third_party/rust/suggest/src/schema.rs
@@ -15,7 +15,7 @@ use sql_support::open_database::{self, ConnectionInitializer};
 ///     [`SuggestConnectionInitializer::upgrade_from`].
 ///    a. If suggestions should be re-ingested after the migration, call `clear_database()` inside
 ///       the migration.
-pub const VERSION: u32 = 19;
+pub const VERSION: u32 = 20;
 
 /// The current Suggest database schema.
 pub const SQL: &str = "
@@ -26,17 +26,16 @@ CREATE TABLE meta(
 
 CREATE TABLE keywords(
     keyword TEXT NOT NULL,
-    suggestion_id INTEGER NOT NULL REFERENCES suggestions(id) ON DELETE CASCADE,
-    full_keyword_id INTEGER NULL REFERENCES full_keywords(id) ON DELETE SET NULL,
+    suggestion_id INTEGER NOT NULL,
+    full_keyword_id INTEGER NULL,
     rank INTEGER NOT NULL,
     PRIMARY KEY (keyword, suggestion_id)
 ) WITHOUT ROWID;
 
 -- full keywords are what we display to the user when a (partial) keyword matches
--- The FK to suggestion_id makes it so full keywords get deleted when the parent suggestion is deleted.
 CREATE TABLE full_keywords(
     id INTEGER PRIMARY KEY,
-    suggestion_id INTEGER NOT NULL REFERENCES suggestions(id) ON DELETE CASCADE,
+    suggestion_id INTEGER NOT NULL,
     full_keyword TEXT NOT NULL
 );
 
@@ -45,7 +44,7 @@ CREATE TABLE prefix_keywords(
     keyword_suffix TEXT NOT NULL DEFAULT '',
     confidence INTEGER NOT NULL DEFAULT 0,
     rank INTEGER NOT NULL,
-    suggestion_id INTEGER NOT NULL REFERENCES suggestions(id) ON DELETE CASCADE,
+    suggestion_id INTEGER NOT NULL,
     PRIMARY KEY (keyword_prefix, keyword_suffix, suggestion_id)
 ) WITHOUT ROWID;
 
@@ -193,6 +192,41 @@ CREATE TABLE IF NOT EXISTS dismissed_suggestions (
                 )?;
                 Ok(())
             }
+            19 => {
+                // Clear the database since we're going to be dropping the keywords table and
+                // re-creating it
+                clear_database(tx)?;
+                tx.execute_batch(
+                    "
+-- Recreate the various keywords table to drop the foreign keys.
+DROP TABLE keywords;
+DROP TABLE full_keywords;
+DROP TABLE prefix_keywords;
+CREATE TABLE keywords(
+    keyword TEXT NOT NULL,
+    suggestion_id INTEGER NOT NULL,
+    full_keyword_id INTEGER NULL,
+    rank INTEGER NOT NULL,
+    PRIMARY KEY (keyword, suggestion_id)
+) WITHOUT ROWID;
+CREATE TABLE full_keywords(
+    id INTEGER PRIMARY KEY,
+    suggestion_id INTEGER NOT NULL,
+    full_keyword TEXT NOT NULL
+);
+CREATE TABLE prefix_keywords(
+    keyword_prefix TEXT NOT NULL,
+    keyword_suffix TEXT NOT NULL DEFAULT '',
+    confidence INTEGER NOT NULL DEFAULT 0,
+    rank INTEGER NOT NULL,
+    suggestion_id INTEGER NOT NULL,
+    PRIMARY KEY (keyword_prefix, keyword_suffix, suggestion_id)
+) WITHOUT ROWID;
+CREATE UNIQUE INDEX keywords_suggestion_id_rank ON keywords(suggestion_id, rank);
+                    ",
+                )?;
+                Ok(())
+            }
             _ => Err(open_database::Error::IncompatibleVersion(version)),
         }
     }
@@ -203,6 +237,9 @@ pub fn clear_database(db: &Connection) -> rusqlite::Result<()> {
     db.execute_batch(
         "
         DELETE FROM meta;
+        DELETE FROM keywords;
+        DELETE FROM full_keywords;
+        DELETE FROM prefix_keywords;
         DELETE FROM suggestions;
         DELETE FROM icons;
         DELETE FROM yelp_subjects;
diff --git a/devtools/client/responsive/test/browser/browser.toml b/devtools/client/responsive/test/browser/browser.toml
index d71267d360a0dd7945f54730ed81684ac0d54362..ff07680895cee50b79ff07fdc12e7fad5b1dfd08 100644
--- a/devtools/client/responsive/test/browser/browser.toml
+++ b/devtools/client/responsive/test/browser/browser.toml
@@ -133,7 +133,6 @@ fail-if = ["a11y_checks"] # Bug 1849028 clicked button#device-pixel-ratio-menu e
 ["browser_tab_remoteness_change_fission_switch_target.js"]
 
 ["browser_target_blank.js"]
-https_first_disabled = true
 
 ["browser_telemetry_activate_rdm.js"]
 
diff --git a/devtools/client/responsive/test/browser/browser_target_blank.js b/devtools/client/responsive/test/browser/browser_target_blank.js
index 65dbf3386d3379bb279968bc977abc1ee36be960..95867b92a42630491865a1cbb5a35f22b57be43b 100644
--- a/devtools/client/responsive/test/browser/browser_target_blank.js
+++ b/devtools/client/responsive/test/browser/browser_target_blank.js
@@ -5,7 +5,7 @@
 
 // Ensure target="_blank" link opens a new tab
 
-const TAB_URL = "http://example.com/";
+const TAB_URL = "https://example.com/";
 const TEST_URL =
   `data:text/html,<a href="${TAB_URL}" target="_blank">Click me</a>`.replace(
     / /g,
diff --git a/devtools/shared/css/lexer.js b/devtools/shared/css/lexer.js
index f52d208bbb7b547a704815ed2794df2f9c7b2144..e75eaf6936e2d9d6b8c6f5733e23ea97d352d58d 100644
--- a/devtools/shared/css/lexer.js
+++ b/devtools/shared/css/lexer.js
@@ -92,7 +92,7 @@ class InspectorCSSParserWrapper {
           this.#eofCharacters =
             this.#eofCharacters | EEOFCHARACTERS_DROPBACKSLASH;
         }
-        if (text[0] !== lastChar) {
+        if (text[0] !== lastChar || text.length === 1) {
           this.#eofCharacters =
             this.#eofCharacters |
             (text[0] === `"`
diff --git a/devtools/shared/tests/xpcshell/test_csslexer.js b/devtools/shared/tests/xpcshell/test_csslexer.js
index aabc41a0be6f7e82208cf0f0af808ee44b0472df..3c0ab8f236e1155113ca54dc897fd31252951ac6 100644
--- a/devtools/shared/tests/xpcshell/test_csslexer.js
+++ b/devtools/shared/tests/xpcshell/test_csslexer.js
@@ -261,6 +261,9 @@ add_task(function test_lexer_eofchar() {
     // doesn't cause an assertion trying to strip a backslash from the
     // end of an empty string.
     ["'\\", "\\'", ""],
+    // Check single-char quotes
+    [`"`, `""`],
+    [`'`, `''`],
   ];
 
   const test = (cssText, expectedAppend, argText) => {
diff --git a/docshell/base/CanonicalBrowsingContext.cpp b/docshell/base/CanonicalBrowsingContext.cpp
index beae24fbd12216f1bcfab433e3dfd23a9b834466..b59a70321b6c5801e4a4f916ee303c999747570b 100644
--- a/docshell/base/CanonicalBrowsingContext.cpp
+++ b/docshell/base/CanonicalBrowsingContext.cpp
@@ -2779,12 +2779,8 @@ void CanonicalBrowsingContext::CancelSessionStoreUpdate() {
 }
 
 void CanonicalBrowsingContext::SetContainerFeaturePolicy(
-    FeaturePolicy* aContainerFeaturePolicy) {
-  mContainerFeaturePolicy = aContainerFeaturePolicy;
-
-  if (WindowGlobalParent* current = GetCurrentWindowGlobal()) {
-    Unused << current->SendSetContainerFeaturePolicy(mContainerFeaturePolicy);
-  }
+    Maybe<FeaturePolicyInfo>&& aContainerFeaturePolicyInfo) {
+  mContainerFeaturePolicyInfo = std::move(aContainerFeaturePolicyInfo);
 }
 
 void CanonicalBrowsingContext::SetCrossGroupOpenerId(uint64_t aOpenerId) {
@@ -3202,15 +3198,15 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(CanonicalBrowsingContext,
   if (tmp->mSessionHistory) {
     tmp->mSessionHistory->SetBrowsingContext(nullptr);
   }
-  NS_IMPL_CYCLE_COLLECTION_UNLINK(mSessionHistory, mContainerFeaturePolicy,
-                                  mCurrentBrowserParent, mWebProgress,
+  NS_IMPL_CYCLE_COLLECTION_UNLINK(mSessionHistory, mCurrentBrowserParent,
+                                  mWebProgress,
                                   mSessionStoreSessionStorageUpdateTimer)
 NS_IMPL_CYCLE_COLLECTION_UNLINK_END
 
 NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(CanonicalBrowsingContext,
                                                   BrowsingContext)
-  NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mSessionHistory, mContainerFeaturePolicy,
-                                    mCurrentBrowserParent, mWebProgress,
+  NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mSessionHistory, mCurrentBrowserParent,
+                                    mWebProgress,
                                     mSessionStoreSessionStorageUpdateTimer)
 NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
 
diff --git a/docshell/base/CanonicalBrowsingContext.h b/docshell/base/CanonicalBrowsingContext.h
index ccbdf9ed9655b8dc59828e829ce52d267b90af0c..3355c0e006b8e885a8cd895901f5615f0838b0f3 100644
--- a/docshell/base/CanonicalBrowsingContext.h
+++ b/docshell/base/CanonicalBrowsingContext.h
@@ -10,6 +10,7 @@
 #include "mozilla/dom/BrowsingContext.h"
 #include "mozilla/dom/MediaControlKeySource.h"
 #include "mozilla/dom/BrowsingContextWebProgress.h"
+#include "mozilla/dom/FeaturePolicy.h"
 #include "mozilla/dom/ProcessIsolation.h"
 #include "mozilla/dom/Promise.h"
 #include "mozilla/dom/SessionHistoryEntry.h"
@@ -314,9 +315,10 @@ class CanonicalBrowsingContext final : public BrowsingContext {
 
   void ResetScalingZoom();
 
-  void SetContainerFeaturePolicy(FeaturePolicy* aContainerFeaturePolicy);
-  FeaturePolicy* GetContainerFeaturePolicy() const {
-    return mContainerFeaturePolicy;
+  void SetContainerFeaturePolicy(
+      Maybe<FeaturePolicyInfo>&& aContainerFeaturePolicyInfo);
+  const Maybe<FeaturePolicyInfo>& GetContainerFeaturePolicy() const {
+    return mContainerFeaturePolicyInfo;
   }
 
   void SetRestoreData(SessionStoreRestoreData* aData, ErrorResult& aError);
@@ -581,7 +583,7 @@ class CanonicalBrowsingContext final : public BrowsingContext {
   nsCOMPtr<nsIWebProgressListener> mDocShellProgressBridge;
   RefPtr<nsBrowserStatusFilter> mStatusFilter;
 
-  RefPtr<FeaturePolicy> mContainerFeaturePolicy;
+  Maybe<FeaturePolicyInfo> mContainerFeaturePolicyInfo;
 
   friend class BrowserSessionStore;
   WeakPtr<SessionStoreFormData>& GetSessionStoreFormDataRef() {
diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp
index 0dbf1c30f810826dc99b1b07be5b74ab2f31baf9..354b2c0d66976fd7fd431902bfc7816131602496 100644
--- a/docshell/base/nsDocShell.cpp
+++ b/docshell/base/nsDocShell.cpp
@@ -6586,8 +6586,6 @@ nsresult nsDocShell::CreateAboutBlankDocumentViewer(
       // after being set here.
       blankDoc->SetSandboxFlags(sandboxFlags);
 
-      blankDoc->InitFeaturePolicy();
-
       // create a content viewer for us and the new document
       docFactory->CreateInstanceForDocument(
           NS_ISUPPORTS_CAST(nsIDocShell*, this), blankDoc, "view",
@@ -6605,6 +6603,12 @@ nsresult nsDocShell::CreateAboutBlankDocumentViewer(
                       /* aLocationFlags */ 0);
         rv = mIsBeingDestroyed ? NS_ERROR_NOT_AVAILABLE : NS_OK;
       }
+
+      if (Element* embedderElement = blankDoc->GetEmbedderElement()) {
+        blankDoc->InitFeaturePolicy(AsVariant(embedderElement));
+      } else {
+        blankDoc->InitFeaturePolicy(AsVariant(Nothing{}));
+      }
     }
   }
 
@@ -8533,8 +8537,9 @@ bool nsDocShell::IsSameDocumentNavigation(nsDocShellLoadState* aLoadState,
         if (nsCOMPtr<nsIChannel> docChannel = GetCurrentDocChannel()) {
           nsCOMPtr<nsILoadInfo> docLoadInfo = docChannel->LoadInfo();
           if (!docLoadInfo->GetLoadErrorPage() &&
-              nsHTTPSOnlyUtils::IsEqualURIExceptSchemeAndRef(
-                  currentExposableURI, aLoadState->URI(), docLoadInfo)) {
+              nsHTTPSOnlyUtils::ShouldUpgradeConnection(docLoadInfo) &&
+              nsHTTPSOnlyUtils::IsHttpDowngrade(currentExposableURI,
+                                                aLoadState->URI())) {
             uint32_t status = docLoadInfo->GetHttpsOnlyStatus();
             if (status & (nsILoadInfo::HTTPS_ONLY_UPGRADED_LISTENER_REGISTERED |
                           nsILoadInfo::HTTPS_ONLY_UPGRADED_HTTPS_FIRST)) {
diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp
index 81d2db6d1dc4982fbca4b73aec9011dee9b5e9cd..c6cb09e1955d371cd19f563b30b486bcc2318304 100644
--- a/dom/base/Document.cpp
+++ b/dom/base/Document.cpp
@@ -180,6 +180,7 @@
 #include "mozilla/dom/HTMLBodyElement.h"
 #include "mozilla/dom/HTMLCollectionBinding.h"
 #include "mozilla/dom/HTMLDialogElement.h"
+#include "mozilla/dom/HTMLEmbedElement.h"
 #include "mozilla/dom/HTMLFormElement.h"
 #include "mozilla/dom/HTMLIFrameElement.h"
 #include "mozilla/dom/HTMLImageElement.h"
@@ -187,6 +188,7 @@
 #include "mozilla/dom/HTMLLinkElement.h"
 #include "mozilla/dom/HTMLMediaElement.h"
 #include "mozilla/dom/HTMLMetaElement.h"
+#include "mozilla/dom/HTMLObjectElement.h"
 #include "mozilla/dom/HTMLSharedElement.h"
 #include "mozilla/dom/HTMLTextAreaElement.h"
 #include "mozilla/dom/ImageTracker.h"
@@ -3869,74 +3871,68 @@ nsresult Document::InitCSP(nsIChannel* aChannel) {
   return NS_OK;
 }
 
-static Document* GetInProcessParentDocumentFrom(BrowsingContext* aContext) {
-  BrowsingContext* parentContext = aContext->GetParent();
-  if (!parentContext) {
-    return nullptr;
+static FeaturePolicy* GetFeaturePolicyFromElement(Element* aElement) {
+  if (auto* iframe = HTMLIFrameElement::FromNodeOrNull(aElement)) {
+    return iframe->FeaturePolicy();
   }
 
-  WindowContext* windowContext = parentContext->GetCurrentWindowContext();
-  if (!windowContext) {
+  if (!HTMLObjectElement::FromNodeOrNull(aElement) &&
+      !HTMLEmbedElement::FromNodeOrNull(aElement)) {
     return nullptr;
   }
 
-  return windowContext->GetDocument();
+  return aElement->OwnerDoc()->FeaturePolicy();
 }
 
-already_AddRefed<dom::FeaturePolicy> Document::GetParentFeaturePolicy() {
-  BrowsingContext* browsingContext = GetBrowsingContext();
-  if (!browsingContext) {
-    return nullptr;
-  }
-  if (!browsingContext->IsContentSubframe()) {
-    return nullptr;
-  }
+void Document::InitFeaturePolicy(
+    const Variant<Nothing, FeaturePolicyInfo, Element*>&
+        aContainerFeaturePolicy) {
+  MOZ_ASSERT(mFeaturePolicy, "we should have FeaturePolicy created");
 
-  HTMLIFrameElement* iframe =
-      HTMLIFrameElement::FromNodeOrNull(browsingContext->GetEmbedderElement());
-  if (iframe) {
-    return do_AddRef(iframe->FeaturePolicy());
-  }
+  mFeaturePolicy->ResetDeclaredPolicy();
 
-  if (XRE_IsParentProcess()) {
-    return do_AddRef(browsingContext->Canonical()->GetContainerFeaturePolicy());
-  }
+  mFeaturePolicy->SetDefaultOrigin(NodePrincipal());
 
-  if (Document* parentDocument =
-          GetInProcessParentDocumentFrom(browsingContext)) {
-    return do_AddRef(parentDocument->FeaturePolicy());
-  }
+  RefPtr<dom::FeaturePolicy> featurePolicy = mFeaturePolicy;
+  aContainerFeaturePolicy.match(
+      [](const Nothing&) {},
+      [featurePolicy](const FeaturePolicyInfo& aContainerFeaturePolicy) {
+        // Let's inherit the policy from the possibly cross-origin container.
+        featurePolicy->InheritPolicy(aContainerFeaturePolicy);
+        featurePolicy->SetSrcOrigin(aContainerFeaturePolicy.mSrcOrigin);
+      },
+      [featurePolicy](Element* aContainer) {
+        // Let's inherit the policy from the parent container element if it
+        // exists.
+        if (RefPtr<dom::FeaturePolicy> containerFeaturePolicy =
+                GetFeaturePolicyFromElement(aContainer)) {
+          featurePolicy->InheritPolicy(containerFeaturePolicy);
+          featurePolicy->SetSrcOrigin(containerFeaturePolicy->GetSrcOrigin());
+        }
+      });
+}
 
-  WindowContext* windowContext = browsingContext->GetCurrentWindowContext();
-  if (!windowContext) {
+Element* GetEmbedderElementFrom(BrowsingContext* aBrowsingContext) {
+  if (!aBrowsingContext) {
     return nullptr;
   }
-
-  WindowGlobalChild* child = windowContext->GetWindowGlobalChild();
-  if (!child) {
+  if (!aBrowsingContext->IsContentSubframe()) {
     return nullptr;
   }
 
-  return do_AddRef(child->GetContainerFeaturePolicy());
-}
-
-void Document::InitFeaturePolicy() {
-  MOZ_ASSERT(mFeaturePolicy, "we should have FeaturePolicy created");
-
-  mFeaturePolicy->ResetDeclaredPolicy();
-
-  mFeaturePolicy->SetDefaultOrigin(NodePrincipal());
-
-  RefPtr<mozilla::dom::FeaturePolicy> parentPolicy = GetParentFeaturePolicy();
-  if (parentPolicy) {
-    // Let's inherit the policy from the parent HTMLIFrameElement if it exists.
-    mFeaturePolicy->InheritPolicy(parentPolicy);
-    mFeaturePolicy->SetSrcOrigin(parentPolicy->GetSrcOrigin());
-  }
+  return aBrowsingContext->GetEmbedderElement();
 }
 
 nsresult Document::InitFeaturePolicy(nsIChannel* aChannel) {
-  InitFeaturePolicy();
+  nsCOMPtr<nsILoadInfo> loadInfo = aChannel->LoadInfo();
+  if (Element* embedderElement = GetEmbedderElementFrom(GetBrowsingContext())) {
+    InitFeaturePolicy(AsVariant(embedderElement));
+  } else if (Maybe<FeaturePolicyInfo> featurePolicyContainer =
+                 loadInfo->GetContainerFeaturePolicyInfo()) {
+    InitFeaturePolicy(AsVariant(*featurePolicyContainer));
+  } else {
+    InitFeaturePolicy(AsVariant(Nothing{}));
+  }
 
   // We don't want to parse the http Feature-Policy header if this pref is off.
   if (!StaticPrefs::dom_security_featurePolicy_header_enabled()) {
diff --git a/dom/base/Document.h b/dom/base/Document.h
index 0d8ccd7baff62c178a9fc29eadc63d93b0220c61..7eea29947d91f6b99363d7bf4c69f4e7b3276636 100644
--- a/dom/base/Document.h
+++ b/dom/base/Document.h
@@ -1503,7 +1503,8 @@ class Document : public nsINode,
 
   void DoNotifyPossibleTitleChange();
 
-  void InitFeaturePolicy();
+  void InitFeaturePolicy(const Variant<Nothing, FeaturePolicyInfo, Element*>&
+                             aContainerFeaturePolicy);
   nsresult InitFeaturePolicy(nsIChannel* aChannel);
 
   void EnsureNotEnteringAndExitFullscreen();
diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp
index df0e4690020dcfdab05ac6e3984a7dad1ca106ba..1edbffd5353a77fd84bc9abecb0628557512fa67 100644
--- a/dom/base/nsContentUtils.cpp
+++ b/dom/base/nsContentUtils.cpp
@@ -2626,7 +2626,7 @@ bool nsContentUtils::ShouldResistFingerprinting_dangerous(
       BasePrincipal::Cast(aPrincipal)->OriginAttributesRef();
   // With this check, we can ensure that the prefs and target say yes, so only
   // an exemption would cause us to return false.
-  bool isPBM = originAttributes.mPrivateBrowsingId ==
+  bool isPBM = originAttributes.mPrivateBrowsingId !=
                nsIScriptSecurityManager::DEFAULT_PRIVATE_BROWSING_ID;
   if (!ShouldResistFingerprinting_("Positive return check", isPBM, aTarget)) {
     MOZ_LOG(nsContentUtils::ResistFingerprintingLog(), LogLevel::Debug,
diff --git a/dom/base/nsObjectLoadingContent.cpp b/dom/base/nsObjectLoadingContent.cpp
index ab87c58e87131016583fb358e76cb11633e2d9a2..f97621e4475446afc1db8a6d7f1b875c705706bd 100644
--- a/dom/base/nsObjectLoadingContent.cpp
+++ b/dom/base/nsObjectLoadingContent.cpp
@@ -1838,7 +1838,8 @@ void nsObjectLoadingContent::MaybeStoreCrossOriginFeaturePolicy() {
 
   FeaturePolicy* featurePolicy = el->OwnerDoc()->FeaturePolicy();
 
-  if (ContentChild* cc = ContentChild::GetSingleton()) {
-    Unused << cc->SendSetContainerFeaturePolicy(browsingContext, featurePolicy);
+  if (ContentChild* cc = ContentChild::GetSingleton(); cc && featurePolicy) {
+    Unused << cc->SendSetContainerFeaturePolicy(
+        browsingContext, Some(featurePolicy->ToFeaturePolicyInfo()));
   }
 }
diff --git a/dom/canvas/WebGLShaderValidator.cpp b/dom/canvas/WebGLShaderValidator.cpp
index 0921da6e256cc9c814b9a2531826cb7cad26aa99..cc760439b64ded1d9929ef5552a145a5aa0e58ec 100644
--- a/dom/canvas/WebGLShaderValidator.cpp
+++ b/dom/canvas/WebGLShaderValidator.cpp
@@ -191,6 +191,36 @@ std::unique_ptr<webgl::ShaderValidator> WebGLContext::CreateShaderValidator(
 #endif
   }
 
+  // -
+
+  resources.MaxVariableSizeInBytes = [&]() -> size_t {
+    const auto kibytes = StaticPrefs::webgl_glsl_max_var_size_in_kibytes();
+    if (kibytes >= 0) {
+      return static_cast<size_t>(kibytes) * 1024;
+    }
+
+    return resources.MaxVariableSizeInBytes;
+  }();
+
+  resources.MaxPrivateVariableSizeInBytes = [&]() -> size_t {
+    const auto bytes = StaticPrefs::webgl_glsl_max_private_var_size_in_bytes();
+    if (bytes >= 0) {
+      return static_cast<size_t>(bytes);
+    }
+
+    if (gl->IsMesa()) {
+      return 4 * 4 * 1024;  // 4K words
+    }
+
+    if (kIsMacOS) {
+      return 128 * 1024;  // 8k vec4s
+    }
+
+    return resources.MaxPrivateVariableSizeInBytes;
+  }();
+
+  // -
+
   const auto compileOptions =
       webgl::ChooseValidatorCompileOptions(resources, gl);
   auto ret = webgl::ShaderValidator::Create(shaderType, spec, outputLanguage,
diff --git a/dom/chrome-webidl/ChromeUtils.webidl b/dom/chrome-webidl/ChromeUtils.webidl
index 72b848fd01e084495366e3aa1b50184b1487f728..c0a4d900d48a9ee440ff7caa5255548b24fa03b5 100644
--- a/dom/chrome-webidl/ChromeUtils.webidl
+++ b/dom/chrome-webidl/ChromeUtils.webidl
@@ -966,6 +966,11 @@ dictionary CompileScriptOptionsDictionary {
    */
   DOMString charset = "utf-8";
 
+  /**
+   * The filename to associate with the script. Defaults to the source's URL.
+   */
+  DOMString filename;
+
   /**
    * If true, certain parts of the script may be parsed lazily, the first time
    * they are used, rather than eagerly parsed at load time.
diff --git a/dom/chrome-webidl/PrecompiledScript.webidl b/dom/chrome-webidl/PrecompiledScript.webidl
index 4a71f67fc87ea060b46c1c27981d2df50c355b68..1f8826a3e4707a81906a3cc242e0c65008bd3c60 100644
--- a/dom/chrome-webidl/PrecompiledScript.webidl
+++ b/dom/chrome-webidl/PrecompiledScript.webidl
@@ -29,7 +29,8 @@ interface PrecompiledScript {
   any executeInGlobal(object global, optional ExecuteInGlobalOptions options = {});
 
   /**
-   * The URL that the script was loaded from.
+   * The URL that the script was loaded from. Could also be an arbitrary other
+   * value as specified by the "filename" option to ChromeUtils.compileScript.
    */
   [Pure]
   readonly attribute DOMString url;
diff --git a/dom/html/HTMLIFrameElement.cpp b/dom/html/HTMLIFrameElement.cpp
index 97363ccbff684470e3d9254175fd9dd1e41bb278..b54bb267b92157330180d8c52f94311fef54ab97 100644
--- a/dom/html/HTMLIFrameElement.cpp
+++ b/dom/html/HTMLIFrameElement.cpp
@@ -255,8 +255,8 @@ void HTMLIFrameElement::MaybeStoreCrossOriginFeaturePolicy() {
   }
 
   if (ContentChild* cc = ContentChild::GetSingleton()) {
-    Unused << cc->SendSetContainerFeaturePolicy(browsingContext,
-                                                mFeaturePolicy);
+    Unused << cc->SendSetContainerFeaturePolicy(
+        browsingContext, Some(mFeaturePolicy->ToFeaturePolicyInfo()));
   }
 }
 
diff --git a/dom/html/HTMLInputElement.cpp b/dom/html/HTMLInputElement.cpp
index 286f788a6749adf1fcce417b25486bcebb016450..30093e5d408caa054a04adddf63ce2bec384eed6 100644
--- a/dom/html/HTMLInputElement.cpp
+++ b/dom/html/HTMLInputElement.cpp
@@ -3991,7 +3991,7 @@ nsresult HTMLInputElement::PostHandleEvent(EventChainPostVisitor& aVisitor) {
             if (mType == FormControlType::InputSearch) {
               if (nsSearchControlFrame* searchControlFrame =
                       do_QueryFrame(GetPrimaryFrame())) {
-                Element* clearButton = searchControlFrame->GetAnonClearButton();
+                Element* clearButton = searchControlFrame->GetButton();
                 if (clearButton &&
                     aVisitor.mEvent->mOriginalTarget == clearButton) {
                   SetUserInput(EmptyString(),
@@ -4005,7 +4005,7 @@ nsresult HTMLInputElement::PostHandleEvent(EventChainPostVisitor& aVisitor) {
             } else if (mType == FormControlType::InputPassword) {
               if (nsTextControlFrame* textControlFrame =
                       do_QueryFrame(GetPrimaryFrame())) {
-                auto* reveal = textControlFrame->GetRevealButton();
+                auto* reveal = textControlFrame->GetButton();
                 if (reveal && aVisitor.mEvent->mOriginalTarget == reveal) {
                   SetRevealPassword(!RevealPassword());
                   // TODO(emilio): This should focus the input, but calling
@@ -6974,20 +6974,20 @@ Maybe<int32_t> HTMLInputElement::GetNumberInputCols() const {
               (size.mAfterDecimal ? 1 : 0));
 }
 
-int32_t HTMLInputElement::GetCols() {
+Maybe<int32_t> HTMLInputElement::GetCols() {
   if (const nsAttrValue* attr = GetParsedAttr(nsGkAtoms::size);
       attr && attr->Type() == nsAttrValue::eInteger) {
     int32_t cols = attr->GetIntegerValue();
     if (cols > 0) {
-      return cols;
+      return Some(cols);
     }
   }
 
   if (Maybe<int32_t> cols = GetNumberInputCols(); cols && *cols > 0) {
-    return *cols;
+    return cols;
   }
 
-  return DEFAULT_COLS;
+  return {};
 }
 
 int32_t HTMLInputElement::GetWrapCols() {
diff --git a/dom/html/HTMLInputElement.h b/dom/html/HTMLInputElement.h
index 81e26d9448e09d625b32bae0976905c85ee6b863..be5c88760983931fa12c40b6918cb967a758876d 100644
--- a/dom/html/HTMLInputElement.h
+++ b/dom/html/HTMLInputElement.h
@@ -230,7 +230,7 @@ class HTMLInputElement final : public TextControlElement,
   bool IsSingleLineTextControl() const override;
   bool IsTextArea() const override;
   bool IsPasswordTextControl() const override;
-  int32_t GetCols() override;
+  Maybe<int32_t> GetCols() override;
   int32_t GetWrapCols() override;
   int32_t GetRows() override;
   void GetDefaultValueFromContent(nsAString& aValue, bool aForDisplay) override;
diff --git a/dom/html/HTMLTextAreaElement.cpp b/dom/html/HTMLTextAreaElement.cpp
index 7624d53b8535e6e7aeca798160a9c38c05460792..b353a2e64c2801f0420a99655901f1621bd03c59 100644
--- a/dom/html/HTMLTextAreaElement.cpp
+++ b/dom/html/HTMLTextAreaElement.cpp
@@ -1053,7 +1053,13 @@ bool HTMLTextAreaElement::IsTextArea() const { return true; }
 
 bool HTMLTextAreaElement::IsPasswordTextControl() const { return false; }
 
-int32_t HTMLTextAreaElement::GetCols() { return Cols(); }
+Maybe<int32_t> HTMLTextAreaElement::GetCols() {
+  const nsAttrValue* value = GetParsedAttr(nsGkAtoms::cols);
+  if (!value || value->Type() != nsAttrValue::eInteger) {
+    return {};
+  }
+  return Some(value->GetIntegerValue());
+}
 
 int32_t HTMLTextAreaElement::GetWrapCols() {
   nsHTMLTextWrap wrapProp;
@@ -1064,7 +1070,7 @@ int32_t HTMLTextAreaElement::GetWrapCols() {
   }
 
   // Otherwise we just wrap at the given number of columns
-  return GetCols();
+  return GetColsOrDefault();
 }
 
 int32_t HTMLTextAreaElement::GetRows() {
diff --git a/dom/html/HTMLTextAreaElement.h b/dom/html/HTMLTextAreaElement.h
index f75c9a20253106552cf59741d94f36c006764113..17cd13d6f21cfe44291cf0543fbcd2799a113d50 100644
--- a/dom/html/HTMLTextAreaElement.h
+++ b/dom/html/HTMLTextAreaElement.h
@@ -79,7 +79,7 @@ class HTMLTextAreaElement final : public TextControlElement,
   bool IsSingleLineTextControl() const override;
   bool IsTextArea() const override;
   bool IsPasswordTextControl() const override;
-  int32_t GetCols() override;
+  Maybe<int32_t> GetCols() override;
   int32_t GetWrapCols() override;
   int32_t GetRows() override;
   void GetDefaultValueFromContent(nsAString& aValue, bool aForDisplay) override;
@@ -171,7 +171,7 @@ class HTMLTextAreaElement final : public TextControlElement,
   void SetAutocomplete(const nsAString& aValue, ErrorResult& aRv) {
     SetHTMLAttr(nsGkAtoms::autocomplete, aValue, aRv);
   }
-  uint32_t Cols() { return GetUnsignedIntAttr(nsGkAtoms::cols, DEFAULT_COLS); }
+  uint32_t Cols() { return GetColsOrDefault(); }
   void SetCols(uint32_t aCols, ErrorResult& aError) {
     uint32_t cols = aCols ? aCols : DEFAULT_COLS;
     SetUnsignedIntAttr(nsGkAtoms::cols, cols, DEFAULT_COLS, aError);
diff --git a/dom/html/TextControlElement.h b/dom/html/TextControlElement.h
index 8c15759388ce47d660e303c50ef35d73de2ade2c..daea0ade7582f7e7117fba72a4ef631a20788442 100644
--- a/dom/html/TextControlElement.h
+++ b/dom/html/TextControlElement.h
@@ -76,7 +76,8 @@ class TextControlElement : public nsGenericHTMLFormControlElementWithState {
    * Get the cols attribute (if textarea) or a default
    * @return the number of columns to use
    */
-  virtual int32_t GetCols() = 0;
+  virtual Maybe<int32_t> GetCols() = 0;
+  int32_t GetColsOrDefault() { return GetCols().valueOr(DEFAULT_COLS); }
 
   /**
    * Get the column index to wrap at, or -1 if we shouldn't wrap
@@ -216,10 +217,10 @@ class TextControlElement : public nsGenericHTMLFormControlElementWithState {
   MOZ_CAN_RUN_SCRIPT virtual nsresult SetValueFromSetRangeText(
       const nsAString& aValue) = 0;
 
-  static const int32_t DEFAULT_COLS = 20;
-  static const int32_t DEFAULT_ROWS = 1;
-  static const int32_t DEFAULT_ROWS_TEXTAREA = 2;
-  static const int32_t DEFAULT_UNDO_CAP = 1000;
+  inline static constexpr int32_t DEFAULT_COLS = 20;
+  inline static constexpr int32_t DEFAULT_ROWS = 1;
+  inline static constexpr int32_t DEFAULT_ROWS_TEXTAREA = 2;
+  inline static constexpr int32_t DEFAULT_UNDO_CAP = 1000;
 
   // wrap can be one of these three values.
   typedef enum {
diff --git a/dom/html/TextControlState.h b/dom/html/TextControlState.h
index 3dba24d2556115fee27b80758e6fec8a6b56456e..3cbe85c77df39b9d6472b8f7d9b83dd906bbebfc 100644
--- a/dom/html/TextControlState.h
+++ b/dom/html/TextControlState.h
@@ -324,7 +324,7 @@ class TextControlState final : public SupportsWeakPtr {
   bool IsPasswordTextControl() const {
     return mTextCtrlElement->IsPasswordTextControl();
   }
-  int32_t GetCols() { return mTextCtrlElement->GetCols(); }
+  int32_t GetColsOrDefault() { return mTextCtrlElement->GetColsOrDefault(); }
   int32_t GetWrapCols() {
     int32_t wrapCols = mTextCtrlElement->GetWrapCols();
     MOZ_ASSERT(wrapCols >= 0);
diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
index 617c47efbeb4c90f048071cc672de1ff403a578b..838d01f5c01a9f2247d2deb142e3f6627d649b2b 100644
--- a/dom/indexedDB/ActorsParent.cpp
+++ b/dom/indexedDB/ActorsParent.cpp
@@ -134,6 +134,7 @@
 #include "mozilla/dom/quota/QuotaManager.h"
 #include "mozilla/dom/quota/QuotaObject.h"
 #include "mozilla/dom/quota/ResultExtensions.h"
+#include "mozilla/dom/quota/ThreadUtils.h"
 #include "mozilla/dom/quota/UsageInfo.h"
 #include "mozilla/fallible.h"
 #include "mozilla/ipc/BackgroundParent.h"
@@ -3025,6 +3026,9 @@ class FactoryOp
     return mDatabaseFilePath.ref();
   }
 
+  nsresult DispatchThisAfterProcessingCurrentEvent(
+      nsCOMPtr<nsIEventTarget> aEventTarget);
+
   void NoteDatabaseBlocked(Database* aDatabase);
 
   void NoteDatabaseClosed(Database* aDatabase);
@@ -14401,6 +14405,17 @@ FactoryOp::FactoryOp(SafeRefPtr<Factory> aFactory,
   MOZ_ASSERT(!QuotaClient::IsShuttingDownOnBackgroundThread());
 }
 
+nsresult FactoryOp::DispatchThisAfterProcessingCurrentEvent(
+    nsCOMPtr<nsIEventTarget> aEventTarget) {
+  QM_TRY(MOZ_TO_RESULT(RunAfterProcessingCurrentEvent(
+      [eventTarget = std::move(aEventTarget), self = RefPtr(this)]() mutable {
+        QM_WARNONLY_TRY(MOZ_TO_RESULT(
+            eventTarget->Dispatch(self.forget(), NS_DISPATCH_NORMAL)));
+      })));
+
+  return NS_OK;
+}
+
 void FactoryOp::NoteDatabaseBlocked(Database* aDatabase) {
   AssertIsOnOwningThread();
   MOZ_ASSERT(aDatabase);
@@ -14881,7 +14896,7 @@ FactoryOp::Run() {
         SendResults();
       } else {
         MOZ_ALWAYS_SUCCEEDS(
-            mOwningEventTarget->Dispatch(this, NS_DISPATCH_NORMAL));
+            DispatchThisAfterProcessingCurrentEvent(mOwningEventTarget));
       }
     }
   };
@@ -15172,7 +15187,8 @@ nsresult OpenDatabaseOp::DoDatabaseWork() {
                ? State::SendingResults
                : State::BeginVersionChange;
 
-  QM_TRY(MOZ_TO_RESULT(mOwningEventTarget->Dispatch(this, NS_DISPATCH_NORMAL)));
+  QM_TRY(MOZ_TO_RESULT(
+      DispatchThisAfterProcessingCurrentEvent(mOwningEventTarget)));
 
   return NS_OK;
 }
@@ -16254,7 +16270,8 @@ nsresult DeleteDatabaseOp::DoDatabaseWork() {
     mState = State::SendingResults;
   }
 
-  QM_TRY(MOZ_TO_RESULT(mOwningEventTarget->Dispatch(this, NS_DISPATCH_NORMAL)));
+  QM_TRY(MOZ_TO_RESULT(
+      DispatchThisAfterProcessingCurrentEvent(mOwningEventTarget)));
 
   return NS_OK;
 }
@@ -16497,7 +16514,8 @@ nsresult GetDatabasesOp::DatabasesNotAvailable() {
 
   mState = State::SendingResults;
 
-  QM_TRY(MOZ_TO_RESULT(mOwningEventTarget->Dispatch(this, NS_DISPATCH_NORMAL)));
+  QM_TRY(MOZ_TO_RESULT(
+      DispatchThisAfterProcessingCurrentEvent(mOwningEventTarget)));
 
   return NS_OK;
 }
@@ -16686,7 +16704,8 @@ nsresult GetDatabasesOp::DoDatabaseWork() {
 
   mState = State::SendingResults;
 
-  QM_TRY(MOZ_TO_RESULT(mOwningEventTarget->Dispatch(this, NS_DISPATCH_NORMAL)));
+  QM_TRY(MOZ_TO_RESULT(
+      DispatchThisAfterProcessingCurrentEvent(mOwningEventTarget)));
 
   return NS_OK;
 }
diff --git a/dom/ipc/ContentParent.cpp b/dom/ipc/ContentParent.cpp
index 59bee0676a6fa94abca494b2019b2457e83c4df4..7c335a228415fa0d6ddfdc1ea7c703686886ff30 100644
--- a/dom/ipc/ContentParent.cpp
+++ b/dom/ipc/ContentParent.cpp
@@ -8238,13 +8238,13 @@ IPCResult ContentParent::RecvFOGData(ByteBuf&& buf) {
 
 mozilla::ipc::IPCResult ContentParent::RecvSetContainerFeaturePolicy(
     const MaybeDiscardedBrowsingContext& aContainerContext,
-    FeaturePolicy* aContainerFeaturePolicy) {
+    MaybeFeaturePolicyInfo&& aContainerFeaturePolicyInfo) {
   if (aContainerContext.IsNullOrDiscarded()) {
     return IPC_OK();
   }
 
   auto* context = aContainerContext.get_canonical();
-  context->SetContainerFeaturePolicy(aContainerFeaturePolicy);
+  context->SetContainerFeaturePolicy(std::move(aContainerFeaturePolicyInfo));
 
   return IPC_OK();
 }
diff --git a/dom/ipc/ContentParent.h b/dom/ipc/ContentParent.h
index 25804538584b60a75470dcb396eaf32128c4e433..1c644dbe9afc92addd8fe758c379477cc7d6e6fc 100644
--- a/dom/ipc/ContentParent.h
+++ b/dom/ipc/ContentParent.h
@@ -1389,7 +1389,7 @@ class ContentParent final : public PContentParent,
 
   mozilla::ipc::IPCResult RecvSetContainerFeaturePolicy(
       const MaybeDiscardedBrowsingContext& aContainerContext,
-      FeaturePolicy* aContainerFeaturePolicy);
+      MaybeFeaturePolicyInfo&& aContainerFeaturePolicyInfo);
 
   mozilla::ipc::IPCResult RecvGetSystemIcon(nsIURI* aURI,
                                             GetSystemIconResolver&& aResolver);
diff --git a/dom/ipc/DOMTypes.ipdlh b/dom/ipc/DOMTypes.ipdlh
index c2404a5ee26c5d7dc9e32889f4a5c30a90c89755..1749721c720020ceb812c4c5ebb51173e43ace4a 100644
--- a/dom/ipc/DOMTypes.ipdlh
+++ b/dom/ipc/DOMTypes.ipdlh
@@ -132,16 +132,6 @@ struct FrameScriptInfo
   bool runInGlobalScope;
 };
 
-struct FeaturePolicyInfo
-{
-  nsString[]   inheritedDeniedFeatureNames;
-  nsString[]   attributeEnabledFeatureNames;
-  nsString     declaredString;
-  nullable nsIPrincipal defaultOrigin;
-  nullable nsIPrincipal selfOrigin;
-  nullable nsIPrincipal srcOrigin;
-};
-
 /**
  * The information required to complete a window creation request.
  */
diff --git a/dom/ipc/PContent.ipdl b/dom/ipc/PContent.ipdl
index 238663ad746c7f8a0078fa90245ebc91651e7269..1c961af7dc13de4664ea2b43a0b9c937096258b1 100644
--- a/dom/ipc/PContent.ipdl
+++ b/dom/ipc/PContent.ipdl
@@ -154,7 +154,7 @@ using struct mozilla::dom::LoadingSessionHistoryInfo from "mozilla/dom/SessionHi
 using mozilla::media::MediaCodecsSupported from "MediaCodecsSupport.h";
 using mozilla::RemoteDecodeIn from "mozilla/RemoteDecoderManagerChild.h";
 using mozilla::dom::PerformanceTimingData from "mozilla/dom/PerformanceTiming.h";
-[RefCounted] using mozilla::dom::FeaturePolicy from "mozilla/dom/FeaturePolicy.h";
+using mozilla::dom::MaybeFeaturePolicyInfo from "mozilla/dom/FeaturePolicy.h";
 using mozilla::dom::Wireframe from "mozilla/dom/DocumentBinding.h";
 using mozilla::PerfStats::MetricMask from "mozilla/PerfStats.h";
 [RefCounted] using class nsIX509Cert from "nsIX509Cert.h";
@@ -1958,7 +1958,7 @@ child:
 
 parent:
     async SetContainerFeaturePolicy(MaybeDiscardedBrowsingContext aContainerContext,
-                                    nullable FeaturePolicy aContainerFeaturePolicy);
+                                    MaybeFeaturePolicyInfo aContainerFeaturePolicyInfo);
 
     // Obtain an icon from the system widget toolkit, in nsIconDecoder
     // format.  Not supported (or needed) on all platforms; see the
diff --git a/dom/ipc/PWindowGlobal.ipdl b/dom/ipc/PWindowGlobal.ipdl
index 37e6206e385ca56fb6b50b510fee518d14c0285b..88f8b41070174ce5063c8c613c8f0490dec4b3da 100644
--- a/dom/ipc/PWindowGlobal.ipdl
+++ b/dom/ipc/PWindowGlobal.ipdl
@@ -5,7 +5,6 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 include "mozilla/dom/DocShellMessageUtils.h";
-include "mozilla/dom/FeaturePolicyUtils.h";
 include "mozilla/dom/IdentityCredentialSerializationHelpers.h";
 include "mozilla/dom/PermissionMessageUtils.h";
 include "mozilla/dom/SessionStoreMessageUtils.h";
@@ -34,7 +33,6 @@ using mozilla::layers::LayersId from "mozilla/layers/LayersTypes.h";
 [RefCounted] using class nsITransportSecurityInfo from "nsITransportSecurityInfo.h";
 using mozilla::UseCounters from "mozilla/UseCounter.h";
 using mozilla::dom::MaybeDiscardedWindowContext from "mozilla/dom/WindowContext.h";
-[RefCounted] using mozilla::dom::FeaturePolicy from "mozilla/dom/FeaturePolicy.h";
 [RefCounted] using mozilla::dom::SessionStoreRestoreData from "mozilla/dom/SessionStoreRestoreData.h";
 using mozilla::dom::IdentityCredentialInit from "mozilla/dom/IdentityCredentialBinding.h";
 using mozilla::dom::IdentityCredentialRequestOptions from "mozilla/dom/IdentityCredentialBinding.h";
@@ -89,8 +87,6 @@ child:
    */
   async ResetScalingZoom();
 
-  async SetContainerFeaturePolicy(nullable FeaturePolicy aContainerFeaturePolicy);
-
   async RestoreDocShellState(DocShellRestoreState aState)
     returns (bool success);
 
diff --git a/dom/ipc/WindowGlobalChild.cpp b/dom/ipc/WindowGlobalChild.cpp
index 7fb95709ee89eeb025332764fd47c4e9af19558e..f567085cdfb8199b0c6fe70ee5d91a02465c9fa0 100644
--- a/dom/ipc/WindowGlobalChild.cpp
+++ b/dom/ipc/WindowGlobalChild.cpp
@@ -513,12 +513,6 @@ mozilla::ipc::IPCResult WindowGlobalChild::RecvResetScalingZoom() {
   return IPC_OK();
 }
 
-mozilla::ipc::IPCResult WindowGlobalChild::RecvSetContainerFeaturePolicy(
-    dom::FeaturePolicy* aContainerFeaturePolicy) {
-  mContainerFeaturePolicy = aContainerFeaturePolicy;
-  return IPC_OK();
-}
-
 mozilla::ipc::IPCResult WindowGlobalChild::RecvRestoreDocShellState(
     const dom::sessionstore::DocShellRestoreState& aState,
     RestoreDocShellStateResolver&& aResolve) {
diff --git a/dom/ipc/WindowGlobalChild.h b/dom/ipc/WindowGlobalChild.h
index 107b3f471d2df5bed0ccd38690bb84b306a33d28..7adfa00a3437a118d3b5d5b5499243dd919a35fc 100644
--- a/dom/ipc/WindowGlobalChild.h
+++ b/dom/ipc/WindowGlobalChild.h
@@ -21,7 +21,6 @@ class nsDocShell;
 namespace mozilla::dom {
 
 class BrowsingContext;
-class FeaturePolicy;
 class WindowContext;
 class WindowGlobalParent;
 class JSWindowActorChild;
@@ -144,10 +143,6 @@ class WindowGlobalChild final : public WindowGlobalActor,
   JSObject* WrapObject(JSContext* aCx,
                        JS::Handle<JSObject*> aGivenProto) override;
 
-  dom::FeaturePolicy* GetContainerFeaturePolicy() const {
-    return mContainerFeaturePolicy;
-  }
-
   void UnblockBFCacheFor(BFCacheStatus aStatus);
   void BlockBFCacheFor(BFCacheStatus aStatus);
 
@@ -189,9 +184,6 @@ class WindowGlobalChild final : public WindowGlobalActor,
 
   mozilla::ipc::IPCResult RecvResetScalingZoom();
 
-  mozilla::ipc::IPCResult RecvSetContainerFeaturePolicy(
-      dom::FeaturePolicy* aContainerFeaturePolicy);
-
   mozilla::ipc::IPCResult RecvRestoreDocShellState(
       const dom::sessionstore::DocShellRestoreState& aState,
       RestoreDocShellStateResolver&& aResolve);
diff --git a/dom/ipc/WindowGlobalParent.cpp b/dom/ipc/WindowGlobalParent.cpp
index ffbb0b270df1a090ec9c7437c807405995fbebe8..5af387a8a8435c8a991bdd3110973c6376219439 100644
--- a/dom/ipc/WindowGlobalParent.cpp
+++ b/dom/ipc/WindowGlobalParent.cpp
@@ -179,9 +179,6 @@ void WindowGlobalParent::Init() {
   if (!BrowsingContext()->IsDiscarded()) {
     MOZ_ALWAYS_SUCCEEDS(
         BrowsingContext()->SetCurrentInnerWindowId(InnerWindowId()));
-
-    Unused << SendSetContainerFeaturePolicy(
-        BrowsingContext()->GetContainerFeaturePolicy());
   }
 
   if (BrowsingContext()->IsTopContent()) {
diff --git a/dom/media/webrtc/tests/mochitests/test_peerConnection_basicScreenshare.html b/dom/media/webrtc/tests/mochitests/test_peerConnection_basicScreenshare.html
index da507d6e0b86847d9945171e8528928e6e202c5c..c307102a787a4b37be4f0166eeb43bc6d5ce9ab7 100644
--- a/dom/media/webrtc/tests/mochitests/test_peerConnection_basicScreenshare.html
+++ b/dom/media/webrtc/tests/mochitests/test_peerConnection_basicScreenshare.html
@@ -38,6 +38,7 @@
 
   runNetworkTest(async () => {
     await SpecialPowers.pushPrefEnv({ set: [["media.navigator.video.red_ulpfec_enabled", true]] });
+    await SpecialPowers.pushPrefEnv({ set: [["media.navigator.video.disable_h264_baseline", false]] });
     await matchPlatformH264CodecPrefs();
     const pts = await supportedVideoPayloadTypes();
     ok(pts.includes("120"), "VP8 is supported");
diff --git a/dom/media/webrtc/tests/mochitests/test_peerConnection_getParameters.html b/dom/media/webrtc/tests/mochitests/test_peerConnection_getParameters.html
index 37ac5b3c7c0eb2cc406f5f1cdff68ffdc8fafba6..e22c5ec5467b346a2129aced22b32fda6786f84c 100644
--- a/dom/media/webrtc/tests/mochitests/test_peerConnection_getParameters.html
+++ b/dom/media/webrtc/tests/mochitests/test_peerConnection_getParameters.html
@@ -350,6 +350,7 @@ a=setup:passive
   }
 
   runNetworkTest(async () => {
+    await SpecialPowers.pushPrefEnv({ set: [["media.navigator.video.disable_h264_baseline", false]] });
     for (const test of tests) {
       info(`Running test: ${test.name}`);
       await test();
diff --git a/dom/media/webrtc/tests/mochitests/test_peerConnection_videoCodecs.html b/dom/media/webrtc/tests/mochitests/test_peerConnection_videoCodecs.html
index 2b52bae8a49f41292a1f2f270923058943fd1f61..c50b0aabefefdbe49f06ef76c0aefa6355a4e31e 100644
--- a/dom/media/webrtc/tests/mochitests/test_peerConnection_videoCodecs.html
+++ b/dom/media/webrtc/tests/mochitests/test_peerConnection_videoCodecs.html
@@ -116,7 +116,8 @@
     // video device as loopback does not currently change.
     await pushPrefs(
       ['media.video_loopback_dev', ''],
-      ['media.navigator.streams.fake', true]);
+      ['media.navigator.streams.fake', true],
+      ["media.navigator.video.disable_h264_baseline", false]);
     for (let codec of codecs) {
       info(`Testing video for codec ${codec.name} offset ${codec.offset}`);
       try {
diff --git a/dom/privateattribution/PrivateAttributionService.sys.mjs b/dom/privateattribution/PrivateAttributionService.sys.mjs
index b6551d887f24982163719ad626135a0380ef8d71..ba3af499aed0710dd6a21e58e9075d07d29e24a5 100644
--- a/dom/privateattribution/PrivateAttributionService.sys.mjs
+++ b/dom/privateattribution/PrivateAttributionService.sys.mjs
@@ -163,7 +163,7 @@ export class PrivateAttributionService {
     await impressionStore.put(impressions, key);
   }
 
-  async compareImpression(cur, impression) {
+  compareImpression(cur, impression) {
     return cur.source === impression.source && cur.target === impression.target;
   }
 
diff --git a/dom/quota/ThreadUtils.cpp b/dom/quota/ThreadUtils.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..25e05151195c42bf718fc95858a3184880f119e2
--- /dev/null
+++ b/dom/quota/ThreadUtils.cpp
@@ -0,0 +1,84 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "mozilla/dom/quota/ThreadUtils.h"
+
+#include "mozilla/dom/quota/QuotaCommon.h"
+#include "mozilla/dom/quota/ResultExtensions.h"
+#include "nsIThreadInternal.h"
+#include "nsThreadPool.h"
+#include "nsThreadUtils.h"
+
+namespace mozilla::dom::quota {
+
+namespace {
+
+class RunAfterProcessingCurrentEventHelper final : public nsIThreadObserver {
+ public:
+  nsresult Init(std::function<void()>&& aCallback);
+
+  NS_DECL_ISUPPORTS
+  NS_DECL_NSITHREADOBSERVER
+
+ private:
+  ~RunAfterProcessingCurrentEventHelper() = default;
+
+  std::function<void()> mCallback;
+};
+
+}  // namespace
+
+nsresult RunAfterProcessingCurrentEventHelper::Init(
+    std::function<void()>&& aCallback) {
+  nsCOMPtr<nsIThreadInternal> thread = do_QueryInterface(NS_GetCurrentThread());
+  MOZ_ASSERT(thread);
+
+  QM_TRY(MOZ_TO_RESULT(thread->AddObserver(this)));
+
+  mCallback = std::move(aCallback);
+
+  return NS_OK;
+}
+
+NS_IMPL_ISUPPORTS(RunAfterProcessingCurrentEventHelper, nsIThreadObserver)
+
+NS_IMETHODIMP
+RunAfterProcessingCurrentEventHelper::OnDispatchedEvent() {
+  MOZ_CRASH("Should never be called!");
+}
+
+NS_IMETHODIMP
+RunAfterProcessingCurrentEventHelper::OnProcessNextEvent(
+    nsIThreadInternal* /* aThread */, bool /* aMayWait */) {
+  MOZ_CRASH("Should never be called!");
+}
+
+NS_IMETHODIMP
+RunAfterProcessingCurrentEventHelper::AfterProcessNextEvent(
+    nsIThreadInternal* aThread, bool /* aEventWasProcessed */) {
+  MOZ_ASSERT(aThread);
+
+  QM_WARNONLY_TRY(MOZ_TO_RESULT(aThread->RemoveObserver(this)));
+
+  auto callback = std::move(mCallback);
+  callback();
+
+  return NS_OK;
+}
+
+nsresult RunAfterProcessingCurrentEvent(std::function<void()>&& aCallback) {
+  MOZ_DIAGNOSTIC_ASSERT(
+      !nsThreadPool::GetCurrentThreadPool(),
+      "Call to RunAfterProcessingCurrentEvent() from thread pool!");
+
+  auto helper = MakeRefPtr<RunAfterProcessingCurrentEventHelper>();
+
+  QM_TRY(MOZ_TO_RESULT(helper->Init(std::move(aCallback))));
+
+  return NS_OK;
+}
+
+}  // namespace mozilla::dom::quota
diff --git a/dom/quota/ThreadUtils.h b/dom/quota/ThreadUtils.h
new file mode 100644
index 0000000000000000000000000000000000000000..b35a84691f296a94d8a5655af5d7a7fc7381ad7f
--- /dev/null
+++ b/dom/quota/ThreadUtils.h
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef DOM_QUOTA_THREADUTILS_H_
+#define DOM_QUOTA_THREADUTILS_H_
+
+#include <cstdint>
+#include <functional>
+
+enum class nsresult : uint32_t;
+
+namespace mozilla::dom::quota {
+
+/**
+ * Add a temporary thread observer and listen for the "AfterProcessNextEvent"
+ * notification. Once the notification is received, remove the temporary thread
+ * observer and call aCallback.
+ * In practice, this calls aCallback immediately after the current thread is
+ * done with running and releasing recently popped event from thread's event
+ * queue.
+ * If called multiple times, all the callbacks will be executed, in the
+ * order in which RunAfterProcessingCurrentEvent() was called.
+ * Use this method if you need to dispatch the same or some other runnable to
+ * another thread in a way which prevents any race conditions (for example
+ * unpredictable releases of objects).
+ * This method should be used only in existing code which can't be easily
+ * converted to use MozPromise which doesn't have the problem with
+ * unpredictable releases of objects, see:
+ * https://searchfox.org/mozilla-central/rev/4582d908c17fbf7924f5699609fe4a12c28ddc4a/xpcom/threads/MozPromise.h#866
+ *
+ * Note: Calling this method from a thread pool is not supported since thread
+ * pools don't fire the "AfterProcessNextEvent" notification. The method has
+ * a diagnostic assertion for that so any calls like that will be caught
+ * in builds with enabled diagnostic assertions. The callback will never
+ * get executed in other builds, such as release builds. The limitation can
+ * be removed completely when thread pool implementation gets support for firing
+ * the "AfterProcessNextEvent".
+ */
+nsresult RunAfterProcessingCurrentEvent(std::function<void()>&& aCallback);
+
+}  // namespace mozilla::dom::quota
+
+#endif  // DOM_QUOTA_THREADUTILS_H_
diff --git a/dom/quota/moz.build b/dom/quota/moz.build
index 7cb586cd214edc0191f17c5552f307898298e24c..2d527b4baeeaae8c613a0ccb0c7e078670957718 100644
--- a/dom/quota/moz.build
+++ b/dom/quota/moz.build
@@ -75,6 +75,7 @@ EXPORTS.mozilla.dom.quota += [
     "StorageHelpers.h",
     "StreamUtils.h",
     "StringifyUtils.h",
+    "ThreadUtils.h",
     "UsageInfo.h",
 ]
 
@@ -125,6 +126,7 @@ UNIFIED_SOURCES += [
     "StorageOriginAttributes.cpp",
     "StreamUtils.cpp",
     "StringifyUtils.cpp",
+    "ThreadUtils.cpp",
 ]
 
 IPDL_SOURCES += [
diff --git a/dom/quota/test/gtest/TestThreadUtils.cpp b/dom/quota/test/gtest/TestThreadUtils.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..161326e0c06aa1f3084ed3dda2c632ec246bce45
--- /dev/null
+++ b/dom/quota/test/gtest/TestThreadUtils.cpp
@@ -0,0 +1,191 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "mozilla/dom/quota/QuotaManager.h"
+#include "mozilla/dom/quota/ThreadUtils.h"
+#include "mozilla/gtest/MozAssertions.h"
+#include "QuotaManagerDependencyFixture.h"
+
+namespace mozilla::dom::quota::test {
+
+namespace {
+
+MozExternalRefCountType GetRefCount(nsISupports* aSupports) {
+  if (!aSupports) {
+    return 0;
+  }
+  aSupports->AddRef();
+  return aSupports->Release();
+}
+
+class OneTimeRunnable final : public Runnable {
+ public:
+  enum class State { None, Initial, Created, Destroyed };
+
+  static void Init() {
+    ASSERT_TRUE(sState == State::None || sState == State::Destroyed);
+    ASSERT_FALSE(sCurrent);
+
+    sState = State::Initial;
+  }
+
+  static RefPtr<OneTimeRunnable> Create(std::function<void()>&& aTask) {
+    EXPECT_EQ(sState, State::Initial);
+
+    RefPtr<OneTimeRunnable> runnable = new OneTimeRunnable(std::move(aTask));
+    return runnable;
+  }
+
+  static State GetState() { return sState; }
+
+  static OneTimeRunnable* GetCurrent() { return sCurrent; }
+
+  static MozExternalRefCountType GetCurrentRefCount() {
+    return GetRefCount(static_cast<nsIRunnable*>(sCurrent));
+  }
+
+  NS_IMETHOD
+  Run() override {
+    auto task = std::move(mTask);
+    task();
+
+    return NS_OK;
+  }
+
+ private:
+  explicit OneTimeRunnable(std::function<void()>&& aTask)
+      : Runnable("dom::quota::test::OneTimeRunnable"), mTask(std::move(aTask)) {
+    sCurrent = this;
+    sState = State::Created;
+  }
+
+  ~OneTimeRunnable() override {
+    sState = State::Destroyed;
+    sCurrent = nullptr;
+  }
+
+  static Atomic<State> sState;
+  static OneTimeRunnable* sCurrent;
+
+  std::function<void()> mTask;
+};
+
+}  // namespace
+
+Atomic<OneTimeRunnable::State> OneTimeRunnable::sState(
+    OneTimeRunnable::State::None);
+OneTimeRunnable* OneTimeRunnable::sCurrent(nullptr);
+
+class TestThreadUtils : public QuotaManagerDependencyFixture {
+ public:
+  static void SetUpTestCase() { ASSERT_NO_FATAL_FAILURE(InitializeFixture()); }
+
+  static void TearDownTestCase() { ASSERT_NO_FATAL_FAILURE(ShutdownFixture()); }
+};
+
+TEST_F(TestThreadUtils, RunAfterProcessingCurrentEvent_Release) {
+  bool runnableCalled = false;
+  bool callbackCalled = false;
+
+  QuotaManager* quotaManager = QuotaManager::Get();
+  ASSERT_TRUE(quotaManager);
+
+  OneTimeRunnable::Init();
+
+  auto runnable = OneTimeRunnable::Create([&runnableCalled, &callbackCalled]() {
+    runnableCalled = true;
+
+    EXPECT_EQ(OneTimeRunnable::GetState(), OneTimeRunnable::State::Created);
+    EXPECT_EQ(OneTimeRunnable::GetCurrentRefCount(), 2u);
+
+    RunAfterProcessingCurrentEvent([&callbackCalled]() {
+      callbackCalled = true;
+
+      // The runnable shouldn't be yet destroyed because we still have a strong
+      // reference to it in `runnable`.
+      EXPECT_EQ(OneTimeRunnable::GetState(), OneTimeRunnable::State::Created);
+
+      // The runnable should be released once (by the event queue processing
+      // code).
+      EXPECT_EQ(OneTimeRunnable::GetCurrentRefCount(), 1u);
+    });
+
+    EXPECT_EQ(OneTimeRunnable::GetState(), OneTimeRunnable::State::Created);
+    EXPECT_EQ(OneTimeRunnable::GetCurrentRefCount(), 2u);
+  });
+
+  ASSERT_FALSE(runnableCalled);
+  ASSERT_FALSE(callbackCalled);
+
+  // Note that we are keeping ownership of the runnable here.
+  ASSERT_EQ(NS_OK,
+            quotaManager->IOThread()->Dispatch(runnable, NS_DISPATCH_NORMAL));
+
+  // Do a round-trip to the QM IO thread to ensure the test doesn't finish
+  // before the OneTimeRunnable is fully processed.
+  //
+  // Note: In theory, we would use SyncRunnable wrapper here, but the code
+  // reads better when both tests use the same way for blocking the current
+  // thread.
+  ASSERT_NO_FATAL_FAILURE(PerformOnIOThread([]() {}));
+
+  // Check that the runnable and the callback were actually called.
+  ASSERT_TRUE(runnableCalled);
+  ASSERT_TRUE(callbackCalled);
+}
+
+TEST_F(TestThreadUtils, RunAfterProcessingCurrentEvent_ReleaseAndDestory) {
+  bool runnableCalled = false;
+  bool callbackCalled = false;
+
+  QuotaManager* quotaManager = QuotaManager::Get();
+  ASSERT_TRUE(quotaManager);
+
+  OneTimeRunnable::Init();
+
+  auto runnable = OneTimeRunnable::Create([&runnableCalled, &callbackCalled]() {
+    runnableCalled = true;
+
+    EXPECT_EQ(OneTimeRunnable::GetState(), OneTimeRunnable::State::Created);
+    EXPECT_EQ(OneTimeRunnable::GetCurrentRefCount(), 1u);
+
+    RunAfterProcessingCurrentEvent([&callbackCalled]() {
+      callbackCalled = true;
+
+      // The runnable should be destroyed because we don't have any other strong
+      // references to it.
+      EXPECT_EQ(OneTimeRunnable::GetState(), OneTimeRunnable::State::Destroyed);
+
+      // The runnable should be released once (by the event queue processing
+      // code).
+      EXPECT_EQ(OneTimeRunnable::GetCurrentRefCount(), 0u);
+    });
+
+    EXPECT_EQ(OneTimeRunnable::GetState(), OneTimeRunnable::State::Created);
+    EXPECT_EQ(OneTimeRunnable::GetCurrentRefCount(), 1u);
+  });
+
+  ASSERT_FALSE(runnableCalled);
+  ASSERT_FALSE(callbackCalled);
+
+  // Note that we are tranferring ownership of the runnable here.
+  ASSERT_EQ(NS_OK, quotaManager->IOThread()->Dispatch(runnable.forget(),
+                                                      NS_DISPATCH_NORMAL));
+
+  // Do a round-trip to the QM IO thread to ensure the test doesn't finish
+  // before the OneTimeRunnable is fully processed.
+  //
+  // Note: SyncRunnable wrapper can't be used here because that would hold our
+  // runnable longer, and we couldn't test that our runnable is destroyed when
+  // the callback for RunAfterProcessingCurrentEvent is executed.
+  ASSERT_NO_FATAL_FAILURE(PerformOnIOThread([]() {}));
+
+  // Check that the runnable and the callback were actually called.
+  ASSERT_TRUE(runnableCalled);
+  ASSERT_TRUE(callbackCalled);
+}
+
+}  // namespace mozilla::dom::quota::test
diff --git a/dom/quota/test/gtest/moz.build b/dom/quota/test/gtest/moz.build
index d983e3457e1c79f37ce58ab5a34ef140f33f5c14..8bce5536d011e517b44ebaf0200a8a2ba2947706 100644
--- a/dom/quota/test/gtest/moz.build
+++ b/dom/quota/test/gtest/moz.build
@@ -34,6 +34,7 @@ UNIFIED_SOURCES = [
     "TestStorageOriginAttributes.cpp",
     "TestStringifyUtils.cpp",
     "TestTelemetry.cpp",
+    "TestThreadUtils.cpp",
     "TestUsageInfo.cpp",
 ]
 
diff --git a/dom/security/featurepolicy/FeaturePolicy.cpp b/dom/security/featurepolicy/FeaturePolicy.cpp
index cb5c1ea44a3c46bb03a35abde18d268a203247bf..d71ac1cc5fa6a8476d6192e66f306932a7979529 100644
--- a/dom/security/featurepolicy/FeaturePolicy.cpp
+++ b/dom/security/featurepolicy/FeaturePolicy.cpp
@@ -6,10 +6,12 @@
 
 #include "FeaturePolicy.h"
 #include "mozilla/BasePrincipal.h"
+#include "mozilla/dom/BrowsingContext.h"
 #include "mozilla/dom/Feature.h"
 #include "mozilla/dom/FeaturePolicyBinding.h"
 #include "mozilla/dom/FeaturePolicyParser.h"
 #include "mozilla/dom/FeaturePolicyUtils.h"
+#include "mozilla/dom/HTMLIFrameElement.h"
 #include "mozilla/StaticPrefs_dom.h"
 #include "nsContentUtils.h"
 #include "nsNetUtil.h"
@@ -69,6 +71,30 @@ void FeaturePolicy::InheritPolicy(FeaturePolicy* aParentPolicy) {
   });
 }
 
+void FeaturePolicy::InheritPolicy(
+    const FeaturePolicyInfo& aContainerFeaturePolicyInfo) {
+  // We create a temporary FeaturePolicy from the FeaturePolicyInfo to be able
+  // to re-use the inheriting functionality from FeaturePolicy.
+  RefPtr<dom::FeaturePolicy> featurePolicy = new dom::FeaturePolicy(nullptr);
+  featurePolicy->SetDefaultOrigin(aContainerFeaturePolicyInfo.mDefaultOrigin);
+  featurePolicy->SetInheritedDeniedFeatureNames(
+      aContainerFeaturePolicyInfo.mInheritedDeniedFeatureNames);
+
+  const auto& declaredString = aContainerFeaturePolicyInfo.mDeclaredString;
+  if (aContainerFeaturePolicyInfo.mSelfOrigin && !declaredString.IsEmpty()) {
+    featurePolicy->SetDeclaredPolicy(nullptr, declaredString,
+                                     aContainerFeaturePolicyInfo.mSelfOrigin,
+                                     aContainerFeaturePolicyInfo.mSrcOrigin);
+  }
+
+  for (const auto& featureName :
+       aContainerFeaturePolicyInfo.mAttributeEnabledFeatureNames) {
+    featurePolicy->MaybeSetAllowedPolicy(featureName);
+  }
+
+  InheritPolicy(featurePolicy);
+}
+
 void FeaturePolicy::SetInheritedDeniedFeature(const nsAString& aFeatureName) {
   MOZ_ASSERT(!HasInheritedDeniedFeature(aFeatureName));
   mInheritedDeniedFeatureNames.AppendElement(aFeatureName);
@@ -331,4 +357,13 @@ void FeaturePolicy::MaybeSetAllowedPolicy(const nsAString& aFeatureName) {
   mAttributeEnabledFeatureNames.AppendElement(aFeatureName);
 }
 
+FeaturePolicyInfo FeaturePolicy::ToFeaturePolicyInfo() const {
+  return {mInheritedDeniedFeatureNames.Clone(),
+          mAttributeEnabledFeatureNames.Clone(),
+          mDeclaredString,
+          mDefaultOrigin,
+          mSelfOrigin,
+          mSrcOrigin};
+}
+
 }  // namespace mozilla::dom
diff --git a/dom/security/featurepolicy/FeaturePolicy.h b/dom/security/featurepolicy/FeaturePolicy.h
index 65f525974902f0ffd169d91209f17316a8e76319..841b9e0f04449e4e50aff40ca3b20827a777959f 100644
--- a/dom/security/featurepolicy/FeaturePolicy.h
+++ b/dom/security/featurepolicy/FeaturePolicy.h
@@ -56,12 +56,24 @@ class nsINode;
 
 namespace mozilla::dom {
 class Document;
+class BrowsingContext;
 class Feature;
 template <typename T>
 class Optional;
 
 class FeaturePolicyUtils;
 
+struct FeaturePolicyInfo final {
+  CopyableTArray<nsString> mInheritedDeniedFeatureNames;
+  CopyableTArray<nsString> mAttributeEnabledFeatureNames;
+  nsString mDeclaredString;
+  nsCOMPtr<nsIPrincipal> mDefaultOrigin;
+  nsCOMPtr<nsIPrincipal> mSelfOrigin;
+  nsCOMPtr<nsIPrincipal> mSrcOrigin;
+};
+
+using MaybeFeaturePolicyInfo = Maybe<FeaturePolicyInfo>;
+
 class FeaturePolicy final : public nsISupports, public nsWrapperCache {
   friend class FeaturePolicyUtils;
 
@@ -85,6 +97,9 @@ class FeaturePolicy final : public nsISupports, public nsWrapperCache {
   // Inherits the policy from the 'parent' context if it exists.
   void InheritPolicy(FeaturePolicy* aParentFeaturePolicy);
 
+  // Inherits the policy from the 'parent' context if it exists.
+  void InheritPolicy(const FeaturePolicyInfo& aContainerFeaturePolicyInfo);
+
   // Sets the declarative part of the policy. This can be from the HTTP header
   // or for the 'allow' HTML attribute.
   void SetDeclaredPolicy(mozilla::dom::Document* aDocument,
@@ -154,6 +169,8 @@ class FeaturePolicy final : public nsISupports, public nsWrapperCache {
   nsIPrincipal* GetSelfOrigin() const { return mSelfOrigin; }
   nsIPrincipal* GetSrcOrigin() const { return mSrcOrigin; }
 
+  FeaturePolicyInfo ToFeaturePolicyInfo() const;
+
  private:
   ~FeaturePolicy() = default;
 
diff --git a/dom/security/featurepolicy/FeaturePolicyUtils.cpp b/dom/security/featurepolicy/FeaturePolicyUtils.cpp
index 4e0bb92e0aecac23158d6ad12aed099cacefe4cd..8423a62a6a8420b39f3fe4ce84ed42385a19e800 100644
--- a/dom/security/featurepolicy/FeaturePolicyUtils.cpp
+++ b/dom/security/featurepolicy/FeaturePolicyUtils.cpp
@@ -7,8 +7,9 @@
 #include "FeaturePolicyUtils.h"
 #include "nsIOService.h"
 
-#include "mozilla/dom/DOMTypes.h"
 #include "mozilla/ipc/IPDLParamTraits.h"
+#include "mozilla/dom/BrowsingContext.h"
+#include "mozilla/dom/PermissionMessageUtils.h"
 #include "mozilla/dom/FeaturePolicyViolationReportBody.h"
 #include "mozilla/dom/ReportingUtils.h"
 #include "mozilla/StaticPrefs_dom.h"
@@ -248,66 +249,46 @@ void FeaturePolicyUtils::ReportViolation(Document* aDocument,
 }  // namespace dom
 
 namespace ipc {
-void IPDLParamTraits<dom::FeaturePolicy*>::Write(IPC::MessageWriter* aWriter,
-                                                 IProtocol* aActor,
-                                                 dom::FeaturePolicy* aParam) {
-  if (!aParam) {
-    WriteIPDLParam(aWriter, aActor, false);
-    return;
-  }
-
-  WriteIPDLParam(aWriter, aActor, true);
 
-  dom::FeaturePolicyInfo info;
-  info.defaultOrigin() = aParam->DefaultOrigin();
-  info.selfOrigin() = aParam->GetSelfOrigin();
-  info.srcOrigin() = aParam->GetSrcOrigin();
-
-  info.declaredString() = aParam->DeclaredString();
-  info.inheritedDeniedFeatureNames() =
-      aParam->InheritedDeniedFeatureNames().Clone();
-  info.attributeEnabledFeatureNames() =
-      aParam->AttributeEnabledFeatureNames().Clone();
-
-  WriteIPDLParam(aWriter, aActor, info);
+void IPDLParamTraits<dom::FeaturePolicyInfo>::Write(
+    IPC::MessageWriter* aWriter, IProtocol* aActor,
+    const dom::FeaturePolicyInfo& aParam) {
+  WriteIPDLParam(aWriter, aActor, aParam.mInheritedDeniedFeatureNames);
+  WriteIPDLParam(aWriter, aActor, aParam.mAttributeEnabledFeatureNames);
+  WriteIPDLParam(aWriter, aActor, aParam.mDeclaredString);
+  WriteIPDLParam(aWriter, aActor, aParam.mDefaultOrigin);
+  WriteIPDLParam(aWriter, aActor, aParam.mSelfOrigin);
+  WriteIPDLParam(aWriter, aActor, aParam.mSrcOrigin);
 }
 
-bool IPDLParamTraits<dom::FeaturePolicy*>::Read(
+bool IPDLParamTraits<dom::FeaturePolicyInfo>::Read(
     IPC::MessageReader* aReader, IProtocol* aActor,
-    RefPtr<dom::FeaturePolicy>* aResult) {
-  *aResult = nullptr;
-  bool notnull = false;
-  if (!ReadIPDLParam(aReader, aActor, &notnull)) {
+    dom::FeaturePolicyInfo* aResult) {
+  if (!ReadIPDLParam(aReader, aActor, &aResult->mInheritedDeniedFeatureNames)) {
     return false;
   }
 
-  if (!notnull) {
-    return true;
+  if (!ReadIPDLParam(aReader, aActor,
+                     &aResult->mAttributeEnabledFeatureNames)) {
+    return false;
+  }
+
+  if (!ReadIPDLParam(aReader, aActor, &aResult->mDeclaredString)) {
+    return false;
   }
 
-  dom::FeaturePolicyInfo info;
-  if (!ReadIPDLParam(aReader, aActor, &info)) {
+  if (!ReadIPDLParam(aReader, aActor, &aResult->mDefaultOrigin)) {
     return false;
   }
 
-  // Note that we only do IPC for feature policy to inherit policy from parent
-  // to child document. That does not need to bind feature policy with a node.
-  RefPtr<dom::FeaturePolicy> featurePolicy = new dom::FeaturePolicy(nullptr);
-  featurePolicy->SetDefaultOrigin(info.defaultOrigin());
-  featurePolicy->SetInheritedDeniedFeatureNames(
-      info.inheritedDeniedFeatureNames());
-
-  const auto& declaredString = info.declaredString();
-  if (info.selfOrigin() && !declaredString.IsEmpty()) {
-    featurePolicy->SetDeclaredPolicy(nullptr, declaredString, info.selfOrigin(),
-                                     info.srcOrigin());
+  if (!ReadIPDLParam(aReader, aActor, &aResult->mSelfOrigin)) {
+    return false;
   }
 
-  for (auto& featureName : info.attributeEnabledFeatureNames()) {
-    featurePolicy->MaybeSetAllowedPolicy(featureName);
+  if (!ReadIPDLParam(aReader, aActor, &aResult->mSrcOrigin)) {
+    return false;
   }
 
-  *aResult = std::move(featurePolicy);
   return true;
 }
 }  // namespace ipc
diff --git a/dom/security/featurepolicy/FeaturePolicyUtils.h b/dom/security/featurepolicy/FeaturePolicyUtils.h
index 380806433d67bc98116fb632b8649edde1f69787..ceb60923c00f71ab15daffa4cbd78776247422c2 100644
--- a/dom/security/featurepolicy/FeaturePolicyUtils.h
+++ b/dom/security/featurepolicy/FeaturePolicyUtils.h
@@ -7,7 +7,6 @@
 #ifndef mozilla_dom_FeaturePolicyUtils_h
 #define mozilla_dom_FeaturePolicyUtils_h
 
-#include "nsString.h"
 #include <functional>
 
 #include "mozilla/dom/FeaturePolicy.h"
@@ -79,12 +78,13 @@ template <typename T>
 struct IPDLParamTraits;
 
 template <>
-struct IPDLParamTraits<mozilla::dom::FeaturePolicy*> {
+struct IPDLParamTraits<dom::FeaturePolicyInfo> {
   static void Write(IPC::MessageWriter* aWriter, IProtocol* aActor,
-                    mozilla::dom::FeaturePolicy* aParam);
+                    const mozilla::dom::FeaturePolicyInfo& aParam);
   static bool Read(IPC::MessageReader* aReader, IProtocol* aActor,
-                   RefPtr<mozilla::dom::FeaturePolicy>* aResult);
+                   dom::FeaturePolicyInfo* aResult);
 };
+
 }  // namespace ipc
 }  // namespace mozilla
 
diff --git a/dom/security/nsHTTPSOnlyUtils.cpp b/dom/security/nsHTTPSOnlyUtils.cpp
index 8c6fea1a931a79902702b54c863472177509c3e6..fce30d4521b41fb96f3b822c1a03fdb6ce9857d7 100644
--- a/dom/security/nsHTTPSOnlyUtils.cpp
+++ b/dom/security/nsHTTPSOnlyUtils.cpp
@@ -266,7 +266,7 @@ bool nsHTTPSOnlyUtils::ShouldUpgradeWebSocket(nsIURI* aURI,
 
 /* static */
 bool nsHTTPSOnlyUtils::IsUpgradeDowngradeEndlessLoop(
-    nsIURI* aURI, nsILoadInfo* aLoadInfo,
+    nsIURI* aOldURI, nsIURI* aNewURI, nsILoadInfo* aLoadInfo,
     const mozilla::EnumSet<UpgradeDowngradeEndlessLoopOptions>& aOptions) {
   // 1. Check if the HTTPS-Only/HTTPS-First is even enabled, before doing
   // anything else
@@ -307,84 +307,47 @@ bool nsHTTPSOnlyUtils::IsUpgradeDowngradeEndlessLoop(
     return false;
   }
 
-  // 5. If the URI to be loaded is not http, then it's defnitely no endless
-  // loop caused by https-only.
-  if (!aURI->SchemeIs("http")) {
-    return false;
-  }
-
-  nsAutoCString uriHost;
-  aURI->GetAsciiHost(uriHost);
-
-  auto uriAndPrincipalComparator = [&](nsIPrincipal* aPrincipal) {
-    nsAutoCString principalHost;
-    aPrincipal->GetAsciiHost(principalHost);
-    bool checkPath = mozilla::StaticPrefs::
-        dom_security_https_only_check_path_upgrade_downgrade_endless_loop();
-    if (!checkPath) {
-      return uriHost.Equals(principalHost);
-    }
-
-    nsAutoCString uriPath;
-    nsresult rv = aURI->GetFilePath(uriPath);
-    if (NS_FAILED(rv)) {
-      return false;
-    }
-    nsAutoCString principalPath;
-    aPrincipal->GetFilePath(principalPath);
-    return uriHost.Equals(principalHost) && uriPath.Equals(principalPath);
-  };
-
-  // We do dot return early when we find a loop, as we still need to set an
-  // exception at the end.
-  bool isLoop = false;
-
-  // 6. Check actual redirects. If the Principal that kicked off the
+  // 5. Check HTTP 3xx redirects. If the Principal that kicked off the
   // load/redirect is not https, then it's definitely not a redirect cause by
   // https-only. If the scheme of the principal however is https and the
   // asciiHost of the URI to be loaded and the asciiHost of the Principal are
   // identical, then we are dealing with an upgrade downgrade scenario and we
   // have to break the cycle.
-  if (!aLoadInfo->RedirectChain().IsEmpty()) {
-    nsCOMPtr<nsIPrincipal> redirectPrincipal;
-    for (nsIRedirectHistoryEntry* entry : aLoadInfo->RedirectChain()) {
-      entry->GetPrincipal(getter_AddRefs(redirectPrincipal));
-      if (redirectPrincipal && redirectPrincipal->SchemeIs("https") &&
-          uriAndPrincipalComparator(redirectPrincipal)) {
-        isLoop = true;
-      }
-    }
-  } else {
-    // 6.1 We should only check if this load is triggered by a user gesture
-    // when the redirect chain is empty, since this information is only useful
-    // in our case here. When the redirect chain is not empty, this load is
-    // defnitely triggered by redirection, not a user gesture.
-    if (aLoadInfo->GetHasValidUserGestureActivation()) {
-      return false;
-    }
+  if (IsHttpDowngrade(aOldURI, aNewURI)) {
+    return true;
   }
 
-  if (!isLoop) {
-    // 7. Meta redirects and JS based redirects (win.location). If the security
-    // context that triggered the load is not https, then it's defnitely no
-    // endless loop caused by https-only. If the scheme is http however and the
-    // asciiHost of the URI to be loaded matches the asciiHost of the Principal,
-    // then we are dealing with an upgrade downgrade scenario and we have to
-    // break the cycle.
-    nsCOMPtr<nsIPrincipal> triggeringPrincipal =
-        aLoadInfo->TriggeringPrincipal();
-    if (!triggeringPrincipal->SchemeIs("https")) {
+  // TODO(Bug 1896691): Don't depend on triggeringPrincipal for JS/Meta
+  //     redirects. Call this function at the correct places instead
+
+  // 6. Bug 1725026: Disable JS/Meta loop detection when the load was triggered
+  // by a user gesture. This information is only when the redirect chain is
+  // empty. When the redirect chain is not empty, this load is definitely
+  // triggered by redirection, not a user gesture.
+  // TODO(1896685): Verify whether check is still necessary.
+  if (aLoadInfo->RedirectChain().IsEmpty()) {
+    if (aLoadInfo->GetHasValidUserGestureActivation()) {
       return false;
     }
-    isLoop = uriAndPrincipalComparator(triggeringPrincipal);
   }
 
-  if (isLoop && enforceForHTTPSFirstMode &&
-      mozilla::StaticPrefs::
-          dom_security_https_first_add_exception_on_failiure()) {
-    AddHTTPSFirstExceptionForSession(aURI, aLoadInfo);
+  // 7. Meta redirects and JS based redirects (win.location). We detect them
+  // during the https upgrade internal redirect.
+  nsCOMPtr<nsIPrincipal> triggeringPrincipal = aLoadInfo->TriggeringPrincipal();
+  if (!triggeringPrincipal->SchemeIs("https")) {
+    return false;
   }
 
+  // We detect Meta and JS based redirects during the upgrade. Check whether
+  // we are currently in an upgrade situation here.
+  if (!IsHttpDowngrade(aNewURI, aOldURI)) {
+    return false;
+  }
+  // If we upgrade to the same URI that the load is origining from we are
+  // creating a redirect loop.
+  bool isLoop = false;
+  nsresult rv = triggeringPrincipal->EqualsURI(aNewURI, &isLoop);
+  NS_ENSURE_SUCCESS(rv, false);
   return isLoop;
 }
 
@@ -436,7 +399,8 @@ bool nsHTTPSOnlyUtils::ShouldUpgradeHttpsFirstRequest(nsIURI* aURI,
   }
 
   // https-first needs to account for breaking upgrade-downgrade endless
-  // loops at this point because this function is called before we
+  // loops at this point for meta and js redirects because this function
+  // is called before we
   // check the redirect limit in HttpBaseChannel. If we encounter
   // a same-origin server side downgrade from e.g https://example.com
   // to http://example.com then we simply not annotating the loadinfo
@@ -444,12 +408,18 @@ bool nsHTTPSOnlyUtils::ShouldUpgradeHttpsFirstRequest(nsIURI* aURI,
   // the handling for https-only mode is different from https-first mode,
   // because https-only mode results in an exception page in case
   // we encounter and endless upgrade downgrade loop.
+  /*
   bool isUpgradeDowngradeEndlessLoop = IsUpgradeDowngradeEndlessLoop(
-      aURI, aLoadInfo,
+      aURI, aURI, aLoadInfo,
       {UpgradeDowngradeEndlessLoopOptions::EnforceForHTTPSFirstMode});
   if (isUpgradeDowngradeEndlessLoop) {
+    if (mozilla::StaticPrefs::
+            dom_security_https_first_add_exception_on_failiure()) {
+      nsHTTPSOnlyUtils::AddHTTPSFirstExceptionForSession(aURI, aLoadInfo);
+    }
     return false;
   }
+  */
 
   // We can upgrade the request - let's log to the console and set the status
   // so we know that we upgraded the request.
@@ -900,38 +870,51 @@ bool nsHTTPSOnlyUtils::LoopbackOrLocalException(nsIURI* aURI) {
 }
 
 /* static */
-bool nsHTTPSOnlyUtils::IsEqualURIExceptSchemeAndRef(nsIURI* aHTTPSSchemeURI,
-                                                    nsIURI* aOtherURI,
-                                                    nsILoadInfo* aLoadInfo) {
-  // 1. Check if one of parameters is null then webpage can't be loaded yet
+bool nsHTTPSOnlyUtils::ShouldUpgradeConnection(nsILoadInfo* aLoadInfo) {
+  // Check if one of parameters is null then webpage can't be loaded yet
   // and no further inspections are needed
-  if (!aHTTPSSchemeURI || !aOtherURI || !aLoadInfo) {
+  if (!aLoadInfo) {
     return false;
   }
 
-  // 2. If the URI to be loaded is not http, then same origin will be detected
-  // already
-  if (!mozilla::net::SchemeIsHTTP(aOtherURI)) {
-    return false;
-  }
-
-  // 3. Check if the HTTPS-Only Mode is even enabled, before we do anything else
+  // Check if the HTTPS-Only Mode is even enabled, before we do anything else
   bool isPrivateWin = aLoadInfo->GetOriginAttributes().mPrivateBrowsingId > 0;
   if (!IsHttpsOnlyModeEnabled(isPrivateWin) &&
       !IsHttpsFirstModeEnabled(isPrivateWin)) {
     return false;
   }
 
-  // 4. If the load is exempt, then it's defintely not related to https-only
+  // If the load is exempt, then don't upgrade
   uint32_t httpsOnlyStatus = aLoadInfo->GetHttpsOnlyStatus();
   if (httpsOnlyStatus & nsILoadInfo::HTTPS_ONLY_EXEMPT) {
     return false;
   }
+  return true;
+}
+
+/* static */
+bool nsHTTPSOnlyUtils::IsHttpDowngrade(nsIURI* aFromURI, nsIURI* aToURI) {
+  MOZ_ASSERT(aFromURI);
+  MOZ_ASSERT(aToURI);
+
+  if (!aFromURI || !aToURI) {
+    return false;
+  }
+
+  // 2. If the target URI is not http, then it's not a http downgrade
+  if (!mozilla::net::SchemeIsHTTP(aToURI)) {
+    return false;
+  }
+
+  // 3. If the origin URI isn't https, then it's not a http downgrade either.
+  if (!mozilla::net::SchemeIsHTTPS(aFromURI)) {
+    return false;
+  }
 
-  // 5. Create a new target URI with 'https' instead of 'http' and compare it
-  // to the current URI
+  // 4. Create a new target URI with 'https' instead of 'http' and compare it
+  // to the origin URI
   int32_t port = 0;
-  nsresult rv = aOtherURI->GetPort(&port);
+  nsresult rv = aToURI->GetPort(&port);
   NS_ENSURE_SUCCESS(rv, false);
   // a port of -1 indicates the default port, hence we upgrade from port 80 to
   // port 443
@@ -940,15 +923,14 @@ bool nsHTTPSOnlyUtils::IsEqualURIExceptSchemeAndRef(nsIURI* aHTTPSSchemeURI,
     port = NS_GetDefaultPort("https");
   }
   nsCOMPtr<nsIURI> newHTTPSchemeURI;
-  rv = NS_MutateURI(aOtherURI)
+  rv = NS_MutateURI(aToURI)
            .SetScheme("https"_ns)
            .SetPort(port)
            .Finalize(newHTTPSchemeURI);
   NS_ENSURE_SUCCESS(rv, false);
 
   bool uriEquals = false;
-  if (NS_FAILED(
-          aHTTPSSchemeURI->EqualsExceptRef(newHTTPSchemeURI, &uriEquals))) {
+  if (NS_FAILED(aFromURI->EqualsExceptRef(newHTTPSchemeURI, &uriEquals))) {
     return false;
   }
 
diff --git a/dom/security/nsHTTPSOnlyUtils.h b/dom/security/nsHTTPSOnlyUtils.h
index 960b39bc7c6866d884138c002a9cee51afa9e445..70be570662cff9326a86a087500bad55312249ee 100644
--- a/dom/security/nsHTTPSOnlyUtils.h
+++ b/dom/security/nsHTTPSOnlyUtils.h
@@ -77,7 +77,7 @@ class nsHTTPSOnlyUtils {
     EnforceForHTTPSRR,
   };
   static bool IsUpgradeDowngradeEndlessLoop(
-      nsIURI* aURI, nsILoadInfo* aLoadInfo,
+      nsIURI* aOldURI, nsIURI* aNewURI, nsILoadInfo* aLoadInfo,
       const mozilla::EnumSet<UpgradeDowngradeEndlessLoopOptions>& aOptions =
           {});
 
@@ -154,16 +154,19 @@ class nsHTTPSOnlyUtils {
   static bool IsSafeToAcceptCORSOrMixedContent(nsILoadInfo* aLoadInfo);
 
   /**
-   * Checks if two URIs are same origin modulo the difference that
-   * aHTTPSchemeURI uses an http scheme.
-   * @param aHTTPSSchemeURI nsIURI using scheme of https
-   * @param aOtherURI nsIURI using scheme of http
+   * Checks if https only or https first mode is enabled for this load
    * @param aLoadInfo nsILoadInfo of the request
+   */
+  static bool ShouldUpgradeConnection(nsILoadInfo* aLoadInfo);
+
+  /**
+   * Checks if two URIs are same origin modulo the difference that
+   * aToURI scheme is downgraded to http from https aFromURI.
+   * @param aFromURI nsIURI using scheme of https
+   * @param aToURI nsIURI using scheme of http
    * @return true, if URIs are equal except scheme and ref
    */
-  static bool IsEqualURIExceptSchemeAndRef(nsIURI* aHTTPSSchemeURI,
-                                           nsIURI* aOtherURI,
-                                           nsILoadInfo* aLoadInfo);
+  static bool IsHttpDowngrade(nsIURI* aFromURI, nsIURI* aToURI);
 
   /**
    * Will add a special temporary HTTPS-Only exception that only applies to
diff --git a/dom/security/test/https-first/file_break_endless_upgrade_downgrade_loop.sjs b/dom/security/test/https-first/file_break_endless_upgrade_downgrade_loop.sjs
index eb64c59e97cb0953646ed17ce1d198d30d8d24d1..0222941245fb16d3bcb25a52b93230fb492da8c8 100644
--- a/dom/security/test/https-first/file_break_endless_upgrade_downgrade_loop.sjs
+++ b/dom/security/test/https-first/file_break_endless_upgrade_downgrade_loop.sjs
@@ -1,61 +1,96 @@
 "use strict";
 
-const REDIRECT_URI =
-  "http://example.com/tests/dom/security/test/https-first/file_break_endless_upgrade_downgrade_loop.sjs?verify";
-const DOWNGRADE_URI =
-  "http://example.com/tests/dom/security/test/https-first/file_downgrade_with_different_path.sjs";
-const RESPONSE_ERROR = "unexpected-query";
+// DOWNGRADE_REDIRECT_*: http instead of https, otherwise same path
+const DOWNGRADE_REDIRECT_META = `
+  <html>
+  <head>
+    <meta http-equiv="refresh" content="0; url='http://example.com/tests/dom/security/test/https-first/file_break_endless_upgrade_downgrade_loop.sjs?downgrade_redirect_meta'">
+  </head>
+  <body>
+    META REDIRECT
+  </body>
+  </html>`;
 
-// An onload postmessage to window opener
-const RESPONSE_HTTPS_SCHEME = `
+const DOWNGRADE_REDIRECT_JS = `
   <html>
+   <body>
+     JS REDIRECT
+     <script>
+       let url= "http://example.com/tests/dom/security/test/https-first/file_break_endless_upgrade_downgrade_loop.sjs?downgrade_redirect_js";
+       window.location = url;
+     </script>
+   </body>
+   </html>`;
+
+// REDIRECT_*: different path and http instead of https
+const REDIRECT_META = `
+  <html>
+  <head>
+    <meta http-equiv="refresh" content="0; url='http://example.com/tests/dom/security/test/https-first/file_downgrade_with_different_path.sjs?redirect_meta'">
+  </head>
   <body>
-  <script type="application/javascript">
-    window.opener.postMessage({result: 'scheme-https'}, '*');
-  </script>
+    META REDIRECT
   </body>
   </html>`;
 
+const REDIRECT_JS = `
+  <html>
+   <body>
+     JS REDIRECT
+     <script>
+       let url= "http://example.com/tests/dom/security/test/https-first/file_downgrade_with_different_path.sjs?redirect_js";
+       window.location = url;
+     </script>
+   </body>
+   </html>`;
+
+// An onload postmessage to window opener
 const RESPONSE_HTTP_SCHEME = `
   <html>
   <body>
   <script type="application/javascript">
-    window.opener.postMessage({result: 'scheme-http'}, '*');
+    window.opener.postMessage({result: 'scheme-http-'+window.location}, '*');
   </script>
   </body>
   </html>`;
 
 function handleRequest(request, response) {
   response.setHeader("Cache-Control", "no-cache", false);
-  const query = request.queryString;
-
-  if (query == "downgrade") {
-    // send same-origin downgrade from https: to http: with a different path.
-    // we don't consider it's an endless upgrade downgrade loop in this case.
-    response.setStatusLine(request.httpVersion, 302, "Found");
-    response.setHeader("Location", DOWNGRADE_URI, false);
-    return;
-  }
-
-  // handle the redirect case
-  if ((query >= 301 && query <= 303) || query == 307) {
-    // send same-origin downgrade from https: to http: again simluating
-    // and endless upgrade downgrade loop.
-    response.setStatusLine(request.httpVersion, query, "Found");
-    response.setHeader("Location", REDIRECT_URI, false);
-    return;
-  }
 
-  // Check if scheme is http:// or https://
-  if (query == "verify") {
-    let response_content =
-      request.scheme === "https" ? RESPONSE_HTTPS_SCHEME : RESPONSE_HTTP_SCHEME;
-    response.setStatusLine(request.httpVersion, 200, "OK");
-    response.write(response_content);
+  if (request.scheme == "https") {
+    // allow http status code as parameter
+    const query = request.queryString.split("=");
+    if (query[0] == "downgrade_redirect_http") {
+      let location = `http://${request.host}${request.path}?${request.queryString}`;
+      response.setStatusLine(request.httpVersion, query[1], "Found");
+      response.setHeader("Location", location, false);
+    } else if (query[0] == "redirect_http") {
+      response.setStatusLine(request.httpVersion, query[1], "Found");
+      let location =
+        "http://example.com/tests/dom/security/test/https-first/file_downgrade_with_different_path.sjs?" +
+        request.queryString;
+      response.setHeader("Location", location, false);
+    } else if (query[0] == "downgrade_redirect_js") {
+      response.setStatusLine(request.httpVersion, 200, "OK");
+      response.write(DOWNGRADE_REDIRECT_JS);
+    } else if (query[0] == "redirect_js") {
+      response.setStatusLine(request.httpVersion, 200, "OK");
+      response.write(REDIRECT_JS);
+    } else if (query[0] == "downgrade_redirect_meta") {
+      response.setStatusLine(request.httpVersion, 200, "OK");
+      response.write(DOWNGRADE_REDIRECT_META);
+    } else if (query[0] == "redirect_meta") {
+      response.setStatusLine(request.httpVersion, 200, "OK");
+      response.write(REDIRECT_META);
+    } else {
+      // We should never get here, but just in case ...
+      response.setStatusLine(request.httpVersion, 500, "OK");
+      response.write("unexepcted query");
+    }
     return;
   }
 
-  // We should never get here, but just in case ...
-  response.setStatusLine(request.httpVersion, 500, "OK");
-  response.write("unexepcted query");
+  // return http response
+  response.setStatusLine(request.httpVersion, 200, "OK");
+  response.write(RESPONSE_HTTP_SCHEME);
 }
diff --git a/dom/security/test/https-first/file_downgrade_with_different_path.sjs b/dom/security/test/https-first/file_downgrade_with_different_path.sjs
index 7450313d982645272360da64059b51d9cc964729..5d50dc5a01a50a962e669bdf2528db898723da78 100644
--- a/dom/security/test/https-first/file_downgrade_with_different_path.sjs
+++ b/dom/security/test/https-first/file_downgrade_with_different_path.sjs
@@ -5,7 +5,7 @@ const RESPONSE_HTTPS_SCHEME = `
   <html>
   <body>
   <script type="application/javascript">
-    window.opener.postMessage({result: 'scheme-https'}, '*');
+    window.opener.postMessage({result: 'scheme-https-'+window.location}, '*');
   </script>
   </body>
   </html>`;
@@ -14,7 +14,7 @@ const RESPONSE_HTTP_SCHEME = `
   <html>
   <body>
   <script type="application/javascript">
-    window.opener.postMessage({result: 'scheme-http'}, '*');
+    window.opener.postMessage({result: 'scheme-http-'+window.location}'}, '*');
   </script>
   </body>
   </html>`;
diff --git a/dom/security/test/https-first/file_multiple_redirection.sjs b/dom/security/test/https-first/file_multiple_redirection.sjs
index e34a360fa6cf754e74ea934e87818099d8f5c47d..565ebda78be65ff87abf72fbdc07ced3bb4587f3 100644
--- a/dom/security/test/https-first/file_multiple_redirection.sjs
+++ b/dom/security/test/https-first/file_multiple_redirection.sjs
@@ -9,6 +9,10 @@ const OTHERHOST_REDIRECT_URI_HTTP =
   "http://example.org/tests/dom/security/test/https-first/file_multiple_redirection.sjs?verify";
 const REDIRECT_URI_HTTPS =
   "https://example.com/tests/dom/security/test/https-first/file_multiple_redirection.sjs?verify";
+const REDIRECT_DOWNGRADE_URI =
+  "https://example.com/tests/dom/security/test/https-first/file_multiple_redirection.sjs?downgrade";
+const REDIRECT_DOWNGRADE_URI_HTTP =
+  "http://example.com/tests/dom/security/test/https-first/file_multiple_redirection.sjs?downgrade";
 
 const RESPONSE_ERROR = "unexpected-query";
 
@@ -52,6 +56,10 @@ function sendRedirection(query, response) {
   if (query.includes("test4")) {
     response.setHeader("Location", OTHERHOST_REDIRECT_URI_HTTP, false);
   }
+  // send a redirection http downgrade uri
+  if (query.includes("test5")) {
+    response.setHeader("Location", REDIRECT_DOWNGRADE_URI, false);
+  }
 }
 
 function handleRequest(request, response) {
@@ -64,6 +72,7 @@ function handleRequest(request, response) {
     if (request.scheme !== "https") {
       response.setStatusLine(request.httpVersion, 500, "OK");
       response.write("Request should have been HTTPS.");
+      return;
     }
     // send a 302 redirection
     response.setStatusLine(request.httpVersion, 302, "Found");
@@ -75,11 +84,20 @@ function handleRequest(request, response) {
     if (request.scheme !== "https") {
       response.setStatusLine(request.httpVersion, 500, "OK");
       response.write("Request should have been HTTPS.");
+      return;
     }
     response.setStatusLine(request.httpVersion, 302, "Found");
     sendRedirection(query, response);
     return;
   }
+  // Send a http redirect downgrade
+  if (query.includes("downgrade")) {
+    response.setStatusLine(request.httpVersion, 302, "Found");
+    let redirect_uri =
+      request.scheme === "https" ? REDIRECT_DOWNGRADE_URI : REDIRECT_URI_HTTP;
+    response.setHeader("Location", redirect_uri, false);
+    return;
+  }
   // Reset the HSTS policy, prevent influencing other tests
   if (request.queryString === "reset") {
     response.setHeader("Strict-Transport-Security", "max-age=0");
diff --git a/dom/security/test/https-first/test_break_endless_upgrade_downgrade_loop.html b/dom/security/test/https-first/test_break_endless_upgrade_downgrade_loop.html
index 86719bf89d00b987c763d2e14c8670f0424c72f9..231bf9c51b9bb22266f4e160adcc2d2860c75eb8 100644
--- a/dom/security/test/https-first/test_break_endless_upgrade_downgrade_loop.html
+++ b/dom/security/test/https-first/test_break_endless_upgrade_downgrade_loop.html
@@ -20,55 +20,64 @@ Test that same origin redirect does not cause endless loop with https-first enab
 
   SimpleTest.waitForExplicitFinish();
 
-  const redirectCodes = ["301", "302","303","307"];
+  let testQueries = [
+    // Those are clear downgrades. Need to load http site
+    { query: "downgrade_redirect_meta", result: "http" },
+    { query: "downgrade_redirect_js", result: "http" },
+    { query: "downgrade_redirect_http=301", result: "http" },
+    { query: "downgrade_redirect_http=302", result: "http" },
+    { query: "downgrade_redirect_http=303", result: "http" },
+    { query: "downgrade_redirect_http=307", result: "http" },
+    // from here it isn't required to downgrade. Could be upgraded again
+    { query: "redirect_meta", result: "https" },
+    { query: "redirect_js", result: "https" },
+    { query: "redirect_http=301", result: "https" },
+    { query: "redirect_http=302", result: "https" },
+    { query: "redirect_http=303", result: "https" },
+    { query: "redirect_http=307", result: "https" },
+  ];
   let currentTest = 0;
+  // do each test two time. One time starting with https:// one time with http://
+  let currentTestStartWithHttps = false;
   let testWin;
   window.addEventListener("message", receiveMessage);
 
   // receive message from loaded site verifying the scheme of
   // the loaded document.
   async function receiveMessage(event) {
-    let currentRedirectCode = redirectCodes[currentTest];
-    is(event.data.result,
-       "scheme-http",
-       "same-origin redirect results in 'http' for " + currentRedirectCode
+    let currentTestParams = testQueries[Math.floor(currentTest / 2)];
+    let expectedURI;
+    if(currentTestParams.result == "https") {
+      expectedURI = "https://example.com/tests/dom/security/test/https-first/file_downgrade_with_different_path.sjs?" + currentTestParams.query;
+    } else {
+      expectedURI = "http://example.com/tests/dom/security/test/https-first/file_break_endless_upgrade_downgrade_loop.sjs?" + currentTestParams.query;
+    }
+    is(`scheme-${currentTestParams.result}-${expectedURI}`,
+       event.data.result,
+       `${currentTest}: redirect results in '${currentTestParams.result}' for ${expectedURI}`
     );
     testWin.close();
     await SpecialPowers.removePermission(
       "https-only-load-insecure",
       "http://example.com"
     );
-    if (++currentTest < redirectCodes.length) {
+    // each test gets run starting with http:// and https://. Therefore *2 
+    if (++currentTest < 2 * testQueries.length) {
+      // start next case
       startTest();
       return;
     }
+    // cleanup
     window.removeEventListener("message", receiveMessage);
-    window.addEventListener("message", receiveMessageForDifferentPathTest);
-    testDifferentPath();
-  }
-
-  async function receiveMessageForDifferentPathTest(event) {
-    is(event.data.result,
-       "scheme-https",
-       "scheme should be https when the path is different"
-    );
-    testWin.close();
-    window.removeEventListener("message", receiveMessageForDifferentPathTest);
     SimpleTest.finish();
   }
 
   async function startTest() {
-    const currentCode = redirectCodes[currentTest];
+    const currentTestParams = testQueries[Math.floor(currentTest / 2)];
+    const scheme = currentTest % 2 == 0 ? "https" : "http";
     // Load an http:// window which gets upgraded to https://
     let uri =
-      `http://example.com/tests/dom/security/test/https-first/file_break_endless_upgrade_downgrade_loop.sjs?${currentCode}`;
-    testWin = window.open(uri);
-  }
-
-  async function testDifferentPath() {
-    // Load an https:// window which gets downgraded to http://
-    let uri =
-      `https://example.com/tests/dom/security/test/https-first/file_break_endless_upgrade_downgrade_loop.sjs?downgrade`;
+      `${scheme}://example.com/tests/dom/security/test/https-first/file_break_endless_upgrade_downgrade_loop.sjs?${currentTestParams.query}`;
     testWin = window.open(uri);
   }
 
@@ -77,7 +86,6 @@ Test that same origin redirect does not cause endless loop with https-first enab
     ["dom.security.https_first", true],
     ["security.mixed_content.block_active_content", false],
     ["security.mixed_content.block_display_content", false],
-    ["dom.security.https_only_check_path_upgrade_downgrade_endless_loop", true],
   ]}, startTest);
   </script>
 </body>
diff --git a/dom/security/test/https-first/test_multiple_redirection.html b/dom/security/test/https-first/test_multiple_redirection.html
index 350b0ed3005818240cd4d5e90c7ff3b42516f5d5..a1b714543c0b73c30432616495311828755f8ce6 100644
--- a/dom/security/test/https-first/test_multiple_redirection.html
+++ b/dom/security/test/https-first/test_multiple_redirection.html
@@ -21,10 +21,8 @@ Test multiple redirects using https-first and ensure the entire redirect chain i
   const testCase = [
     // test 1: https-first upgrades http://example.com/test1 -> https://example.com/test1
     //         that's redirect to https://example.com/.../redirect which then redirects
-    //         to http://example.com/../verify. Since the last redirect is http, and the
-    //         the redirection chain contains already example.com we expect https-first
-    //         to downgrade the request.
-    {name: "test last redirect HTTP", result: "scheme-http", query: "test1" },
+    //         to http://example.com/../verify.
+    {name: "test last redirect HTTP", result: "scheme-https", query: "test1" },
     // test 2: https-first upgrades http://example.com/test2 -> https://example.com/test2
     //         that's redirect to https://example.com/.../redirect which then redirects
     //         to https://example.com/../verify. Since the last redirect is https, we
@@ -43,6 +41,13 @@ Test multiple redirects using https-first and ensure the entire redirect chain i
     //         http://example.org/.../verify -upgrade-> httpS://example.ORG/.../verify
     //         Everything should be upgraded and accessed only via HTTPS!
     {name: "test last redirect other HTTP origin gets upgraded", result: "scheme-https", query: "test4" },
+    // test 5: https-first upgrades http://example.com/test5 -> https://example.com/test5
+    //         that's redirect to https://example.com/.../downgrade which then redirects
+    //         https-first upgrades http://example.com/.../downgrade -> https://example.com/.../downgrade
+    //         that's redirect to http://example.com/.../downgrade which which is detected as http downgrade
+    //         to http://example.com/../verify. Since the last redirect is http, and we
+    //         had a downgrade in the redirect chain. We load the http version
+    {name: "test downgrade HTTP", result: "scheme-http", query: "test5" },
   ]
   let currentTest = 0;
   let testWin;
diff --git a/dom/security/test/https-only/file_break_endless_upgrade_downgrade_loop.sjs b/dom/security/test/https-only/file_break_endless_upgrade_downgrade_loop.sjs
index a8a9083ef3fb2458c99287dc93392be17d727ded..1c77ba6401ffff3b26d37ae35c40a130d3eb2fe7 100644
--- a/dom/security/test/https-only/file_break_endless_upgrade_downgrade_loop.sjs
+++ b/dom/security/test/https-only/file_break_endless_upgrade_downgrade_loop.sjs
@@ -4,7 +4,7 @@
 const REDIRECT_META = `
   <html>
   <head>
-    <meta http-equiv="refresh" content="0; url='http://example.com/tests/dom/security/test/https-only/file_break_endless_upgrade_downgrade_loop.sjs?test1b'">
+    <meta http-equiv="refresh" content="0; url='http://example.com/tests/dom/security/test/https-only/file_break_endless_upgrade_downgrade_loop.sjs?test1'">
   </head>
   <body>
     META REDIRECT
@@ -16,17 +16,17 @@ const REDIRECT_JS = `
    <body>
      JS REDIRECT
      <script>
-       let url= "http://example.com/tests/dom/security/test/https-only/file_break_endless_upgrade_downgrade_loop.sjs?test2b";
+       let url= "http://example.com/tests/dom/security/test/https-only/file_break_endless_upgrade_downgrade_loop.sjs?test2";
        window.location = url;
      </script>
    </body>
    </html>`;
 
 const REDIRECT_302 =
-  "http://example.com/tests/dom/security/test/https-only/file_break_endless_upgrade_downgrade_loop.sjs?test3b";
+  "http://example.com/tests/dom/security/test/https-only/file_break_endless_upgrade_downgrade_loop.sjs?test3";
 
 const REDIRECT_302_DIFFERENT_PATH =
-  "http://example.com/tests/dom/security/test/https-only/file_user_gesture.html";
+  "http://example.com/tests/dom/security/test/https-only/file_break_endless_upgrade_downgrade_loop.sjs?verify";
 
 function handleRequest(request, response) {
   // avoid confusing cache behaviour
@@ -35,30 +35,35 @@ function handleRequest(request, response) {
 
   // if the scheme is not https, meaning that the initial request did not
   // get upgraded, then we rather fall through and display unexpected content.
-  if (request.scheme === "https") {
+  if (request.scheme == "https") {
     let query = request.queryString;
 
-    if (query === "test1a") {
+    if (query == "test1") {
       response.write(REDIRECT_META);
       return;
     }
 
-    if (query === "test2a") {
+    if (query == "test2") {
       response.write(REDIRECT_JS);
       return;
     }
 
-    if (query === "test3a") {
+    if (query == "test3") {
       response.setStatusLine("1.1", 302, "Found");
       response.setHeader("Location", REDIRECT_302, false);
       return;
     }
 
-    if (query === "test4a") {
+    if (query == "test4") {
       response.setStatusLine("1.1", 302, "Found");
       response.setHeader("Location", REDIRECT_302_DIFFERENT_PATH, false);
       return;
     }
+
+    if (query == "verify") {
+      response.write("<html><body>OK :)</body></html>");
+      return;
+    }
   }
 
   // we should never get here, just in case,
diff --git a/dom/security/test/https-only/test_break_endless_upgrade_downgrade_loop.html b/dom/security/test/https-only/test_break_endless_upgrade_downgrade_loop.html
index 847a71f3785f36dce4120d5da56e462a343a3b2c..68c99d58a8d6803b5be136b8f333cbd1d85e58c8 100644
--- a/dom/security/test/https-only/test_break_endless_upgrade_downgrade_loop.html
+++ b/dom/security/test/https-only/test_break_endless_upgrade_downgrade_loop.html
@@ -16,73 +16,85 @@
  * Test 1: Meta Refresh
  * Test 2: JS Redirect
  * Test 3: 302 redirect
+ * Test 4: Redirect to different origin. No redirect loop should be detected
  */
 
-SimpleTest.requestFlakyTimeout("We need to wait for the HTTPS-Only error page to appear");
-SimpleTest.requestLongerTimeout(10);
 SimpleTest.waitForExplicitFinish();
 
-const REQUEST_URL =
+const HTTP_REQUEST_URL =
   "http://example.com/tests/dom/security/test/https-only/file_break_endless_upgrade_downgrade_loop.sjs";
+const HTTPS_REQUEST_URL =
+  "https://example.com/tests/dom/security/test/https-only/file_break_endless_upgrade_downgrade_loop.sjs";
 
-function resolveAfter6Seconds() {
-  return new Promise(resolve => {
-    setTimeout(() => {
-      resolve();
-    }, 6000);
-  });
-}
-
-async function verifyResult(aTestName) {
-  let errorPageL10nId = "about-httpsonly-title-alert";
-  let innerHTML = content.document.body.innerHTML;
-  ok(innerHTML.includes(errorPageL10nId), "the error page should be shown for " + aTestName);
-}
-
-async function verifyTest4Result() {
-  let pathname = content.document.location.pathname;
-  ok(
-    pathname === "/tests/dom/security/test/https-only/file_user_gesture.html",
-     "the http:// page should be loaded"
-  );
-}
-
-async function runTests() {
-  await SpecialPowers.pushPrefEnv({ set: [
-    ["dom.security.https_only_mode", true],
-    ["dom.security.https_only_mode_break_upgrade_downgrade_endless_loop", true],
-    ["dom.security.https_only_check_path_upgrade_downgrade_endless_loop", true],
-  ]});
-
+const testQueries = [
   // Test 1: Meta Refresh Redirect
-  let winTest1 = window.open(REQUEST_URL + "?test1a", "_blank");
+  { scheme: "http", query: "test1", error: true },
+  { scheme: "https", query: "test1", error: true },
   // Test 2: JS win.location Redirect
-  let winTest2 = window.open(REQUEST_URL + "?test2a", "_blank");
+  { scheme: "http", query: "test2", error: true },
+  { scheme: "https", query: "test2", error: true },
   // Test 3: 302 Redirect
-  let winTest3 = window.open(REQUEST_URL + "?test3a", "_blank");
+  { scheme: "http", query: "test3", error: true },
+  { scheme: "https", query: "test3", error: true },
   // Test 4: 302 Redirect with a different path
-  let winTest4 = window.open(REQUEST_URL + "?test4a", "_blank");
-
-  // provide enough time for:
-  // the redirects to occur, and the error page to be displayed
-  await resolveAfter6Seconds();
-
-  await SpecialPowers.spawn(winTest1, ["test1"], verifyResult);
-  winTest1.close();
-
-  await SpecialPowers.spawn(winTest2, ["test2"], verifyResult);
-  winTest2.close();
-
-  await SpecialPowers.spawn(winTest3, ["test3"], verifyResult);
-  winTest3.close();
+  { scheme: "http", query: "test4", error: false },
+  { scheme: "https", query: "test4", error: false },
+];
+
+let currentTest = 0;
+// do each test two time. One time starting with https:// one time with http://
+let testWin;
+window.addEventListener("message", receiveMessageWhenLoaded);
+
+function postMessageWhenLoaded() {
+  SimpleTest.waitForCondition(async () => {
+      return await SpecialPowers.spawn(testWin, [], () => {
+        let innerHTML = content.document.body.innerHTML;
+        return innerHTML == "OK :)"
+          || innerHTML == "DO NOT DISPLAY THIS"
+          || innerHTML.includes("about-httpsonly-title-alert");
+      }).catch(() => false);
+    },
+    () => window.postMessage("https-only-page-loaded", "*"),
+    "waiting for page load to complete"
+  );
+}
 
-  await SpecialPowers.spawn(winTest4, ["test4"], verifyTest4Result);
-  winTest4.close();
+async function receiveMessageWhenLoaded() {
+  const currentTestParams = testQueries[currentTest];
+  let testName = currentTestParams.scheme + ":" + currentTestParams.query
 
+  let innerHTML = await SpecialPowers.spawn(testWin, [], () => {
+    return content.document.body.innerHTML;
+  });
+  if(currentTestParams.error) {
+    ok(innerHTML.includes("about-httpsonly-title-alert"), testName + ": the error page should be shown");
+  } else {
+    is(innerHTML, "OK :)", testName + ": different path with https loaded ");
+  }
+  testWin.close();
+
+  if (++currentTest < testQueries.length) {
+    runNextTest();
+    return;
+  }
+  // no more tests to run -> cleanup
+  window.removeEventListener("https-only-page-load", receiveMessageWhenLoaded);
   SimpleTest.finish();
 }
 
-runTests();
+async function runNextTest() {
+  const currentTestParams = testQueries[currentTest];
+  let uri = `${currentTestParams.scheme}://example.com/tests/dom/security/test/https-only/file_break_endless_upgrade_downgrade_loop.sjs?${currentTestParams.query}`;
+  testWin = window.open(uri, "_blank");
+  postMessageWhenLoaded();
+}
+
+SpecialPowers.pushPrefEnv({ set: [
+    ["dom.security.https_only_mode", true],
+    ["dom.security.https_only_mode_break_upgrade_downgrade_endless_loop", true],
+    ["dom.security.https_only_mode_ever_enabled", true], // clear this pref at the end
+  ]}, runNextTest);
 
 </script>
 </body>
diff --git a/dom/system/linux/GeoclueLocationProvider.cpp b/dom/system/linux/GeoclueLocationProvider.cpp
index c9f5ef5dac02f0be729a25da9d65228fdef7be18..ba26b31c110e48b8b5f6bf1a3668a0f7e7890762 100644
--- a/dom/system/linux/GeoclueLocationProvider.cpp
+++ b/dom/system/linux/GeoclueLocationProvider.cpp
@@ -81,27 +81,7 @@ class GCLocProviderPriv final : public nsIGeolocationProvider,
 
   GCLocProviderPriv();
 
-  void UpdateLastPosition();
-
  private:
-  class LocationTimerCallback final : public nsITimerCallback, public nsINamed {
-   public:
-    NS_DECL_ISUPPORTS
-    NS_DECL_NSITIMERCALLBACK
-
-    explicit LocationTimerCallback(GCLocProviderPriv* aParent)
-        : mParent(aParent) {}
-
-    NS_IMETHOD GetName(nsACString& aName) override {
-      aName.AssignLiteral("GCLocProvider::LocationTimerCallback");
-      return NS_OK;
-    }
-
-   private:
-    ~LocationTimerCallback() = default;
-    WeakPtr<GCLocProviderPriv> mParent;
-  };
-
   enum class Accuracy { Unset, Low, High };
   // States:
   //   Uninit: The default / initial state, with no client proxy yet.
@@ -232,7 +212,6 @@ class GCLocProviderPriv final : public nsIGeolocationProvider,
   MOZ_CAN_RUN_SCRIPT static void GCManagerOwnerNotify(GObject* aObject,
                                                       GParamSpec* aPSpec,
                                                       gpointer aUserData);
-
   static void GCClientSignal(GDBusProxy* aProxy, gchar* aSenderName,
                              gchar* aSignalName, GVariant* aParameters,
                              gpointer aUserData);
@@ -242,8 +221,13 @@ class GCLocProviderPriv final : public nsIGeolocationProvider,
   static void ConnectLocationResponse(GObject* aObject, GAsyncResult* aResult,
                                       gpointer aUserData);
 
-  void SetLocationTimer();
-  void StopLocationTimer();
+  void StartLastPositionTimer();
+  void StopPositionTimer();
+  void UpdateLastPosition();
+
+  void StartMLSFallbackTimerIfNeeded();
+  void StopMLSFallbackTimer();
+  void MLSFallbackTimerFired();
 
   bool InDBusCall();
   bool InDBusStoppingCall();
@@ -266,10 +250,44 @@ class GCLocProviderPriv final : public nsIGeolocationProvider,
   nsCOMPtr<nsIGeolocationUpdate> mCallback;
   ClientState mClientState = ClientState::Uninit;
   RefPtr<nsIDOMGeoPosition> mLastPosition;
-  RefPtr<nsITimer> mLocationTimer;
+  RefPtr<nsITimer> mLastPositionTimer;
+  RefPtr<nsITimer> mMLSFallbackTimer;
   RefPtr<MLSFallback> mMLSFallback;
 };
 
+class GCLocWeakCallback final : public nsITimerCallback, public nsINamed {
+  using Method = void (GCLocProviderPriv::*)();
+
+ public:
+  NS_DECL_ISUPPORTS
+  NS_DECL_NSITIMERCALLBACK
+
+  explicit GCLocWeakCallback(GCLocProviderPriv* aParent, const char* aName,
+                             Method aMethod)
+      : mParent(aParent), mName(aName), mMethod(aMethod) {}
+
+  NS_IMETHOD GetName(nsACString& aName) override {
+    aName = mName;
+    return NS_OK;
+  }
+
+ private:
+  ~GCLocWeakCallback() = default;
+  WeakPtr<GCLocProviderPriv> mParent;
+  const char* mName = nullptr;
+  Method mMethod = nullptr;
+};
+
+NS_IMPL_ISUPPORTS(GCLocWeakCallback, nsITimerCallback, nsINamed)
+
+NS_IMETHODIMP
+GCLocWeakCallback::Notify(nsITimer* aTimer) {
+  if (RefPtr parent = mParent.get()) {
+    (parent->*mMethod)();
+  }
+  return NS_OK;
+}
+
 //
 // GCLocProviderPriv
 //
@@ -310,7 +328,8 @@ void GCLocProviderPriv::Update(nsIDOMGeoPosition* aPosition) {
 
 void GCLocProviderPriv::UpdateLastPosition() {
   MOZ_DIAGNOSTIC_ASSERT(mLastPosition, "No last position to update");
-  StopLocationTimer();
+  StopPositionTimer();
+  StopMLSFallbackTimer();
   Update(mLastPosition);
 }
 
@@ -381,9 +400,9 @@ void GCLocProviderPriv::GetClientResponse(GDBusProxy* aProxy,
   RefPtr<GVariant> variant = dont_AddRef(
       g_dbus_proxy_call_finish(aProxy, aResult, getter_Transfers(error)));
   if (!variant) {
+    GCL_LOG(Error, "Failed to get client: %s\n", error->message);
     // if cancelled |self| might no longer be there
     if (!g_error_matches(error.get(), G_IO_ERROR, G_IO_ERROR_CANCELLED)) {
-      GCL_LOG(Error, "Failed to get client: %s\n", error->message);
       RefPtr self = static_cast<GCLocProviderPriv*>(aUserData);
       self->DBusProxyError(error.get(), true);
     }
@@ -602,6 +621,9 @@ void GCLocProviderPriv::StartClientResponse(GDBusProxy* aProxy,
   MOZ_DIAGNOSTIC_ASSERT(self->mClientState == ClientState::Starting,
                         "Client in a wrong state");
   GCLP_SETSTATE(self, Started);
+  // If we're started, and we don't get any location update in a reasonable
+  // amount of time, we fallback to MLS.
+  self->StartMLSFallbackTimerIfNeeded();
   self->MaybeRestartForAccuracy();
 }
 
@@ -689,6 +711,9 @@ void GCLocProviderPriv::GCClientSignal(GDBusProxy* aProxy, gchar* aSenderName,
                                        gchar* aSignalName,
                                        GVariant* aParameters,
                                        gpointer aUserData) {
+  GCL_LOG(Info, "%s: %s (%s)\n", __PRETTY_FUNCTION__, aSignalName,
+          GUniquePtr<gchar>(g_variant_print(aParameters, TRUE)).get());
+
   if (g_strcmp0(aSignalName, "LocationUpdated")) {
     return;
   }
@@ -802,23 +827,63 @@ void GCLocProviderPriv::ConnectLocationResponse(GObject* aObject,
   self->UpdateLastPosition();
 }
 
-void GCLocProviderPriv::SetLocationTimer() {
+void GCLocProviderPriv::StartLastPositionTimer() {
   MOZ_DIAGNOSTIC_ASSERT(mLastPosition, "no last position to report");
 
-  StopLocationTimer();
+  StopPositionTimer();
+
+  RefPtr timerCallback = new GCLocWeakCallback(
+      this, "UpdateLastPosition", &GCLocProviderPriv::UpdateLastPosition);
+  NS_NewTimerWithCallback(getter_AddRefs(mLastPositionTimer), timerCallback,
+                          1000, nsITimer::TYPE_ONE_SHOT);
+}
+
+void GCLocProviderPriv::StopPositionTimer() {
+  if (!mLastPositionTimer) {
+    return;
+  }
 
-  RefPtr<LocationTimerCallback> timerCallback = new LocationTimerCallback(this);
-  NS_NewTimerWithCallback(getter_AddRefs(mLocationTimer), timerCallback, 1000,
-                          nsITimer::TYPE_ONE_SHOT);
+  mLastPositionTimer->Cancel();
+  mLastPositionTimer = nullptr;
 }
 
-void GCLocProviderPriv::StopLocationTimer() {
-  if (!mLocationTimer) {
+void GCLocProviderPriv::StartMLSFallbackTimerIfNeeded() {
+  StopMLSFallbackTimer();
+  if (mLastPosition) {
+    // If we already have a location we're good.
     return;
   }
 
-  mLocationTimer->Cancel();
-  mLocationTimer = nullptr;
+  uint32_t delay = StaticPrefs::geo_provider_geoclue_mls_fallback_timeout_ms();
+  if (!delay) {
+    return;
+  }
+
+  RefPtr timerCallback = new GCLocWeakCallback(
+      this, "MLSFallbackTimerFired", &GCLocProviderPriv::MLSFallbackTimerFired);
+  NS_NewTimerWithCallback(getter_AddRefs(mMLSFallbackTimer), timerCallback,
+                          delay, nsITimer::TYPE_ONE_SHOT);
+}
+
+void GCLocProviderPriv::StopMLSFallbackTimer() {
+  if (!mMLSFallbackTimer) {
+    return;
+  }
+  mMLSFallbackTimer->Cancel();
+  mMLSFallbackTimer = nullptr;
+}
+
+void GCLocProviderPriv::MLSFallbackTimerFired() {
+  mMLSFallbackTimer = nullptr;
+
+  if (mMLSFallback || mLastPosition || mClientState != ClientState::Started) {
+    return;
+  }
+
+  GCL_LOG(Info,
+          "Didn't get a location in a reasonable amount of time, trying to "
+          "fall back to MLS");
+  FallbackToMLS();
 }
 
 // Did we made some D-Bus call and are still waiting for its response?
@@ -861,7 +926,8 @@ void GCLocProviderPriv::DoShutdown(bool aDeleteClient, bool aDeleteManager) {
       "deleting manager proxy requires deleting client one, too");
 
   // Invalidate the cached last position
-  StopLocationTimer();
+  StopPositionTimer();
+  StopMLSFallbackTimer();
   mLastPosition = nullptr;
 
   /*
@@ -955,10 +1021,10 @@ void GCLocProviderPriv::WatchStart() {
   if (mClientState == ClientState::Idle) {
     StartClient();
   } else if (mClientState == ClientState::Started) {
-    if (mLastPosition && !mLocationTimer) {
+    if (mLastPosition && !mLastPositionTimer) {
       GCL_LOG(Verbose,
-              "Will report the existing location if new one doesn't come up\n");
-      SetLocationTimer();
+              "Will report the existing position if new one doesn't come up\n");
+      StartLastPositionTimer();
     }
   } else if (mClientState == ClientState::SettingAccuracy) {
     GCLP_SETSTATE(this, SettingAccuracyForStart);
@@ -1016,19 +1082,6 @@ GCLocProviderPriv::SetHighAccuracy(bool aHigh) {
   return NS_OK;
 }
 
-NS_IMPL_ISUPPORTS(GCLocProviderPriv::LocationTimerCallback, nsITimerCallback,
-                  nsINamed)
-
-NS_IMETHODIMP
-GCLocProviderPriv::LocationTimerCallback::Notify(nsITimer* aTimer) {
-  if (mParent) {
-    RefPtr<GCLocProviderPriv> parent(mParent);
-    parent->UpdateLastPosition();
-  }
-
-  return NS_OK;
-}
-
 GeoclueLocationProvider::GeoclueLocationProvider() {
   mPriv = new GCLocProviderPriv;
 }
diff --git a/dom/xslt/xslt/txMozillaXMLOutput.cpp b/dom/xslt/xslt/txMozillaXMLOutput.cpp
index 3ef89d31a4f345130d814f05d095262d4f184608..75f9f4e69a35804d621ce34142d10bf16abae094 100644
--- a/dom/xslt/xslt/txMozillaXMLOutput.cpp
+++ b/dom/xslt/xslt/txMozillaXMLOutput.cpp
@@ -6,6 +6,7 @@
 #include "txMozillaXMLOutput.h"
 
 #include "mozilla/dom/Document.h"
+#include "mozilla/dom/FeaturePolicy.h"
 #include "nsIDocShell.h"
 #include "nsIScriptElement.h"
 #include "nsCharsetSource.h"
diff --git a/gfx/angle/checkout/include/GLSLANG/ShaderLang.h b/gfx/angle/checkout/include/GLSLANG/ShaderLang.h
index d55e7ebce36409f5ee74fb0cb4b66be5e7d106e4..472c9545feece755806128509ed8496ab16e30e3 100644
--- a/gfx/angle/checkout/include/GLSLANG/ShaderLang.h
+++ b/gfx/angle/checkout/include/GLSLANG/ShaderLang.h
@@ -666,6 +666,10 @@ struct ShBuiltInResources
     int MaxPixelLocalStoragePlanes;
     int MaxColorAttachmentsWithActivePixelLocalStorage;
     int MaxCombinedDrawBuffersAndPixelLocalStoragePlanes;
+
+    // Variable size limits for webgl-mode validation.
+    size_t MaxVariableSizeInBytes;
+    size_t MaxPrivateVariableSizeInBytes;
 };
 
 //
diff --git a/gfx/angle/checkout/out/gen/angle/angle_commit.h b/gfx/angle/checkout/out/gen/angle/angle_commit.h
index 7001cc33097a3b4913d8bc14afda5ed7d6bcfa84..0988b577d0e36d0b003eadf3148326b20b55281f 100644
--- a/gfx/angle/checkout/out/gen/angle/angle_commit.h
+++ b/gfx/angle/checkout/out/gen/angle/angle_commit.h
@@ -1,5 +1,5 @@
-#define ANGLE_COMMIT_HASH "ddaf44ac75d5"
+#define ANGLE_COMMIT_HASH "791816843657"
 #define ANGLE_COMMIT_HASH_SIZE 12
-#define ANGLE_COMMIT_DATE "2024-01-02 15:01:34 -0800"
-#define ANGLE_COMMIT_POSITION 19736
+#define ANGLE_COMMIT_DATE "2024-06-06 10:35:11 -0700"
+#define ANGLE_COMMIT_POSITION 19738
 #define ANGLE_HAS_BINARY_LOADING
diff --git a/gfx/angle/checkout/src/compiler/translator/Compiler.cpp b/gfx/angle/checkout/src/compiler/translator/Compiler.cpp
index 891d1ddf61f1ce10ce008a26a00d914dda64885e..f70e275787a2ae3e313abbcdccb66c955c8dd096 100644
--- a/gfx/angle/checkout/src/compiler/translator/Compiler.cpp
+++ b/gfx/angle/checkout/src/compiler/translator/Compiler.cpp
@@ -721,7 +721,7 @@ bool TCompiler::checkAndSimplifyAST(TIntermBlock *root,
         return false;
     }
 
-    if (shouldLimitTypeSizes() && !ValidateTypeSizeLimitations(root, &mSymbolTable, &mDiagnostics))
+    if (shouldLimitTypeSizes() && !ValidateTypeSizeLimitations(mResources, root, &mSymbolTable, &mDiagnostics))
     {
         return false;
     }
diff --git a/gfx/angle/checkout/src/compiler/translator/ShaderLang.cpp b/gfx/angle/checkout/src/compiler/translator/ShaderLang.cpp
index abc680656a5c69a172d45e2f91e4171a653580ae..73bf948821dd6497fa051997aa206abc6b174d14 100644
--- a/gfx/angle/checkout/src/compiler/translator/ShaderLang.cpp
+++ b/gfx/angle/checkout/src/compiler/translator/ShaderLang.cpp
@@ -342,6 +342,14 @@ void InitBuiltInResources(ShBuiltInResources *resources)
     resources->SubPixelBits = 8;
 
     resources->MaxSamples = 4;
+
+    // Arbitrarily enforce that all types declared with a size in bytes of over 2 GB will cause
+    // compilation failure.
+    //
+    // For local and global variables, the limit is much lower (1MB) as that much memory won't fit in
+    // the GPU registers anyway.
+    resources->MaxVariableSizeInBytes        = static_cast<size_t>(2) * 1024 * 1024 * 1024;
+    resources->MaxPrivateVariableSizeInBytes = static_cast<size_t>(1) * 1024 * 1024;
 }
 
 //
diff --git a/gfx/angle/checkout/src/compiler/translator/ValidateTypeSizeLimitations.cpp b/gfx/angle/checkout/src/compiler/translator/ValidateTypeSizeLimitations.cpp
index 6097b6d236b547710aeaf37a6fb45df97d621ca0..5ad497a9429dbcc83ab3e9e8bb9d6861a277f4a8 100644
--- a/gfx/angle/checkout/src/compiler/translator/ValidateTypeSizeLimitations.cpp
+++ b/gfx/angle/checkout/src/compiler/translator/ValidateTypeSizeLimitations.cpp
@@ -20,22 +20,17 @@ namespace sh
 namespace
 {
 
-// Arbitrarily enforce that all types declared with a size in bytes of over 2 GB will cause
-// compilation failure.
-//
-// For local and global variables, the limit is much lower (1MB) as that much memory won't fit in
-// the GPU registers anyway.
-constexpr size_t kMaxVariableSizeInBytes        = static_cast<size_t>(2) * 1024 * 1024 * 1024;
-constexpr size_t kMaxPrivateVariableSizeInBytes = static_cast<size_t>(1) * 1024 * 1024;
-
 // Traverses intermediate tree to ensure that the shader does not
 // exceed certain implementation-defined limits on the sizes of types.
 // Some code was copied from the CollectVariables pass.
 class ValidateTypeSizeLimitationsTraverser : public TIntermTraverser
 {
   public:
-    ValidateTypeSizeLimitationsTraverser(TSymbolTable *symbolTable, TDiagnostics *diagnostics)
-        : TIntermTraverser(true, false, false, symbolTable), mDiagnostics(diagnostics)
+    ValidateTypeSizeLimitationsTraverser(const ShBuiltInResources& limits, TSymbolTable *symbolTable, TDiagnostics *diagnostics)
+        : TIntermTraverser(true, false, false, symbolTable),
+          mLimits(limits),
+          mDiagnostics(diagnostics),
+          mTotalPrivateVariablesSize(0)
     {
         ASSERT(diagnostics);
     }
@@ -82,7 +77,8 @@ class ValidateTypeSizeLimitationsTraverser : public TIntermTraverser
             // whether the row-major layout is correctly determined.
             bool isRowMajorLayout = false;
             TraverseShaderVariable(shaderVar, isRowMajorLayout, &visitor);
-            if (layoutEncoder.getCurrentOffset() > kMaxVariableSizeInBytes)
+            if (mLimits.MaxVariableSizeInBytes &&
+                layoutEncoder.getCurrentOffset() > mLimits.MaxVariableSizeInBytes)
             {
                 error(asSymbol->getLine(),
                       "Size of declared variable exceeds implementation-defined limit",
@@ -93,18 +89,33 @@ class ValidateTypeSizeLimitationsTraverser : public TIntermTraverser
             const bool isPrivate = variableType.getQualifier() == EvqTemporary ||
                                    variableType.getQualifier() == EvqGlobal ||
                                    variableType.getQualifier() == EvqConst;
-            if (layoutEncoder.getCurrentOffset() > kMaxPrivateVariableSizeInBytes && isPrivate)
+            if (isPrivate)
             {
-                error(asSymbol->getLine(),
-                      "Size of declared private variable exceeds implementation-defined limit",
-                      asSymbol->getName());
-                return false;
+                if (mLimits.MaxPrivateVariableSizeInBytes && layoutEncoder.getCurrentOffset() > mLimits.MaxPrivateVariableSizeInBytes)
+                {
+                    error(asSymbol->getLine(),
+                          "Size of declared private variable exceeds implementation-defined limit",
+                          asSymbol->getName());
+                    return false;
+                }
+                mTotalPrivateVariablesSize += layoutEncoder.getCurrentOffset();
             }
         }
 
         return true;
     }
 
+    void validateTotalPrivateVariableSize()
+    {
+        if (mTotalPrivateVariablesSize > mLimits.MaxPrivateVariableSizeInBytes)
+        {
+            mDiagnostics->error(
+                TSourceLoc{},
+                "Total size of declared private variables exceeds implementation-defined limit",
+                "");
+        }
+    }
+
   private:
     void error(TSourceLoc loc, const char *reason, const ImmutableString &token)
     {
@@ -211,18 +222,23 @@ class ValidateTypeSizeLimitationsTraverser : public TIntermTraverser
         }
     }
 
+    const ShBuiltInResources& mLimits;
     TDiagnostics *mDiagnostics;
     std::vector<int> mLoopSymbolIds;
+
+    size_t mTotalPrivateVariablesSize;
 };
 
 }  // namespace
 
-bool ValidateTypeSizeLimitations(TIntermNode *root,
+bool ValidateTypeSizeLimitations(const ShBuiltInResources& limits,
+                                 TIntermNode *root,
                                  TSymbolTable *symbolTable,
                                  TDiagnostics *diagnostics)
 {
-    ValidateTypeSizeLimitationsTraverser validate(symbolTable, diagnostics);
+    ValidateTypeSizeLimitationsTraverser validate(limits, symbolTable, diagnostics);
     root->traverse(&validate);
+    validate.validateTotalPrivateVariableSize();
     return diagnostics->numErrors() == 0;
 }
 
diff --git a/gfx/angle/checkout/src/compiler/translator/ValidateTypeSizeLimitations.h b/gfx/angle/checkout/src/compiler/translator/ValidateTypeSizeLimitations.h
index defa39876db0bca37619a8e8ec926fd0e4fe1798..41925186aa2d43494182f65a5cce3d57a8786933 100644
--- a/gfx/angle/checkout/src/compiler/translator/ValidateTypeSizeLimitations.h
+++ b/gfx/angle/checkout/src/compiler/translator/ValidateTypeSizeLimitations.h
@@ -16,7 +16,8 @@ class TDiagnostics;
 
 // Returns true if the given shader does not violate certain
 // implementation-defined limits on the size of variables' types.
-bool ValidateTypeSizeLimitations(TIntermNode *root,
+bool ValidateTypeSizeLimitations(const ShBuiltInResources&,
+                                 TIntermNode *root,
                                  TSymbolTable *symbolTable,
                                  TDiagnostics *diagnostics);
 
diff --git a/gfx/angle/cherry_picks.txt b/gfx/angle/cherry_picks.txt
index 7669804f324f268c1e02b9aa5a66511ea57b7953..59a3f544384ddd61b6e94c81f82f7e11ab7c9819 100644
--- a/gfx/angle/cherry_picks.txt
+++ b/gfx/angle/cherry_picks.txt
@@ -1,3 +1,23 @@
+commit 7918168436578718b234bfd56da152e34a85af1d
+Author: Kelsey Gilbert <kelsey.gilbert@mozilla.com>
+Date:   Tue Jun 4 15:37:29 2024 -0700
+
+    Add GLSL variable byte size limits to ShBuiltInResources.
+
+commit 31c0a5bff1330706aff3c4594c8166745814a45b
+Author: Shahbaz Youssefi <syoussefi@chromium.org>
+Date:   Wed May 3 13:41:36 2023 -0400
+
+    WebGL: Limit total size of private data
+    
+    ... not just individual arrays.
+    
+    Bug: chromium:1431761
+    Change-Id: I721e29aeceeaf12c3f6a67b668abffb8dfbc89b0
+    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4503753
+    Reviewed-by: Kenneth Russell <kbr@chromium.org>
+    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
+
 commit ddaf44ac75d5d0390873c2af193e02159ecbe672
 Author: Geoff Lang <geofflang@chromium.org>
 Date:   Fri Dec 8 13:20:36 2023 -0500
diff --git a/ipc/glue/BackgroundUtils.cpp b/ipc/glue/BackgroundUtils.cpp
index eb1e46fb4225ff7220890683fa9cf966913b9988..40fae18bdeb3c1e97ab507880784d883d07f6cf0 100644
--- a/ipc/glue/BackgroundUtils.cpp
+++ b/ipc/glue/BackgroundUtils.cpp
@@ -962,10 +962,11 @@ void LoadInfoToParentLoadInfoForwarder(
       aLoadInfo->GetServiceWorkerTaintingSynthesized(),
       aLoadInfo->GetDocumentHasUserInteracted(),
       aLoadInfo->GetAllowListFutureDocumentsCreatedFromThisRedirectChain(),
-      cookieJarSettingsArgs, aLoadInfo->GetRequestBlockingReason(),
-      aLoadInfo->GetStoragePermission(), overriddenFingerprintingSettingsArg,
-      aLoadInfo->GetIsMetaRefresh(), isThirdPartyContextToTopWindow,
-      aLoadInfo->GetIsInThirdPartyContext(), unstrippedURI);
+      cookieJarSettingsArgs, aLoadInfo->GetContainerFeaturePolicyInfo(),
+      aLoadInfo->GetRequestBlockingReason(), aLoadInfo->GetStoragePermission(),
+      overriddenFingerprintingSettingsArg, aLoadInfo->GetIsMetaRefresh(),
+      isThirdPartyContextToTopWindow, aLoadInfo->GetIsInThirdPartyContext(),
+      unstrippedURI);
 }
 
 nsresult MergeParentLoadInfoForwarder(
@@ -1071,6 +1072,11 @@ nsresult MergeParentLoadInfoForwarder(
   rv = aLoadInfo->SetUnstrippedURI(aForwarderArgs.unstrippedURI());
   NS_ENSURE_SUCCESS(rv, rv);
 
+  if (aForwarderArgs.containerFeaturePolicyInfo()) {
+    aLoadInfo->SetContainerFeaturePolicyInfo(
+        *aForwarderArgs.containerFeaturePolicyInfo());
+  }
+
   return NS_OK;
 }
 
diff --git a/js/public/CompilationAndEvaluation.h b/js/public/CompilationAndEvaluation.h
index ce0090dea91d32d115d654cd9c795bb4cfff9514..fee0aecbb09dd80d7f2c92a2d169d51abe85d818 100644
--- a/js/public/CompilationAndEvaluation.h
+++ b/js/public/CompilationAndEvaluation.h
@@ -45,8 +45,8 @@ class SourceText;
  * lines in a buffer until JS_Utf8BufferIsCompilableUnit is true, then pass it
  * to the compiler.
  *
- * The provided buffer is interpreted as UTF-8 data.  An error is reported if
- * a UTF-8 encoding error is encountered.
+ * The provided buffer is interpreted as UTF-8 data.  If a UTF-8 encoding error
+ * is encountered, reports an error to JSContext and returns *true*.
  */
 extern JS_PUBLIC_API bool JS_Utf8BufferIsCompilableUnit(
     JSContext* cx, JS::Handle<JSObject*> obj, const char* utf8, size_t length);
diff --git a/js/src/jsapi-tests/moz.build b/js/src/jsapi-tests/moz.build
index ac9afbe814ec55ca982e24ed8af1d80a5d897aac..e24b9bf43ad4493a07f6df3bc77282065fff24ca 100644
--- a/js/src/jsapi-tests/moz.build
+++ b/js/src/jsapi-tests/moz.build
@@ -79,6 +79,7 @@ UNIFIED_SOURCES += [
     "testIntern.cpp",
     "testIntlAvailableLocales.cpp",
     "testIntString.cpp",
+    "testIsCompilableUnit.cpp",
     "testIsInsideNursery.cpp",
     "testIsISOStyleDate.cpp",
     "testIteratorObject.cpp",
diff --git a/js/src/jsapi-tests/testIsCompilableUnit.cpp b/js/src/jsapi-tests/testIsCompilableUnit.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..2f7a775be8767fd35b25b7820040671d00dfe8b7
--- /dev/null
+++ b/js/src/jsapi-tests/testIsCompilableUnit.cpp
@@ -0,0 +1,69 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "mozilla/Utf8.h"  // mozilla::Utf8Unit
+
+#include <string_view>
+
+#include "js/CompilationAndEvaluation.h"  // JS_Utf8BufferIsCompilableUnit
+#include "js/ErrorReport.h"               // JSErrorReport
+#include "js/GlobalObject.h"              // JS::CurrentGlobalOrNull
+#include "js/RootingAPI.h"                // JS::Rooted
+#include "js/SourceText.h"                // JS::SourceText, JS::SourceOwnership
+#include "js/Warnings.h"                  // JS::SetWarningReporter
+#include "jsapi-tests/tests.h"
+
+static bool gIsCompilableUnitWarned = false;
+
+BEGIN_TEST(testIsCompilableUnit) {
+  JS::SetWarningReporter(cx, WarningReporter);
+
+  // Compilable case.
+  {
+    static constexpr std::string_view src = "1";
+    CHECK(JS_Utf8BufferIsCompilableUnit(cx, global, src.data(), src.length()));
+    CHECK(!JS_IsExceptionPending(cx));
+    CHECK(!gIsCompilableUnitWarned);
+  }
+
+  // Not compilable cases.
+  {
+    static constexpr std::string_view src = "1 + ";
+    CHECK(!JS_Utf8BufferIsCompilableUnit(cx, global, src.data(), src.length()));
+    CHECK(!JS_IsExceptionPending(cx));
+    CHECK(!gIsCompilableUnitWarned);
+  }
+
+  {
+    static constexpr std::string_view src = "() =>";
+    CHECK(!JS_Utf8BufferIsCompilableUnit(cx, global, src.data(), src.length()));
+    CHECK(!JS_IsExceptionPending(cx));
+    CHECK(!gIsCompilableUnitWarned);
+  }
+
+  // Compilable but warned case.
+  {
+    static constexpr std::string_view src = "() => { return; unreachable(); }";
+    CHECK(JS_Utf8BufferIsCompilableUnit(cx, global, src.data(), src.length()));
+    CHECK(!JS_IsExceptionPending(cx));
+    CHECK(!gIsCompilableUnitWarned);
+  }
+
+  // Invalid UTF-8 case.
+  // This should report error with returning *true*.
+  {
+    static constexpr std::string_view src = "\x80";
+    CHECK(JS_Utf8BufferIsCompilableUnit(cx, global, src.data(), src.length()));
+    CHECK(JS_IsExceptionPending(cx));
+    CHECK(!gIsCompilableUnitWarned);
+    JS_ClearPendingException(cx);
+  }
+
+  return true;
+}
+
+static void WarningReporter(JSContext* cx, JSErrorReport* report) {
+  gIsCompilableUnitWarned = true;
+}
+END_TEST(testIsCompilableUnit);
diff --git a/js/src/vm/CompilationAndEvaluation.cpp b/js/src/vm/CompilationAndEvaluation.cpp
index a6ae6c5f2dd55db9d502f5613a5a9ac72929f8a6..5c42e2e4c0bf0a5adb02311fcd8aa6e3808ea4bf 100644
--- a/js/src/vm/CompilationAndEvaluation.cpp
+++ b/js/src/vm/CompilationAndEvaluation.cpp
@@ -184,10 +184,6 @@ JS_PUBLIC_API bool JS_Utf8BufferIsCompilableUnit(JSContext* cx,
     return true;
   }
 
-  // Return true on any out-of-memory error or non-EOF-related syntax error, so
-  // our caller doesn't try to collect more buffered source.
-  bool result = true;
-
   using frontend::FullParseHandler;
   using frontend::ParseGoal;
   using frontend::Parser;
@@ -208,6 +204,9 @@ JS_PUBLIC_API bool JS_Utf8BufferIsCompilableUnit(JSContext* cx,
     return false;
   }
 
+  // Warnings and errors during parsing shouldn't be reported.
+  fc.clearAutoReport();
+
   Parser<FullParseHandler, char16_t> parser(&fc, options, chars.get(), length,
                                             /* foldConstants = */ true,
                                             compilationState,
@@ -217,13 +216,13 @@ JS_PUBLIC_API bool JS_Utf8BufferIsCompilableUnit(JSContext* cx,
     // return false so our caller knows to try to collect more buffered
     // source.
     if (parser.isUnexpectedEOF()) {
-      result = false;
+      return false;
     }
-
-    cx->clearPendingException();
   }
 
-  return result;
+  // Return true on any out-of-memory error or non-EOF-related syntax error, so
+  // our caller doesn't try to collect more buffered source.
+  return true;
 }
 
 class FunctionCompiler {
diff --git a/js/src/wasm/WasmTypeDef.h b/js/src/wasm/WasmTypeDef.h
index 135d58e613399da00bbd5ddc9b25b390e4b26410..24f4c951eb1f9a78990f236cfcf1d3c112192680 100644
--- a/js/src/wasm/WasmTypeDef.h
+++ b/js/src/wasm/WasmTypeDef.h
@@ -1301,7 +1301,10 @@ inline uintptr_t TypeDef::forMatch(const TypeDef* typeDef,
 
   // Return a tagged index for local type references
   if (typeDef && &typeDef->recGroup() == recGroup) {
-    return uintptr_t(recGroup->indexOf(typeDef)) | 0x1;
+    // recGroup->indexOf result is expected to be not greater than MaxTypes,
+    // and shall fit in 32-bit pointer without loss.
+    static_assert(MaxTypes <= 0x7FFFFFFF);
+    return (uintptr_t(recGroup->indexOf(typeDef)) << 1) | 0x1;
   }
 
   // Return an untagged pointer for non-local type references
diff --git a/js/xpconnect/loader/ChromeScriptLoader.cpp b/js/xpconnect/loader/ChromeScriptLoader.cpp
index d67c41d014a5bac76bcab1f8e0be32dfcb062421..81ba2c38145f3ead208937766da1f49a59720d85 100644
--- a/js/xpconnect/loader/ChromeScriptLoader.cpp
+++ b/js/xpconnect/loader/ChromeScriptLoader.cpp
@@ -292,7 +292,14 @@ nsresult AsyncScriptCompiler::Start(
   mCharset = aOptions.mCharset;
 
   CompileOptions options(aCx);
-  options.setFile(mURL.get()).setNoScriptRval(!aOptions.mHasReturnValue);
+  nsAutoCString filename;
+  if (aOptions.mFilename.WasPassed()) {
+    filename = NS_ConvertUTF16toUTF8(aOptions.mFilename.Value());
+    options.setFile(filename.get());
+  } else {
+    options.setFile(mURL.get());
+  }
+  options.setNoScriptRval(!aOptions.mHasReturnValue);
 
   if (!aOptions.mLazilyParse) {
     options.setForceFullParse();
@@ -418,7 +425,8 @@ void AsyncScriptCompiler::Reject(JSContext* aCx, const char* aMsg) {
   nsAutoString msg;
   msg.AppendASCII(aMsg);
   msg.AppendLiteral(": ");
-  AppendUTF8toUTF16(mURL, msg);
+  nsDependentCString filename(mOptions.filename().c_str());
+  AppendUTF8toUTF16(filename, msg);
 
   RootedValue exn(aCx);
   if (xpc::NonVoidStringToJsval(aCx, msg, &exn)) {
@@ -501,7 +509,7 @@ PrecompiledScript::PrecompiledScript(nsISupports* aParent,
                                      JS::ReadOnlyCompileOptions& aOptions)
     : mParent(aParent),
       mStencil(aStencil),
-      mURL(aOptions.filename().c_str()),
+      mPublicURL(aOptions.filename().c_str()),
       mHasReturnValue(!aOptions.noScriptRval) {
   MOZ_ASSERT(aParent);
   MOZ_ASSERT(aStencil);
@@ -551,7 +559,9 @@ void PrecompiledScript::ExecuteInGlobal(JSContext* aCx, HandleObject aGlobal,
   JS_WrapValue(aCx, aRval);
 }
 
-void PrecompiledScript::GetUrl(nsAString& aUrl) { CopyUTF8toUTF16(mURL, aUrl); }
+void PrecompiledScript::GetUrl(nsAString& aUrl) {
+  CopyUTF8toUTF16(mPublicURL, aUrl);
+}
 
 bool PrecompiledScript::HasReturnValue() { return mHasReturnValue; }
 
diff --git a/js/xpconnect/loader/PrecompiledScript.h b/js/xpconnect/loader/PrecompiledScript.h
index 2b49c05373e649898c1af6c919f4a4b5db3e5910..7c0c258a69916d63480110813e8348f414d20a58 100644
--- a/js/xpconnect/loader/PrecompiledScript.h
+++ b/js/xpconnect/loader/PrecompiledScript.h
@@ -53,7 +53,7 @@ class PrecompiledScript : public nsISupports, public nsWrapperCache {
   nsCOMPtr<nsISupports> mParent;
 
   RefPtr<JS::Stencil> mStencil;
-  nsCString mURL;
+  nsCString mPublicURL;
   const bool mHasReturnValue;
 };
 
diff --git a/js/xpconnect/tests/unit/test_compileScript.js b/js/xpconnect/tests/unit/test_compileScript.js
index 1baf7ab56e5e9f93da194c30a4ad3a00a02d6a92..91d1e194e7acda2217efa7abc32cce5d1a0e0e43 100644
--- a/js/xpconnect/tests/unit/test_compileScript.js
+++ b/js/xpconnect/tests/unit/test_compileScript.js
@@ -73,6 +73,48 @@ add_task(async function test_syntaxError() {
     SyntaxError);
 });
 
+add_task(async function test_Error_filename() {
+  // This function will be serialized as a data:-URL and called.
+  function getMyError() {
+    let err = new Error();
+    return {
+      fileName: err.fileName,
+      stackFirstLine: err.stack.split("\n")[0],
+    };
+  }
+  const scriptUrl = `data:,(${encodeURIComponent(getMyError)})()`;
+  const dummyFilename = "dummy filename";
+  let script1 = await ChromeUtils.compileScript(scriptUrl, { hasReturnValue: true });
+  let script2 = await ChromeUtils.compileScript(scriptUrl, { hasReturnValue: true, filename: dummyFilename });
+
+  equal(script1.url, scriptUrl, "Script URL is correct");
+  equal(script2.url, "dummy filename", "Script URL overridden");
+
+  let sandbox = Cu.Sandbox("http://example.com");
+  let err1 = script1.executeInGlobal(sandbox);
+  equal(err1.fileName, scriptUrl, "fileName is original script URL");
+  equal(err1.stackFirstLine, `getMyError@${scriptUrl}:2:15`, "Stack has original URL");
+
+  let err2 = script2.executeInGlobal(sandbox);
+  equal(err2.fileName, dummyFilename, "fileName is overridden filename");
+  equal(err2.stackFirstLine, `getMyError@${dummyFilename}:2:15`, "Stack has overridden URL");
+});
+
+add_task(async function test_invalid_url() {
+  // In this test we want a URL that doesn't resolve to a valid file.
+  // Moreover, the name is chosen such that it does not trigger the
+  // CheckForBrokenChromeURL check.
+  await Assert.rejects(
+    ChromeUtils.compileScript("resource:///invalid.ftl"),
+    /^Unable to load script: resource:\/\/\/invalid\.ftl$/
+  );
+
+  await Assert.rejects(
+    ChromeUtils.compileScript("resource:///invalid.ftl", { filename: "bye bye" }),
+    /^Unable to load script: bye bye$/
+  );
+});
+
 /**
  * Assert that executeInGlobal throws a special exception when the content script throws.
  * And the content script exception is notified to the console.
diff --git a/layout/forms/nsNumberControlFrame.cpp b/layout/forms/nsNumberControlFrame.cpp
index 518ba91e241f3e7498ca75cb14bf60595dacdc33..d8109b3671c70bb4a6eb776729e3c4ea9bf6d00d 100644
--- a/layout/forms/nsNumberControlFrame.cpp
+++ b/layout/forms/nsNumberControlFrame.cpp
@@ -41,11 +41,6 @@ nsNumberControlFrame::nsNumberControlFrame(ComputedStyle* aStyle,
                                            nsPresContext* aPresContext)
     : nsTextControlFrame(aStyle, aPresContext, kClassID) {}
 
-void nsNumberControlFrame::Destroy(DestroyContext& aContext) {
-  aContext.AddAnonymousContent(mSpinBox.forget());
-  nsTextControlFrame::Destroy(aContext);
-}
-
 nsresult nsNumberControlFrame::CreateAnonymousContent(
     nsTArray<ContentInfo>& aElements) {
   // We create an anonymous tree for our input element that is structured as
@@ -75,15 +70,15 @@ nsresult nsNumberControlFrame::CreateAnonymousContent(
   }
 
   // Create the ::-moz-number-spin-box pseudo-element:
-  mSpinBox = MakeAnonElement(PseudoStyleType::mozNumberSpinBox);
+  mButton = MakeAnonElement(PseudoStyleType::mozNumberSpinBox);
 
   // Create the ::-moz-number-spin-up pseudo-element:
-  mSpinUp = MakeAnonElement(PseudoStyleType::mozNumberSpinUp, mSpinBox);
+  mSpinUp = MakeAnonElement(PseudoStyleType::mozNumberSpinUp, mButton);
 
   // Create the ::-moz-number-spin-down pseudo-element:
-  mSpinDown = MakeAnonElement(PseudoStyleType::mozNumberSpinDown, mSpinBox);
+  mSpinDown = MakeAnonElement(PseudoStyleType::mozNumberSpinDown, mButton);
 
-  aElements.AppendElement(mSpinBox);
+  aElements.AppendElement(mButton);
 
   return NS_OK;
 #endif
@@ -113,7 +108,7 @@ int32_t nsNumberControlFrame::GetSpinButtonForPointerEvent(
     WidgetGUIEvent* aEvent) const {
   MOZ_ASSERT(aEvent->mClass == eMouseEventClass, "Unexpected event type");
 
-  if (!mSpinBox) {
+  if (!mButton) {
     // we don't have a spinner
     return eSpinButtonNone;
   }
@@ -123,7 +118,7 @@ int32_t nsNumberControlFrame::GetSpinButtonForPointerEvent(
   if (aEvent->mOriginalTarget == mSpinDown) {
     return eSpinButtonDown;
   }
-  if (aEvent->mOriginalTarget == mSpinBox) {
+  if (aEvent->mOriginalTarget == mButton) {
     // In the case that the up/down buttons are hidden (display:none) we use
     // just the spin box element, spinning up if the pointer is over the top
     // half of the element, or down if it's over the bottom half. This is
@@ -131,9 +126,9 @@ int32_t nsNumberControlFrame::GetSpinButtonForPointerEvent(
     // default UA style sheet. See the comment in forms.css for why.
     LayoutDeviceIntPoint absPoint = aEvent->mRefPoint;
     nsPoint point = nsLayoutUtils::GetEventCoordinatesRelativeTo(
-        aEvent, absPoint, RelativeTo{mSpinBox->GetPrimaryFrame()});
+        aEvent, absPoint, RelativeTo{mButton->GetPrimaryFrame()});
     if (point != nsPoint(NS_UNCONSTRAINEDSIZE, NS_UNCONSTRAINEDSIZE)) {
-      if (point.y < mSpinBox->GetPrimaryFrame()->GetSize().height / 2) {
+      if (point.y < mButton->GetPrimaryFrame()->GetSize().height / 2) {
         return eSpinButtonUp;
       }
       return eSpinButtonDown;
@@ -167,14 +162,6 @@ bool nsNumberControlFrame::SpinnerDownButtonIsDepressed() const {
       ->NumberSpinnerDownButtonIsDepressed();
 }
 
-void nsNumberControlFrame::AppendAnonymousContentTo(
-    nsTArray<nsIContent*>& aElements, uint32_t aFilter) {
-  nsTextControlFrame::AppendAnonymousContentTo(aElements, aFilter);
-  if (mSpinBox) {
-    aElements.AppendElement(mSpinBox);
-  }
-}
-
 #ifdef ACCESSIBILITY
 a11y::AccType nsNumberControlFrame::AccessibleType() {
   return a11y::eHTMLSpinnerType;
diff --git a/layout/forms/nsNumberControlFrame.h b/layout/forms/nsNumberControlFrame.h
index d7201ea1e13c78ec39e7bc0349754d2468d51203..b0d0c4a4153a954c9e7240d4f60849c53fd87307 100644
--- a/layout/forms/nsNumberControlFrame.h
+++ b/layout/forms/nsNumberControlFrame.h
@@ -49,16 +49,12 @@ class nsNumberControlFrame final : public nsTextControlFrame {
   NS_DECL_QUERYFRAME
   NS_DECL_FRAMEARENA_HELPERS(nsNumberControlFrame)
 
-  void Destroy(DestroyContext&) override;
-
 #ifdef ACCESSIBILITY
   mozilla::a11y::AccType AccessibleType() override;
 #endif
 
   // nsIAnonymousContentCreator
   nsresult CreateAnonymousContent(nsTArray<ContentInfo>& aElements) override;
-  void AppendAnonymousContentTo(nsTArray<nsIContent*>& aElements,
-                                uint32_t aFilter) override;
 
 #ifdef DEBUG_FRAME_DUMP
   nsresult GetFrameName(nsAString& aResult) const override {
@@ -97,7 +93,6 @@ class nsNumberControlFrame final : public nsTextControlFrame {
  private:
   // See nsNumberControlFrame::CreateAnonymousContent for a description of
   // these.
-  nsCOMPtr<Element> mSpinBox;
   nsCOMPtr<Element> mSpinUp;
   nsCOMPtr<Element> mSpinDown;
 };
diff --git a/layout/forms/nsSearchControlFrame.cpp b/layout/forms/nsSearchControlFrame.cpp
index e9249cca77bfd71efe5ea845adaef2943fac0f96..4ea5fd9aa652f62163544db86965a09f85810e42 100644
--- a/layout/forms/nsSearchControlFrame.cpp
+++ b/layout/forms/nsSearchControlFrame.cpp
@@ -39,11 +39,6 @@ nsSearchControlFrame::nsSearchControlFrame(ComputedStyle* aStyle,
                                            nsPresContext* aPresContext)
     : nsTextControlFrame(aStyle, aPresContext, kClassID) {}
 
-void nsSearchControlFrame::Destroy(DestroyContext& aContext) {
-  aContext.AddAnonymousContent(mClearButton.forget());
-  nsTextControlFrame::Destroy(aContext);
-}
-
 nsresult nsSearchControlFrame::CreateAnonymousContent(
     nsTArray<ContentInfo>& aElements) {
   // We create an anonymous tree for our input element that is structured as
@@ -60,23 +55,11 @@ nsresult nsSearchControlFrame::CreateAnonymousContent(
 
   nsTextControlFrame::CreateAnonymousContent(aElements);
 
-  // FIXME: We could use nsTextControlFrame making the show password buttton
-  // code a bit more generic, or rename this frame and use it for password
-  // inputs.
-  //
   // Create the ::-moz-search-clear-button pseudo-element:
-  mClearButton = MakeAnonElement(PseudoStyleType::mozSearchClearButton, nullptr,
-                                 nsGkAtoms::button);
+  mButton = MakeAnonElement(PseudoStyleType::mozSearchClearButton, nullptr,
+                            nsGkAtoms::button);
 
-  aElements.AppendElement(mClearButton);
+  aElements.AppendElement(mButton);
 
   return NS_OK;
 }
-
-void nsSearchControlFrame::AppendAnonymousContentTo(
-    nsTArray<nsIContent*>& aElements, uint32_t aFilter) {
-  nsTextControlFrame::AppendAnonymousContentTo(aElements, aFilter);
-  if (mClearButton) {
-    aElements.AppendElement(mClearButton);
-  }
-}
diff --git a/layout/forms/nsSearchControlFrame.h b/layout/forms/nsSearchControlFrame.h
index 0499fa84ea519b086a253534106e659b92d017ed..b507277368d5befb1836bb5c011761ece20b20d8 100644
--- a/layout/forms/nsSearchControlFrame.h
+++ b/layout/forms/nsSearchControlFrame.h
@@ -40,12 +40,8 @@ class nsSearchControlFrame final : public nsTextControlFrame {
   NS_DECL_QUERYFRAME
   NS_DECL_FRAMEARENA_HELPERS(nsSearchControlFrame)
 
-  void Destroy(DestroyContext&) override;
-
   // nsIAnonymousContentCreator
   nsresult CreateAnonymousContent(nsTArray<ContentInfo>& aElements) override;
-  void AppendAnonymousContentTo(nsTArray<nsIContent*>& aElements,
-                                uint32_t aFilter) override;
 
 #ifdef DEBUG_FRAME_DUMP
   nsresult GetFrameName(nsAString& aResult) const override {
@@ -53,16 +49,10 @@ class nsSearchControlFrame final : public nsTextControlFrame {
   }
 #endif
 
-  Element* GetAnonClearButton() const { return mClearButton; }
-
   /**
    * Update visbility of the clear button depending on the value
    */
   void UpdateClearButtonState();
-
- private:
-  // See nsSearchControlFrame::CreateAnonymousContent of a description of these
-  RefPtr<Element> mClearButton;
 };
 
 #endif  // nsSearchControlFrame_h__
diff --git a/layout/forms/nsTextControlFrame.cpp b/layout/forms/nsTextControlFrame.cpp
index 91dba2043f7426247abd41cb4c4a3244a224b25e..cec50113e4b17adf1bb8f6eca8de6ca4cc3d75f0 100644
--- a/layout/forms/nsTextControlFrame.cpp
+++ b/layout/forms/nsTextControlFrame.cpp
@@ -168,7 +168,7 @@ void nsTextControlFrame::Destroy(DestroyContext& aContext) {
   aContext.AddAnonymousContent(mRootNode.forget());
   aContext.AddAnonymousContent(mPlaceholderDiv.forget());
   aContext.AddAnonymousContent(mPreviewDiv.forget());
-  aContext.AddAnonymousContent(mRevealButton.forget());
+  aContext.AddAnonymousContent(mButton.forget());
 
   nsContainerFrame::Destroy(aContext);
 }
@@ -188,7 +188,8 @@ LogicalSize nsTextControlFrame::CalcIntrinsicSize(gfxContext* aRenderingContext,
   const nscoord charMaxAdvance = fontMet->MaxAdvance();
 
   // Initialize based on the width in characters.
-  const int32_t cols = GetCols();
+  const Maybe<int32_t> maybeCols = GetCols();
+  const int32_t cols = maybeCols.valueOr(TextControlElement::DEFAULT_COLS);
   intrinsicSize.ISize(aWM) = cols * charWidth;
 
   // If we do not have what appears to be a fixed-width font, add a "slop"
@@ -203,12 +204,11 @@ LogicalSize nsTextControlFrame::CalcIntrinsicSize(gfxContext* aRenderingContext,
                         nsPresContext::CSSPixelsToAppUnits(4));
     internalPadding = RoundToMultiple(internalPadding, AppUnitsPerCSSPixel());
     intrinsicSize.ISize(aWM) += internalPadding;
-  } else {
+  } else if (PresContext()->CompatibilityMode() ==
+             eCompatibility_FullStandards) {
     // This is to account for the anonymous <br> having a 1 twip width
     // in Full Standards mode, see BRFrame::Reflow and bug 228752.
-    if (PresContext()->CompatibilityMode() == eCompatibility_FullStandards) {
-      intrinsicSize.ISize(aWM) += 1;
-    }
+    intrinsicSize.ISize(aWM) += 1;
   }
 
   // Increment width with cols * letter-spacing.
@@ -248,6 +248,14 @@ LogicalSize nsTextControlFrame::CalcIntrinsicSize(gfxContext* aRenderingContext,
       }
     }
   }
+
+  // Add the inline size of the button if our char size is explicit, so as to
+  // make sure to make enough space for it.
+  if (maybeCols.isSome() && mButton && mButton->GetPrimaryFrame()) {
+    intrinsicSize.ISize(aWM) +=
+        mButton->GetPrimaryFrame()->GetMinISize(aRenderingContext);
+  }
+
   return intrinsicSize;
 }
 
@@ -431,22 +439,21 @@ nsresult nsTextControlFrame::CreateAnonymousContent(
   // background on the placeholder doesn't obscure the caret.
   aElements.AppendElement(mRootNode);
 
+  rv = UpdateValueDisplay(false);
+  NS_ENSURE_SUCCESS(rv, rv);
+
   if ((StaticPrefs::layout_forms_reveal_password_button_enabled() ||
        PresContext()->Document()->ChromeRulesEnabled()) &&
       IsPasswordTextControl() &&
       StyleDisplay()->EffectiveAppearance() != StyleAppearance::Textfield) {
-    mRevealButton =
+    mButton =
         MakeAnonElement(PseudoStyleType::mozReveal, nullptr, nsGkAtoms::button);
-    mRevealButton->SetAttr(kNameSpaceID_None, nsGkAtoms::aria_hidden,
-                           u"true"_ns, false);
-    mRevealButton->SetAttr(kNameSpaceID_None, nsGkAtoms::tabindex, u"-1"_ns,
-                           false);
-    aElements.AppendElement(mRevealButton);
+    mButton->SetAttr(kNameSpaceID_None, nsGkAtoms::aria_hidden, u"true"_ns,
+                     false);
+    mButton->SetAttr(kNameSpaceID_None, nsGkAtoms::tabindex, u"-1"_ns, false);
+    aElements.AppendElement(mButton);
   }
 
-  rv = UpdateValueDisplay(false);
-  NS_ENSURE_SUCCESS(rv, rv);
-
   InitializeEagerlyIfNeeded();
   return NS_OK;
 }
@@ -561,8 +568,8 @@ void nsTextControlFrame::AppendAnonymousContentTo(
     aElements.AppendElement(mPreviewDiv);
   }
 
-  if (mRevealButton) {
-    aElements.AppendElement(mRevealButton);
+  if (mButton) {
+    aElements.AppendElement(mButton);
   }
 
   aElements.AppendElement(mRootNode);
@@ -599,13 +606,6 @@ Maybe<nscoord> nsTextControlFrame::ComputeBaseline(
               aReflowInput.ComputedLogicalBorderPadding(wm).BStart(wm));
 }
 
-static bool IsButtonBox(const nsIFrame* aFrame) {
-  auto pseudoType = aFrame->Style()->GetPseudoType();
-  return pseudoType == PseudoStyleType::mozNumberSpinBox ||
-         pseudoType == PseudoStyleType::mozSearchClearButton ||
-         pseudoType == PseudoStyleType::mozReveal;
-}
-
 void nsTextControlFrame::Reflow(nsPresContext* aPresContext,
                                 ReflowOutput& aDesiredSize,
                                 const ReflowInput& aReflowInput,
diff --git a/layout/forms/nsTextControlFrame.h b/layout/forms/nsTextControlFrame.h
index 2ba2388957d0c0a65f7443224f69f72df51781ae..57b2fe08ef2fc11824465ac9810dbec621d88bff 100644
--- a/layout/forms/nsTextControlFrame.h
+++ b/layout/forms/nsTextControlFrame.h
@@ -190,7 +190,11 @@ class nsTextControlFrame : public nsContainerFrame,
 
   Element* GetPlaceholderNode() const { return mPlaceholderDiv; }
 
-  Element* GetRevealButton() const { return mRevealButton; }
+  Element* GetButton() const { return mButton; }
+
+  bool IsButtonBox(const nsIFrame* aFrame) const {
+    return aFrame->GetContent() == GetButton();
+  }
 
   // called by the focus listener
   nsresult MaybeBeginSecureKeyboardInput();
@@ -207,7 +211,8 @@ class nsTextControlFrame : public nsContainerFrame,
   DEFINE_TEXTCTRL_CONST_FORWARDER(bool, IsSingleLineTextControl)
   DEFINE_TEXTCTRL_CONST_FORWARDER(bool, IsTextArea)
   DEFINE_TEXTCTRL_CONST_FORWARDER(bool, IsPasswordTextControl)
-  DEFINE_TEXTCTRL_CONST_FORWARDER(int32_t, GetCols)
+  DEFINE_TEXTCTRL_CONST_FORWARDER(Maybe<int32_t>, GetCols)
+  DEFINE_TEXTCTRL_CONST_FORWARDER(int32_t, GetColsOrDefault)
   DEFINE_TEXTCTRL_CONST_FORWARDER(int32_t, GetRows)
 
 #undef DEFINE_TEXTCTRL_CONST_FORWARDER
@@ -320,9 +325,9 @@ class nsTextControlFrame : public nsContainerFrame,
   RefPtr<Element> mRootNode;
   RefPtr<Element> mPlaceholderDiv;
   RefPtr<Element> mPreviewDiv;
-  // The Reveal Password button.  Only used for type=password, nullptr
-  // otherwise.
-  RefPtr<Element> mRevealButton;
+  // If we have type=password, number, or search, then mButton is our
+  // reveal-password, spinner, or search button box. Otherwise, it's nullptr.
+  RefPtr<Element> mButton;
   RefPtr<nsAnonDivObserver> mMutationObserver;
   // Cache of the |.value| of <input> or <textarea> element without hard-wrap.
   // If its IsVoid() returns true, it doesn't cache |.value|.
diff --git a/layout/generic/nsFontInflationData.cpp b/layout/generic/nsFontInflationData.cpp
index b510a62b0cfbbbf089b7d2d4201ce8e06b4b2b77..daa61d91f226bf072fcb6b69819056a4a89bff96 100644
--- a/layout/generic/nsFontInflationData.cpp
+++ b/layout/generic/nsFontInflationData.cpp
@@ -345,7 +345,8 @@ void nsFontInflationData::ScanTextIn(nsIFrame* aFrame) {
         // We don't want changes to the amount of text in a text input
         // to change what we count towards inflation.
         nscoord fontSize = kid->StyleFont()->mFont.size.ToAppUnits();
-        int32_t charCount = static_cast<nsTextControlFrame*>(kid)->GetCols();
+        int32_t charCount =
+            static_cast<nsTextControlFrame*>(kid)->GetColsOrDefault();
         mTextAmount += charCount * fontSize;
       } else if (fType == LayoutFrameType::ComboboxControl) {
         // See textInputFrame above (with s/amount of text/selected option/).
diff --git a/layout/reftests/svg/text/reftest.list b/layout/reftests/svg/text/reftest.list
index 24477fdb995b64c1cc9a0881f0b6fc6014e7fa4b..597f1dc31e6fb09037a71976a3b0e03f024da0bc 100644
--- a/layout/reftests/svg/text/reftest.list
+++ b/layout/reftests/svg/text/reftest.list
@@ -201,10 +201,10 @@ fuzzy(0-1,0-250) needs-focus == selectSubString.svg selectSubString-ref.svg
 fuzzy(0-1,0-600) needs-focus == selectSubString-2.svg selectSubString-2-ref.svg
 fuzzy(0-1,0-250) needs-focus == selectSubString-3.svg selectSubString-3-ref.svg
 fuzzy-if(!geckoview,0-1,0-237) needs-focus fuzzy-if(winWidget,55-148,200-254) == simple-selection.svg simple-selection-ref.html
-fuzzy(0-1,0-100) needs-focus fuzzy-if(winWidget,55-148,200-318) == simple-bidi-selection.svg simple-bidi-selection-ref.html
-fuzzy(0-1,0-50) needs-focus fuzzy-if(winWidget,55-148,200-254) fuzzy-if(cocoaWidget,1-65,19-196) == simple-fill-color-selection.svg simple-fill-color-selection-ref.html
-fuzzy(0-1,0-150) needs-focus fuzzy-if(winWidget,125-148,221-254) == simple-underline-selection.svg simple-underline-selection-ref.html # Bug 1392106
-fuzzy(0-1,0-300) needs-focus fuzzy-if(Android13,0-3,0-926) fuzzy-if(winWidget,134-152,432-501) == multiple-text-selection.svg multiple-text-selection-ref.html # Bug 1392106
+fuzzy(0-1,0-575) needs-focus fuzzy-if(winWidget,55-148,200-318) == simple-bidi-selection.svg simple-bidi-selection-ref.html
+fuzzy(0-1,0-237) needs-focus fuzzy-if(winWidget,55-148,200-254) fuzzy-if(cocoaWidget,1-65,19-196) == simple-fill-color-selection.svg simple-fill-color-selection-ref.html
+fuzzy(0-1,0-222) needs-focus fuzzy-if(winWidget,125-148,221-254) == simple-underline-selection.svg simple-underline-selection-ref.html # Bug 1392106
+fuzzy(0-1,0-934) needs-focus fuzzy-if(Android13,0-3,0-926) fuzzy-if(winWidget,134-152,432-501) == multiple-text-selection.svg multiple-text-selection-ref.html # Bug 1392106
 needs-focus == multiple-chunks-selection.svg multiple-chunks-selection-ref.svg
 fuzzy(0-1,0-200) needs-focus == textpath-selection.svg textpath-selection-ref.svg
 
diff --git a/media/webrtc/signaling/gtest/jsep_session_unittest.cpp b/media/webrtc/signaling/gtest/jsep_session_unittest.cpp
index 71b3141cf8a78cac79b89d214b925ed9302bf7f2..e6551d630fe3f84d35c6fc22bdd383e615cb1bed 100644
--- a/media/webrtc/signaling/gtest/jsep_session_unittest.cpp
+++ b/media/webrtc/signaling/gtest/jsep_session_unittest.cpp
@@ -66,6 +66,7 @@ class JsepSessionTest : public JsepSessionTestBase,
                             "never");
     Preferences::SetBool("media.peerconnection.video.use_rtx", true);
     Preferences::SetBool("media.navigator.video.use_transport_cc", true);
+    Preferences::SetBool("media.navigator.video.disable_h264_baseline", false);
 
     mSessionOff =
         MakeUnique<JsepSessionImpl>("Offerer", MakeUnique<FakeUuidGenerator>());
diff --git a/mobile/android/android-components/components/browser/engine-system/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/browser/engine-system/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4bec8a92028d34b4929d6d7ab5b59ba5305ee29c
--- /dev/null
+++ b/mobile/android/android-components/components/browser/engine-system/src/main/res/values-meh/strings.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Text for the title of an alert dialog displayed by a web page. %1$s will be replaced with the URL of the current page (displaying the dialog). -->
+    <string name="mozac_browser_engine_system_alert_title">Página nuu %1$s kachi:</string>
+    <!-- Text for the message of an auth dialog displayed by a web page.
+    %1$s will be replaced by the hostname or a description of the protected area/site, %2$s will be replaced with the URL of the current page (displaying the dialog). -->
+    <string name="mozac_browser_engine_system_auth_message">%2$s jiniñu\'u sivɨnu jíí contraseña noo\'o. Sitio ya\'a kachí: “%1$s”</string>
+    <!-- Text for the message of an auth dialog displayed by a web page. %1$s will be replaced with the URL of the current page (displaying the dialog). -->
+    <string name="mozac_browser_engine_system_auth_no_realm_message">%1$s jiniñu\'u sivɨ jíí contraseña noo\'o.</string>
+</resources>
diff --git a/mobile/android/android-components/components/browser/errorpages/src/main/res/values-co/strings.xml b/mobile/android/android-components/components/browser/errorpages/src/main/res/values-co/strings.xml
index 3006d727f3818ba9b73ebd38153e7c0e6faf3746..f93184c1c9d363514bd05d0e9b7c76579cb7ec8c 100644
--- a/mobile/android/android-components/components/browser/errorpages/src/main/res/values-co/strings.xml
+++ b/mobile/android/android-components/components/browser/errorpages/src/main/res/values-co/strings.xml
@@ -253,7 +253,7 @@
     <string name="mozac_browser_errorpages_proxy_connection_refused_message"><![CDATA[
       <p>U navigatore hè cunfiguratu per impiegà un servitore proxy, ma quessu hà ricusatu a cunnessione.</p>
       <ul>
-        <li>Hè curretta a cunfigurazione proxy di u navigatore ? Verificate e preferenze è pruvate torna.</li>
+        <li>Hè curretta a cunfigurazione proxy di u navigatore ? Verificate i parametri è pruvate torna.</li>
         <li>U serviziu proxy permette e cunnessioni da sta reta ?</li>
         <li>Avete sempre penseru ? Cuntattate u vostru amministratore di a reta o u vostru furnidore d’accessu à internet per ottene un aiutu.</li>
       </ul>
@@ -264,7 +264,7 @@
     <string name="mozac_browser_errorpages_unknown_proxy_host_message"><![CDATA[
       <p>U navigatore hè cunfiguratu per impiegà un servitore proxy, ma quessu ùn si trova micca.</p>
       <ul>
-        <li>Hè curretta a cunfigurazione proxy di u navigatore ? Verificate e preferenze è pruvate torna.</li>
+        <li>Hè curretta a cunfigurazione proxy di u navigatore ? Verificate i parametri è pruvate torna.</li>
         <li>Hè cunnessu à una reta attiva, l’apparechju ?</li>
         <li>Avete sempre penseru ? Cuntattate u vostru amministratore di a reta o u vostru furnidore d’accessu à internet per ottene un aiutu.</li>
       </ul>]]></string>
diff --git a/mobile/android/android-components/components/browser/errorpages/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/browser/errorpages/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..992035b6b32110a144e5b6c2135969dc8f19d5ab
--- /dev/null
+++ b/mobile/android/android-components/components/browser/errorpages/src/main/res/values-meh/strings.xml
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:tools="http://schemas.android.com/tools" xmlns:moz="http://mozac.org/tools">
+    <!-- The button that appears at the bottom of an error page. -->
+    <string name="mozac_browser_errorpages_page_refresh">Nakivɨ tuku</string>
+
+    <!-- The document title and heading of an error page shown when a website cannot be loaded for an unknown reason. -->
+    <string name="mozac_browser_errorpages_generic_title">Ntu nkuvi sá´á ya´a</string>
+
+    <!-- The error message shown when a website cannot be loaded for an unknown reason. -->
+    <string name="mozac_browser_errorpages_generic_message"><![CDATA[<p>Información jiee tixin ya\'a ntu íyo ntañu\'un.</p>]]></string>
+
+    <!-- The document title and heading of the error page shown when a website sends back unusual and incorrect credentials for an SSL certificate. -->
+    <string name="mozac_browser_errorpages_security_ssl_title">Ntu nkuvi sá´á conexión vatu</string>
+
+    <!-- The error message shown when a website sends back unusual and incorrect credentials for an SSL certificate. -->
+    <string name="mozac_browser_errorpages_security_ssl_message"><![CDATA[<ul>
+        <li>Nuu kuvinu kivɨnu ntu kuvi síne jíe daa datos nkanta ntu kuvi túvi dee íyo vatu.</li>
+        <li>Nei koo ininu ka´an jii ñivɨ ke´í sitio web ya´a.</li>
+      </ul>]]></string>
+
+    <!-- The document title and heading of the error page shown when a website sends has an invalid or expired SSL certificate. -->
+    <string name="mozac_browser_errorpages_security_bad_cert_title">Conexión va\'a ntu nkuvi sá´á</string>
+
+    <!-- The error message shown when a website sends has an invalid or expired SSL certificate. -->
+    <string name="mozac_browser_errorpages_security_bad_cert_message"><![CDATA[<ul>
+		<li>Sa̱naan kuvi iin problema jii configuración ka̱a̱ servidor a xíín íyo neva kuvi sa´a xeen.</li>
+		<li>Dee a kivɨ-nu servidor ya´a íchi yata sa̱naan kuvi iin error nkuvi sa̱naan, kuvi nakivɨ-nu íchika dee nníní.</li>
+	</ul>]]></string>
+
+    <!-- The text shown inside the advanced button used to expand the advanced options. It's only shown when a website has an invalid SSL certificate. -->
+    <string name="mozac_browser_errorpages_security_bad_cert_advanced">Avanzado…</string>
+    <!-- The advanced certificate information shown when a website sends has an invalid SSL certificate. The %1$s will be replaced by the app name and %2$s will be replaced by website URL. It's only shown when a website has an invalid SSL certificate. -->
+    <string name="mozac_browser_errorpages_security_bad_cert_techInfo"><![CDATA[<label>Sana kuvi kantu\'uda noo\'o jíí nuu ya\'a jee ntu nejika kɨ\'ɨnu. </label>
+        <br><br>
+        <label>Daa nuu web sa probar da identidad jíí daa certificados. %1$s a ntu kanijianu <b>%2$s</b> jiee emisor certificado kuviji desconocido, certificado íyo autofirmado a xíín ka̱a̱ servidor ntu kuvi chu\'un íchi daa certificados intermedios vatu.</label>]]></string>
+    <!-- The text shown inside the advanced options button used to go back. It's only shown if the user has expanded the advanced options. -->
+    <string name="mozac_browser_errorpages_security_bad_cert_back">Niko (Recomendado)</string>
+    <!-- The text shown inside the advanced options button used to bypass the invalid SSL certificate. It's only shown if the user has expanded the advanced options. -->
+    <string name="mozac_browser_errorpages_security_bad_cert_accept_temporary">Kuka´nu inini jiee ya\'a kaka</string>
+
+    <!-- The document title and heading of the error page shown when a website uses HSTS. -->
+    <string name="mozac_browser_errorpages_security_bad_hsts_cert_title">Nuu ya\'a jiniñu\'u iin conexión va\'a.</string>
+
+    <!-- The text shown inside the advanced button used to expand the advanced options. It's only shown when a website uses HSTS. -->
+    <string name="mozac_browser_errorpages_security_bad_hsts_cert_advanced">Opciones avanzadas…</string>
+
+    <!-- The text shown inside the advanced options button used to go back. It's only shown if the user has expanded the advanced options. -->
+    <string name="mozac_browser_errorpages_security_bad_hsts_cert_back">Niko yata</string>
+
+    <!-- The document title and heading of the error page shown when the user's network connection is interrupted while connecting to a website. -->
+    <string name="mozac_browser_errorpages_net_interrupt_title">Ntu nkuvi sá´á conexión</string>
+
+    <!-- The document title and heading of the error page shown when a website takes too long to load. -->
+    <string name="mozac_browser_errorpages_net_timeout_title">Nnɨ´ɨ tiempo netu conexión</string>
+
+    <!-- The error message shown when a website took long to load. -->
+    <string name="mozac_browser_errorpages_net_timeout_message"><![CDATA[<p>Sitio jiniñu\'unu ntu kuvi síne jee ka̱a̱ nánuku nsiankuiñɨ</p>
+	<ul>
+		<li>¿Sana kue\'e ñivɨ kuvi kivɨ nu ka̱a̱ servidor a xíín nna\'va? Kunetu jee nakivɨ tuku</li>
+		<li>¿A ntu kuvi kakanu nu inka daa nuu? Kune\'ya conexión ka̱a̱</li>
+		<li>¿Red a xíín ka̱a̱nu íyo va\'a jii iin Firewall a xíín in Proxy?. Iin a nke\'i ntu vatu sanan sá´á a ntu kuvi jikanu nu Web</li>
+		<li>¿A ndea nuvi? Ka\'an jíí tee teniñu nu red a xíín ñivɨ xiko Internet sa kuvi chineida noo\'o.</li>
+	</ul>]]></string>
+
+    <!-- The document title and heading of the error page shown when a website could not be reached. -->
+    <string name="mozac_browser_errorpages_connection_failure_title">Ntu nkuvi kivɨ</string>
+
+    <!-- The error message shown when a website could not be reached. -->
+    <string name="mozac_browser_errorpages_connection_failure_message"><![CDATA[<ul>
+		<li>Sitio ya´a ntu kuvi síne a xíín kue´e ñɨvɨ ni´i ya´a.</li>
+		<li>Dee ntu kuvi síne iin página, kune´ya conexión Wi-Fi a xiin datos ka̱a̱ noo´o</li>
+	</ul>]]></string>
+
+    <!-- The document title and heading of the error page shown when a website responds in an unexpected way and the browser cannot continue. -->
+    <string name="mozac_browser_errorpages_unknown_socket_type_title">Ntu nnaka´a vatu servidor</string>
+
+    <!-- The error message shown when a website responds in an unexpected way and the browser cannot continue. -->
+    <string name="mozac_browser_errorpages_unknown_socket_type_message"><![CDATA[<p>Sitio ya\'a ntu nsíne vatu jee nkuvi kaka ka̱a̱ nánuku.</p>]]></string>
+
+    <!-- The document title and heading of the error page shown when the browser gets stuck in an infinite loop when loading a website. -->
+    <string name="mozac_browser_errorpages_redirect_loop_title">Ntu sá´á vatu redirección página ya´a</string>
+
+    <!-- The document title and heading of the error page shown when a website cannot be loaded because the browser is in offline mode. -->
+    <string name="mozac_browser_errorpages_offline_title">Modo ntu conexión</string>
+
+    <!-- The error message shown when a website cannot be loaded because the browser is in offline mode. -->
+    <string name="mozac_browser_errorpages_offline_message"><![CDATA[<p>Ka̱a̱ satiñu jee ntu íyo conexión jee ntu kuviji kivɨ jíí elemento jiniñu\'unu</p>
+	<ul>
+		<li>¿A íyonu conectado noo\'o nu iin red activa?</li>
+		<li>Kuaxin "Nakivɨ tuku" sa kuvi sá\'á conexión jee nachu\'un tuku página.</li>
+	</ul>]]></string>
+
+    <!-- The document title and heading of the error page shown when the browser prevents loading a website on a restricted port. -->
+    <string name="mozac_browser_errorpages_port_blocked_title">Puerto nkuvi kivunu jííe razones de seguridad</string>
+
+    <!-- The document title and heading of the error page shown when the Internet connection is disrupted while loading a website. -->
+    <string name="mozac_browser_errorpages_net_reset_title">Nnakajie´e tuku conexión</string>
+
+    <!-- The document title and heading of the error page shown when the browser refuses to load a type of file that is considered unsafe. -->
+    <string name="mozac_browser_errorpages_unsafe_content_type_title">Tipo archivo ntu túvi va´a</string>
+
+    <!-- The error message shown when the browser refuses to load a type of file that is considered unsafe. -->
+    <string name="mozac_browser_errorpages_unsafe_content_type_message"><![CDATA[<ul>
+		<li>Nei koo ininu ka´an jii ñivɨ ke´í sitio web ya´a a ntu kuvi kivɨ-nu saa kuvi nasá´á-da</li>
+	</ul>]]></string>
+
+    <!-- The document title and heading of the error page shown when a file cannot be loaded because of a detected data corruption. -->
+    <string name="mozac_browser_errorpages_corrupted_content_title">Error jiee contenido ntívɨ</string>
+
+    <!-- The error message shown when shown when a file cannot be loaded because of a detected data corruption. -->
+    <string name="mozac_browser_errorpages_corrupted_content_message"><![CDATA[<p>Página kuvi sínenu ntu kuvi túvi jiee iin error nuu transmisión datos.</p><ul><li>Ka´an jii ñivɨ ke´í sitio web ya´a saa kuvi nasá´áda.</li>
+      </ul>]]></string>
+
+    <!-- The document title and heading of an error page. -->
+    <string name="mozac_browser_errorpages_content_crashed_title">Contenido íyo bloqueado</string>
+
+    <string name="mozac_browser_errorpages_content_crashed_message"><![CDATA[<p>Página kuvi sínenu ntu kuvi túvi jiee iin error nuu transferencia datos.</p><ul><li>Ka´an jii ñivɨ ke´í sitio web ya´a saa kuvi nasá´áda.</li>
+      </ul>]]></string>
+
+    <!-- The document title and heading of an error page. -->
+    <string name="mozac_browser_errorpages_invalid_content_encoding_title">Error codificación contenido</string>
+
+    <string name="mozac_browser_errorpages_invalid_content_encoding_message"><![CDATA[<p>Página kuvi sínenu ntu kuvi túvi jiee iin errror comprensión.</p><ul><li>Ka´an jii ñivɨ ke´í sitio web ya´a saa kuvi nasá´áda.</li>
+      </ul>]]></string>
+
+    <!-- The document title and heading of an error page. -->
+    <string name="mozac_browser_errorpages_unknown_host_title">Ntu nnani´i nuu</string>
+
+    <!-- In the example, the two URLs in markup do not need to be translated. -->
+    <string name="mozac_browser_errorpages_unknown_host_message"><![CDATA[<p>Ka̱a̱ nánuku ntu kuvi nani\'i ka̱a̱ servidor jíí nuu ntajinu</p>
+      <ul>
+        <li>Kune\'ya de nuu ntu kumi error, kua:
+          <strong>ww</strong>.ejemplo.com nejika kachi kua
+          <strong>www</strong>.ejemplo.com.</li>
+        <li>De ntu kuvi síne ni\'i página, kune\'ya conexión Wifi a xíín datos ka̱a̱ noo\'o.</li>
+      </ul>]]></string>
+
+    <!-- The document title and heading of an error page. -->
+    <string name="mozac_browser_errorpages_no_internet_title">Ntu íyo ka̱a̱ nántu´un ne jíka</string>
+    <!-- The main body text of this error page. It will be shown beneath the title -->
+    <string name="mozac_browser_errorpages_no_internet_message">Kune\'ya conexión red noo\'o a xíín nachu\'un tuku nuu página íchika.</string>
+    <!-- Text that will show up on the button at the bottom of the error page -->
+    <string name="mozac_browser_errorpages_no_internet_refresh_button">Nachu\'un tuku</string>
+
+    <!-- The document title and heading of an error page. -->
+    <string name="mozac_browser_errorpages_malformed_uri_title">Ntu íyo vatu nuu</string>
+
+    <string name="mozac_browser_errorpages_malformed_uri_message"><![CDATA[<p>Nuu tajinu ntu kuvi iin tu\'un vatu. Kune\'ya de ntu nkumiji errores nu barra da nuu jee nachu\'un tuku</p>]]></string>
+    <!-- The document title and heading of an error page. -->
+    <string name="mozac_browser_errorpages_malformed_uri_title_alternative">Dirección ntu vatu</string>
+
+    <!-- This string contains markup. The URL should not be localized. -->
+    <string name="mozac_browser_errorpages_malformed_uri_message_alternative"><![CDATA[<ul>
+  <li>Daa nuu Web ntaka ichi íyo sukuan <strong>http://www.example.com/</strong></li>
+  <li>Kune´yá de ni´í nijin-nu daa barras sukuan (kua ya´a. <strong>/</strong>).</li>
+</ul>]]></string>
+
+    <!-- The document title and heading of an error page. -->
+    <string name="mozac_browser_errorpages_unknown_protocol_title">Protocolo desconocido</string>
+
+    <!-- The document title and heading of an error page. -->
+    <string name="mozac_browser_errorpages_file_not_found_title">Ntu nkuvi nani\'i archivo</string>
+
+    <!-- The document title and heading of an error page. -->
+    <string name="mozac_browser_errorpages_file_access_denied_title">Ntu kuvi síne archivo</string>
+
+    <string name="mozac_browser_errorpages_file_access_denied_message"><![CDATA[<ul>
+		<li>Sa̱naan nxita ya´a, nkáná, a xiin na íyo permiso archivo jee ntu kuvi kivɨnu.</li>
+	</ul>]]></string>
+
+    <!-- The document title and heading of an error page. -->
+    <string name="mozac_browser_errorpages_proxy_connection_refused_title">Ka̱a̱ servidor proxy ntu nkuvi sá´á conexión.</string>
+
+    <!-- The document title and heading of an error page. -->
+    <string name="mozac_browser_errorpages_unknown_proxy_host_title">Ntu nani´í ka̱a̱ servidor</string>
+
+    <!-- The document title and heading of an error page. -->
+    <string name="mozac_browser_errorpages_safe_browsing_malware_uri_title">Tixin jíí sitio malicioso</string>
+
+    <!-- The %1$s will be replaced by the malicious website URL-->
+    <string name="mozac_browser_errorpages_safe_browsing_malware_uri_message"><![CDATA[<p>Sitio %1$s nkachi-da a kuvi sa´a xeen jee nchi yu´u danimaja saa kumi-ani maanu.</p>]]></string>
+
+    <!-- The document title and heading of an error page. -->
+    <string name="mozac_browser_errorpages_safe_browsing_unwanted_uri_title">Tixin jíí sitio ntu jiniñu\'oma</string>
+    <!-- The %1$s will be replaced by the malicious website URL-->
+    <string name="mozac_browser_errorpages_safe_browsing_unwanted_uri_message"><![CDATA[<p>Nuu %1$s nkachi-da a ntu íyo vatu sa̱naan kuvi iin sitio jii software sa´a xeen jee nchi yu´u danimaja saa kumi-ani noo\'o.</p>]]></string>
+
+    <!-- The document title and heading of an error page. -->
+    <string name="mozac_browser_errorpages_safe_harmful_uri_title">Tixin jíí sitio dañino</string>
+
+    <!-- The %1$s will be replaced by the malicious website URL-->
+    <string name="mozac_browser_errorpages_safe_harmful_uri_message"><![CDATA[<p>Sitio %1$s nkachida a kuvi sá´á xeen jee nchi yu´u danimaja saa kumiani noo\'o.</p>]]></string>
+
+    <!-- The document title and heading of an error page. -->
+    <string name="mozac_browser_errorpages_safe_phishing_uri_title">Ntu túvi va´a nuu ya´a</string>
+
+    <!-- The %1$s will be replaced by the malicious website URL-->
+    <string name="mozac_browser_errorpages_safe_phishing_uri_message"><![CDATA[<p>Nuu web %1$s nkachi-da a ntu íyo vatu sa̱naan kuvi sá´á xeen jee nchi yu´u danimaja saa kumi-ani noo\'o.</p>]]></string>
+
+    <!-- The title of the error page for websites that do not support HTTPS when HTTPS-Only is turned on -->
+    <string name="mozac_browser_errorpages_httpsonly_title">Sitio va\'a ntu íyo tiñu</string>
+    <!-- The text of the error page for websites that do not support HTTPS when HTTPS-Only is turned on. %1$s will be replaced with the URL of the website. -->
+    <string name="mozac_browser_errorpages_httpsonly_message"><![CDATA[Has habilitado el modo solo HTTPS para mejorar la seguridad pero no está disponible una versión HTTPS de <em>%1$s</em>.]]></string>
+    <!-- Button on error page for websites that do not support HTTPS when HTTPS-Only is turned on. Clicking the button allows the user to nevertheless load the website using HTTP. -->
+    <string name="mozac_browser_errorpages_httpsonly_button">Kaka nuu HTTP</string>
+</resources>
diff --git a/mobile/android/android-components/components/browser/menu/src/main/res/values-ca/strings.xml b/mobile/android/android-components/components/browser/menu/src/main/res/values-ca/strings.xml
index ef7862ac76803d2d0942f47190abeb97b6604514..bd451194890c0d1a24803d100288ea1340c40307 100644
--- a/mobile/android/android-components/components/browser/menu/src/main/res/values-ca/strings.xml
+++ b/mobile/android/android-components/components/browser/menu/src/main/res/values-ca/strings.xml
@@ -10,4 +10,6 @@
     <string name="mozac_browser_menu_extensions_manager">Gestor d\'extensions</string>
     <!-- Content description for the action bar "up" button -->
     <string name="action_bar_up_description">Navega amunt</string>
-    </resources>
+    <!-- Content description for the action bar "up" button of the extensions sub menu item -->
+    <string name="mozac_browser_menu_extensions_content_description">Extensions, navega cap amunt</string>
+</resources>
diff --git a/mobile/android/android-components/components/browser/menu/src/main/res/values-kmr/strings.xml b/mobile/android/android-components/components/browser/menu/src/main/res/values-kmr/strings.xml
index c977c1edc4b92c64fee7999444a3a7dbf3524648..9f902aff2ed79d660649ee9528167e2de111ecee 100644
--- a/mobile/android/android-components/components/browser/menu/src/main/res/values-kmr/strings.xml
+++ b/mobile/android/android-components/components/browser/menu/src/main/res/values-kmr/strings.xml
@@ -3,13 +3,9 @@
     <!-- Content description (not visible, for screen readers etc.): Description for the overflow menu button in the browser toolbar. -->
     <string name="mozac_browser_menu_button">Menû</string>
     <!-- Content description (not visible, for screen readers etc.): Indicates the overflow menu has a highlight -->
-    <string name="mozac_browser_menu_highlighted">Berbiçavkirî</string>
-    <!-- Label for add-ons submenu section -->
-    <string name="mozac_browser_menu_addons">Pêvek</string>
-    <!-- Label for add-ons sub menu item for add-ons manager -->
-    <string name="mozac_browser_menu_addons_manager">Rêvebera pêvekan</string>
+    <string name="mozac_browser_menu_highlighted">Pêşdederketî</string>
+    <!-- Label for extensions submenu section -->
+    <string name="mozac_browser_menu_extensions">Pêvek</string>
     <!-- Content description for the action bar "up" button -->
     <string name="action_bar_up_description">Here jorê</string>
-    <!-- Content description for the action bar "up" button of the add-ons sub menu item -->
-    <string name="mozac_browser_menu_addons_description">Pêvek, bi jorê ve here</string>
     </resources>
diff --git a/mobile/android/android-components/components/browser/menu/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/browser/menu/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..19c86a793a601fc5f87176f919f4d7d204275af1
--- /dev/null
+++ b/mobile/android/android-components/components/browser/menu/src/main/res/values-meh/strings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:tools="http://schemas.android.com/tools" xmlns:moz="http://mozac.org/tools">
+    <!-- Content description (not visible, for screen readers etc.): Description for the overflow menu button in the browser toolbar. -->
+    <string name="mozac_browser_menu_button">Kají</string>
+    <!-- Content description (not visible, for screen readers etc.): Indicates the overflow menu has a highlight -->
+    <string name="mozac_browser_menu_highlighted">A xinañu\'u</string>
+    <!-- Label for add-ons submenu section -->
+    <string name="mozac_browser_menu_addons" moz:removedIn="126" tools:ignore="UnusedResources">Ka̱a̱ chunta´an</string>
+    <!-- Label for extensions submenu section -->
+    <string name="mozac_browser_menu_extensions">Extensiones</string>
+    <!-- Label for add-ons sub menu item for add-ons manager -->
+    <string name="mozac_browser_menu_addons_manager" moz:removedIn="126" tools:ignore="UnusedResources">Ke\'i ka̱a̱ chunta´an</string>
+    <!-- Label for extensions sub menu item for extensions manager -->
+    <string name="mozac_browser_menu_extensions_manager">Nu ke\'i da extensiones</string>
+    <!-- Content description for the action bar "up" button -->
+    <string name="action_bar_up_description">Kaka íchi sikɨ</string>
+    <!-- Content description for the action bar "up" button of the add-ons sub menu item -->
+    <string name="mozac_browser_menu_addons_description" moz:removedIn="126" tools:ignore="UnusedResources">Daa ka̱a̱ chunta\'an, kaka íchi sikɨ</string>
+    <!-- Content description for the action bar "up" button of the extensions sub menu item -->
+    <string name="mozac_browser_menu_extensions_content_description">Extensiones, kaka íchi sikɨ</string>
+</resources>
diff --git a/mobile/android/android-components/components/browser/menu2/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/browser/menu2/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e22ff3897e52f2946a26af8ce2f36222db77b450
--- /dev/null
+++ b/mobile/android/android-components/components/browser/menu2/src/main/res/values-meh/strings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Content description (not visible, for screen readers etc.): Description for the overflow menu button in the browser toolbar. -->
+    <string name="mozac_browser_menu2_button">Kají</string>
+    <!-- Content description (not visible, for screen readers etc.): Indicates the overflow menu has a highlight -->
+    <string name="mozac_browser_menu2_highlighted">A xinañu\'u</string>
+</resources>
diff --git a/mobile/android/android-components/components/browser/toolbar/src/main/res/values-co/strings.xml b/mobile/android/android-components/components/browser/toolbar/src/main/res/values-co/strings.xml
index 5c1db9a3b0d24f0a628f28c3b773b7e010cdbec4..4ab55149aa649e3bf656728c806207a42156efb8 100644
--- a/mobile/android/android-components/components/browser/toolbar/src/main/res/values-co/strings.xml
+++ b/mobile/android/android-components/components/browser/toolbar/src/main/res/values-co/strings.xml
@@ -15,5 +15,5 @@
     <!-- Announcement made by the screen reader when the progress bar is shown and a page is loading -->
     <string name="mozac_browser_toolbar_progress_loading">Caricamentu…</string>
     <!-- Content description: For the autoplay toolbar icon, it is set when the auto play permission is blocking content playing.-->
-    <string name="mozac_browser_toolbar_content_description_autoplay_blocked">Certi cuntenuti sò stati bluccati da a preferenza di lettura autumatica</string>
+    <string name="mozac_browser_toolbar_content_description_autoplay_blocked">Certi cuntenuti sò stati bluccati da u parametru di lettura autumatica</string>
 </resources>
diff --git a/mobile/android/android-components/components/browser/toolbar/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/browser/toolbar/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1ed478f291dadb99b34846a10581b370ec4c96ae
--- /dev/null
+++ b/mobile/android/android-components/components/browser/toolbar/src/main/res/values-meh/strings.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Content description (not visible, for screen readers etc.): Description for the overflow menu button in the browser toolbar. -->
+    <string name="mozac_browser_toolbar_menu_button">Kají</string>
+    <string name="mozac_clear_button_description">Sá´á noo</string>
+    <!-- Content description: For the tracking protection toolbar icon, it is set when the site has tracking protection enabled, but none trackers have been blocked or detected. -->
+    <string name="mozac_browser_toolbar_content_description_tracking_protection_on_no_trackers_blocked">A kumi nkutadaja noo\'o satiñu ntañu\'u</string>
+    <!-- Content description: For the tracking protection toolbar icon, it is set when the site has tracking protection enabled, and trackers have been blocked or detected.-->
+    <string name="mozac_browser_toolbar_content_description_tracking_protection_on_trackers_blocked1">La protección contra rastreo nnasɨ daa rastreadores</string>
+    <!-- Content description: For the tracking protection toolbar icon, it is set when the site has tracking protection disabled.-->
+    <string name="mozac_browser_toolbar_content_description_tracking_protection_off_for_a_site1">La protección contra rastreo está desactivada para este sitio</string>
+    <!-- Content description: For the site security information icon (the site security icon).-->
+    <string name="mozac_browser_toolbar_content_description_site_info">Kue´eka tu´un</string>
+    <!-- Announcement made by the screen reader when the progress bar is shown and a page is loading -->
+    <string name="mozac_browser_toolbar_progress_loading">Kunetu</string>
+    </resources>
diff --git a/mobile/android/android-components/components/browser/toolbar2/src/main/res/values-am/strings.xml b/mobile/android/android-components/components/browser/toolbar2/src/main/res/values-am/strings.xml
index eda99f879b03d8591fc42ec6bc296fa07862bbec..1889c08a7e9596abae2d7ff51f66af4a99a812e3 100644
--- a/mobile/android/android-components/components/browser/toolbar2/src/main/res/values-am/strings.xml
+++ b/mobile/android/android-components/components/browser/toolbar2/src/main/res/values-am/strings.xml
@@ -2,6 +2,7 @@
 <resources>
     <!-- Content description (not visible, for screen readers etc.): Description for the overflow menu button in the browser toolbar. -->
     <string name="mozac_browser_toolbar_menu_button">ምናሌ</string>
+    <!-- Content description: For the clear URL text button. -->
     <string name="mozac_clear_button_description">አጽዳ</string>
     <!-- Content description: For the tracking protection toolbar icon, it is set when the site has tracking protection enabled, but none trackers have been blocked or detected. -->
     <string name="mozac_browser_toolbar_content_description_tracking_protection_on_no_trackers_blocked">የመከታተያ ጥበቃ በርቷል</string>
diff --git a/mobile/android/android-components/components/browser/toolbar2/src/main/res/values-co/strings.xml b/mobile/android/android-components/components/browser/toolbar2/src/main/res/values-co/strings.xml
index 2a309bb0b3aa21b51daa2032bbfc22bee01c950b..429c25b398766bbcef9a57708afc00439d8fb006 100644
--- a/mobile/android/android-components/components/browser/toolbar2/src/main/res/values-co/strings.xml
+++ b/mobile/android/android-components/components/browser/toolbar2/src/main/res/values-co/strings.xml
@@ -15,5 +15,5 @@
     <!-- Announcement made by the screen reader when the progress bar is shown and a page is loading -->
     <string name="mozac_browser_toolbar_progress_loading">Caricamentu in corsu</string>
     <!-- Content description: For the autoplay toolbar icon, it is set when the auto play permission is blocking content playing.-->
-    <string name="mozac_browser_toolbar_content_description_autoplay_blocked">Certi cuntenuti sò stati bluccati da a preferenza di lettura autumatica</string>
+    <string name="mozac_browser_toolbar_content_description_autoplay_blocked">Certi cuntenuti sò stati bluccati da u parametru di lettura autumatica</string>
 </resources>
diff --git a/mobile/android/android-components/components/browser/toolbar2/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/browser/toolbar2/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..eddae47d3c13c8e78756ab588ebadc373d4dc379
--- /dev/null
+++ b/mobile/android/android-components/components/browser/toolbar2/src/main/res/values-meh/strings.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Content description (not visible, for screen readers etc.): Description for the overflow menu button in the browser toolbar. -->
+    <string name="mozac_browser_toolbar_menu_button">Menú</string>
+    <!-- Content description: For the clear URL text button. -->
+    <string name="mozac_clear_button_description">Sá´á noo</string>
+    <!-- Content description: For the tracking protection toolbar icon, it is set when the site has tracking protection enabled, but none trackers have been blocked or detected. -->
+    <string name="mozac_browser_toolbar_content_description_tracking_protection_on_no_trackers_blocked">A kumi nkutadaja noo\'o satiñu ntañu\'u</string>
+    <!-- Content description: For the tracking protection toolbar icon, it is set when the site has tracking protection enabled, and trackers have been blocked or detected.-->
+    <string name="mozac_browser_toolbar_content_description_tracking_protection_on_trackers_blocked1">La protección contra rastreo nnasɨ daa rastreadores</string>
+    <!-- Announcement made by the screen reader when the progress bar is shown and a page is loading -->
+    <string name="mozac_browser_toolbar_progress_loading">Kunetu</string>
+    </resources>
diff --git a/mobile/android/android-components/components/compose/awesomebar/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/compose/awesomebar/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a2a6d7aba41277afb15d5a593786917bc6da9b70
--- /dev/null
+++ b/mobile/android/android-components/components/compose/awesomebar/src/main/res/values-meh/strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Description for the button to accept the search suggestion and continue editing the search. -->
+    <string name="mozac_browser_awesomebar_edit_suggestion">Kuvi jee natee sugerencia</string>
+</resources>
diff --git a/mobile/android/android-components/components/compose/browser-toolbar/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/compose/browser-toolbar/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5b82c7fd9bc23eee460391b68e93442e879538d8
--- /dev/null
+++ b/mobile/android/android-components/components/compose/browser-toolbar/src/main/res/values-meh/strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Content description for the clear URL text button. -->
+    <string name="mozac_clear_button_description">Sá´á noo</string>
+</resources>
diff --git a/mobile/android/android-components/components/compose/cfr/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/compose/cfr/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cc7b57d7b0842b3915f27370229aeda0f9d94b42
--- /dev/null
+++ b/mobile/android/android-components/components/compose/cfr/src/main/res/values-meh/strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Content description (not visible, for screen readers etc.): Description for the close button of a Contextual Feature Recommendation Popup. -->
+    <string name="mozac_cfr_dismiss_button_content_description">Xita</string>
+</resources>
diff --git a/mobile/android/android-components/components/compose/cfr/src/main/res/values-te/strings.xml b/mobile/android/android-components/components/compose/cfr/src/main/res/values-te/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..50e9cbb2ea26b4ebc878b3ff5f5359da1e01d454
--- /dev/null
+++ b/mobile/android/android-components/components/compose/cfr/src/main/res/values-te/strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Content description (not visible, for screen readers etc.): Description for the close button of a Contextual Feature Recommendation Popup. -->
+    <string name="mozac_cfr_dismiss_button_content_description">విస్మరించు</string>
+</resources>
diff --git a/mobile/android/android-components/components/compose/tabstray/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/compose/tabstray/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8b9f53b22c1564e6ae47ec14886266e8edc872f5
--- /dev/null
+++ b/mobile/android/android-components/components/compose/tabstray/src/main/res/values-meh/strings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Message announced to the user when tab tray is selected with 1 tab -->
+    <string name="mozac_tab_counter_open_tab_tray_single">1 pestaña nune. Ke\'i sa sama pestaña.</string>
+    <!-- Message announced to the user when tab tray is selected with multiple tabs. %1$s is getting replaced with the number of open tabs. -->
+    <string name="mozac_tab_counter_open_tab_tray_plural">%1$s pestañas nune. Ke\'i sa sama pestaña.</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/addons/src/main/res/values-ca/strings.xml b/mobile/android/android-components/components/feature/addons/src/main/res/values-ca/strings.xml
index a14fb0083e40cca07597b2b6da7eb02166e4510b..a7b874c48f891519f5ad293f31818f53ecab7f7e 100644
--- a/mobile/android/android-components/components/feature/addons/src/main/res/values-ca/strings.xml
+++ b/mobile/android/android-components/components/feature/addons/src/main/res/values-ca/strings.xml
@@ -192,10 +192,16 @@
     <string name="mozac_feature_addons_extension_failed_to_install">No s’ha pogut instal·lar aquesta extensió.</string>
     <!-- Text shown when attempting to install an extension and a network error happened. -->
     <string name="mozac_feature_addons_extension_failed_to_install_network_error">No s’ha pogut baixar aquesta extensió perquè s’ha produït un problema de connexió.</string>
+    <!-- Text shown when attempting to install an extension and the downloaded file is corrupted. -->
+    <string name="mozac_feature_addons_extension_failed_to_install_corrupt_error">No s\'ha pogut instal·lar aquesta extensió perquè sembla que està malmesa.</string>
+    <!-- Text shown when attempting to install an add-on and an error occurred because the extension was not signed. -->
+    <string name="mozac_feature_addons_extension_failed_to_install_not_signed_error">No es pot instal·lar aquesta extensió perquè no està verificada.</string>
     <!-- Text shown when attempting to install an add-on and an error occurred because the extension was incompatible. %1$s is the add-on name, %2$s is the app name and %3$s is the app version. -->
     <string name="mozac_feature_addons_failed_to_install_incompatible_error">No s’ha pogut instal·lar el complement «%1$s» perquè no és compatible amb el %2$s %3$s.</string>
     <!-- Text shown when attempting to install a blocklisted add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_blocklisted_1">No s’ha pogut instal·lar el complement %1$s perquè hi ha un alt risc que provoqui problemes d’estabilitat o de seguretat.</string>
+    <!-- Text shown when attempting to install an add-on that can only be install via Enterprise Policies, which is not supported on Android.  %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_admin_install_only">No s\'ha pogut instal·lar %1$s perquè només pot instal·lar-lo una organització que utilitzi polítiques empresarials, però en aquesta plataforma no s\'admeten.</string>
     <!-- Text shown after successfully enabled an add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_successfully_enabled">%1$s s’ha activat correctament</string>
     <!-- Text shown after failed to enable an add-on. %1$s is the add-on name. -->
@@ -214,6 +220,10 @@
     <string name="mozac_feature_addons_failed_to_remove" tools:ignore="UnusedResources">No s’ha pogut eliminar %1$s</string>
     <!-- Label shown to indicate that the add-on was migrated from a previous version of the app. %1$s is the app name most of the case it will be Firefox. -->
     <string name="mozac_feature_addons_migrated_from_a_previous_version_label" tools:ignore="UnusedResources">Aquest complement es va migrar des d’una versió anterior del %1$s</string>
+    <!-- Text shown in not yet supported add-ons section. -->
+    <string name="mozac_feature_addons_unsupported_caption_2">1 extensió</string>
+    <!-- Text shown in not yet supported add-ons section - plural. %1$s is the number of unsupported extensions. -->
+    <string name="mozac_feature_addons_unsupported_caption_plural_2">%1$s extensions</string>
     <!-- Text link to a sumo page for learning more about unsupported add-ons. -->
     <string name="mozac_feature_addons_unsupported_learn_more">Més informació</string>
     <!-- Displayed in the "Status" field for the updater when an add-on has been correctly updated. -->
@@ -230,6 +240,10 @@
     <string name="mozac_feature_addons_updater_dialog_status">Estat:</string>
     <!-- Text shown in the dialog when add-on installation is completed. %1$s is the add-on name. %2$s is the app name. -->
     <string name="mozac_feature_addons_installed_dialog_title">%1$s s’ha afegit al %2$s</string>
+    <!-- Text shown in the dialog when add-on installation is completed. %1$s is the add-on name. %2$s is the app name. -->
+    <string name="mozac_feature_addons_installed_dialog_description_2">Accediu a %1$s des del menú del %2$s.</string>
+    <!-- Confirmation button text for the dialog when add-on installation is completed. -->
+    <string name="mozac_feature_addons_installed_dialog_okay_button_2">D’acord</string>
     <!-- "Learn more" link displayed below an add-on status message. -->
     <string name="mozac_feature_addons_status_learn_more">Més informació</string>
     <!-- Status message below an add-on in the add-ons manager when this add-on has been blocklisted. %1$s is the add-on name. -->
diff --git a/mobile/android/android-components/components/feature/addons/src/main/res/values-co/strings.xml b/mobile/android/android-components/components/feature/addons/src/main/res/values-co/strings.xml
index eca911b76a4ba7a6528bb283b5e6c0a241afbdd7..4f89e7687caf49d713db58bf01c30aa334cb83f1 100644
--- a/mobile/android/android-components/components/feature/addons/src/main/res/values-co/strings.xml
+++ b/mobile/android/android-components/components/feature/addons/src/main/res/values-co/strings.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources xmlns:tools="http://schemas.android.com/tools" xmlns:moz="http://schemas.android.com/apk/res-auto">
     <!-- Description for privacy add-on permission. -->
-    <string name="mozac_feature_addons_permissions_privacy_description">Cunsultà è mudificà e preferenze di vita privata</string>
+    <string name="mozac_feature_addons_permissions_privacy_description">Cunsultà è mudificà i parametri di vita privata</string>
     <!-- Description for all_urls add-on permission. -->
     <string name="mozac_feature_addons_permissions_all_urls_description">Accede à i vostri dati per tutti i siti web</string>
     <!-- Description for giving an add-on access to users's data on one site. %1$s  will be replaced by the DNS host name for which a web extension is requesting access (e.g., www.mozilla.org). -->
@@ -33,7 +33,7 @@
     <!-- Description for bookmarks permission. -->
     <string name="mozac_feature_addons_permissions_bookmarks_description">Cunsultà è mudificà l’indette</string>
     <!-- Description for browser_setting permission. -->
-    <string name="mozac_feature_addons_permissions_browser_setting_description">Cunsultà è mudificà e preferenze di u navigatore</string>
+    <string name="mozac_feature_addons_permissions_browser_setting_description">Cunsultà è mudificà i parametri di u navigatore</string>
     <!-- Description for browser_data permission. -->
     <string name="mozac_feature_addons_permissions_browser_data_description">Squassà a cronolugia recente di navigazione, i canistrelli, è i dati assuciati</string>
     <!-- Description for clipboard_read permission. -->
@@ -63,7 +63,7 @@
     <!-- Description for pkcs11 permission. -->
     <string name="mozac_feature_addons_permissions_pkcs11_description">Pruvede servizii d’autenticazione cifrata</string>
     <!-- Description for proxy permission. -->
-    <string name="mozac_feature_addons_permissions_proxy_description">Cuntrollà e preferenze proxy di u navigatore</string>
+    <string name="mozac_feature_addons_permissions_proxy_description">Cuntrollà i parametri proxy di u navigatore</string>
     <!-- Description for sessions permission. -->
     <string name="mozac_feature_addons_permissions_sessions_description">Accede à l’unghjette chjose pocu fà</string>
     <!-- Description for tab_hide permission. -->
@@ -76,8 +76,6 @@
     <string name="mozac_feature_addons_version">Versione</string>
     <!-- The author of an add-on. -->
     <string name="mozac_feature_addons_author">Autore</string>
-    <!-- The authors of an add-on. -->
-    <string name="mozac_feature_addons_authors" moz:removedIn="123" tools:ignore="UnusedResources">Autori</string>
     <!-- The last date that the add-on was updated. -->
     <string name="mozac_feature_addons_last_updated">Ultima mudificazione</string>
     <!-- The developer website (Homepage) of the add-on. -->
@@ -86,16 +84,12 @@
     <string name="mozac_feature_addons_learn_more">Sapene di più nant’à i permessi</string>
     <!-- The rating of the add-on. -->
     <string name="mozac_feature_addons_rating">Apprezzazione</string>
-    <!-- A link that points to the detail page of the add-on. -->
-    <string name="mozac_feature_addons_more_info_link" moz:removedIn="126" tools:ignore="UnusedResources">Sapene di più nant’à stu modulu addiziunale</string>
     <!-- A link that points to the detail page of the extension. -->
     <string name="mozac_feature_addons_more_info_link_2">Sapene di più nant’à st’estensione</string>
     <!-- The settings of the add-on. -->
-    <string name="mozac_feature_addons_settings">Preferenze</string>
+    <string name="mozac_feature_addons_settings">Parametri</string>
     <!-- Indicates the add-on is enabled. -->
     <string name="mozac_feature_addons_settings_on">Attivatu</string>
-    <!-- Indicates the add-on is disabled. -->
-    <string name="mozac_feature_addons_settings_off" moz:removedIn="125" tools:ignore="UnusedResources">Disattivatu</string>
     <!-- Indicates the add-on is allowed in private browsing mode. -->
     <string name="mozac_feature_addons_settings_allow_in_private_browsing">Permette in navigazione privata</string>
     <!-- Indicates the add-on is allowed in private browsing mode. -->
@@ -104,8 +98,6 @@
     <string name="mozac_feature_addons_not_allowed_in_private_browsing">Micca permessu in e finestre di navigazione privata</string>
     <!-- Indicates the add-on is enabled. -->
     <string name="mozac_feature_addons_enabled">Attivatu</string>
-    <!-- Indicates the add-on is disabled. -->
-    <string name="mozac_feature_addons_disabled" moz:removedIn="125" tools:ignore="UnusedResources">Disattivatu</string>
     <!-- This is displayed in a page where the user can see the installed and recommended(not installed yet) add-ons, this string indicates the installed section. -->
     <string name="mozac_feature_addons_installed_section">Installatu</string>
     <!-- This is displayed in a page where the user can see the installed and recommended(not installed yet) add-ons, this string indicates the recommended section. -->
@@ -140,36 +132,24 @@
     <string name="mozac_feature_addons_permissions_dialog_deny">Ricusà</string>
     <!-- This is a button to cancel the add-on installation . -->
     <string name="mozac_feature_addons_permissions_dialog_cancel">Abbandunà</string>
-    <!-- Accessibility content description to install add-on button. -->
-    <string name="mozac_feature_addons_install_addon_content_description" tools:ignore="UnusedResources" moz:removedIn="124">Installà u modulu</string>
     <!-- Accessibility content description to install add-on button. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_install_addon_content_description_2">Installà %1$s</string>
     <!-- This is the label of a button to cancel an ongoing add-on installation. -->
     <string name="mozac_feature_addons_install_addon_dialog_cancel">Abbandunà</string>
     <!-- Indicates how many users have rated an add-on. %1$s will be replaced with number of reviews -->
     <string name="mozac_feature_addons_user_rating_count_2">Voti : %1$s</string>
-    <!-- Accessibility content description for the amount of stars that add-on has, where %1$.02f will be the amount of stars and / separator and 5 the maximum number of stars e.g (2/5, 4.5/5 or 5/5)  . -->
-    <string name="mozac_feature_addons_rating_content_description" moz:removedIn="124" tools:ignore="UnusedResources">%1$.02f/5</string>
     <!-- Accessibility content description for the amount of stars that add-on has, where %1$.02f will be the amount of stars. -->
     <string name="mozac_feature_addons_rating_content_description_2">Valutazione : %1$.02f nant’à 5</string>
     <!-- This is the title of page where all the add-ons are listed-->
     <string name="mozac_feature_addons_addons">Moduli addiziunali</string>
     <!-- Label for add-ons sub menu item for add-ons manager-->
     <string name="mozac_feature_addons_addons_manager">Ghjestiunariu di moduli addiziunali</string>
-    <!-- The title of the "crash" notification in the add-ons manager -->
-    <string name="mozac_feature_addons_manager_notification_title_text" moz:removedIn="126" tools:ignore="UnusedResources">I moduli addiziunali sò disattivati timpurariamente</string>
     <!-- The title of the "crash" notification in the extensions manager -->
     <string name="mozac_feature_extensions_manager_notification_title_text">L’estensioni sò disattivate timpurariamente</string>
-    <!-- The content of the "crash" notification in the add-ons manager -->
-    <string name="mozac_feature_addons_manager_notification_content_text" moz:removedIn="126" tools:ignore="UnusedResources">Certi moduli addiziunale anu fermatu di funziunà, rindendu u vostru sistema instabile.</string>
     <!-- The content of the "crash" notification in the extensions manager -->
     <string name="mozac_feature_extensions_manager_notification_content_text">Certe estensioni anu fermatu di funziunà, rindendu u vostru sistema instabile.</string>
-    <!-- Button to re-enable the add-ons in the "crash" notification -->
-    <string name="mozac_feature_addons_manager_notification_restart_button" moz:removedIn="126" tools:ignore="UnusedResources">Rilancià i moduli addiziunali</string>
     <!-- Button to re-enable the extensions in the "crash" notification -->
     <string name="mozac_feature_extensions_manager_notification_restart_button">Rilancià l’estensioni</string>
-    <!-- Button in the add-ons manager that opens AMO in a tab -->
-    <string name="mozac_feature_addons_find_more_addons_button_text" moz:removedIn="126" tools:ignore="UnusedResources">Scopre d’altri moduli addiziunali</string>
     <!-- Button in the extensions manager that opens AMO in a tab -->
     <string name="mozac_feature_addons_find_more_extensions_button_text">Scopre d’altre estensioni</string>
     <!-- The label of the allow button, this will be shown to the user when an add-on needs new permissions, with the button the user will indicate that they want to accept the new permissions and update the add-on-->
@@ -182,8 +162,6 @@
     <string name="mozac_feature_addons_updater_notification_content" tools:ignore="PluralsCandidate">%1$d novi permessi sò richiesti</string>
     <!-- The content of the notification displayed when an add-on needs a new permission-->
     <string name="mozac_feature_addons_updater_notification_content_singular">Un permessu novu hè richiestu</string>
-    <!-- Name of the "notification channel" used for displaying a notification for updating an add-on. See https://developer.android.com/training/notify-user/channels -->
-    <string name="mozac_feature_addons_updater_notification_channel" moz:removedIn="126" tools:ignore="UnusedResources">Rinnovi di i moduli</string>
     <!-- Name of the "notification channel" used for displaying a notification for updating an extension. See https://developer.android.com/training/notify-user/channels -->
     <string name="mozac_feature_addons_updater_notification_channel_2">Rinnovi d’estensioni</string>
     <!-- Name of the "notification channel" used for displaying a notification for new supported add-ons. See https://developer.android.com/training/notify-user/channels -->
@@ -199,15 +177,9 @@
     <!-- The content of the notification, this will be shown to the user when more than two newly supported add-ons are available. %1$s is the app name (in most cases Firefox). -->
     <string name="mozac_feature_addons_supported_checker_notification_content_more_than_two">Aghjunghjeli à %1$s</string>
     <!-- This is the caption for not yet supported screen caption -->
-    <string name="mozac_feature_addons_not_yet_supported_caption" moz:removedIn="126" tools:ignore="UnusedResources">A tecnolugia di i moduli addiziunali di Firefox s’ammuderneghja. Sti moduli impieganu una struttura chì ùn hè micca cunciliabile cù Firefox 75 è e so versioni precedente.</string>
-    <!-- This is the caption for not yet supported screen caption -->
     <string name="mozac_feature_addons_not_yet_supported_caption2">Simu in treccia di custruisce una prima selezzione d’estensioni ricumandate.</string>
-    <!-- This is the caption for the add-on installation progress overlay -->
-    <string name="mozac_add_on_install_progress_caption" moz:removedIn="126" tools:ignore="UnusedResources">Scaricamentu è verificazione di u modulu…</string>
     <!-- This is the caption for the extension installation progress overlay -->
     <string name="mozac_extension_install_progress_caption">Scaricamentu è verificazione di l’estensione…</string>
-    <!-- Error shown when something unexpected happened while trying to get the add-on list from the server -->
-    <string name="mozac_feature_addons_failed_to_query_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">Impussibule d’ottene a lista di i moduli addiziunali</string>
     <!-- Error shown when something unexpected happened while trying to get the extension list from the server -->
     <string name="mozac_feature_addons_failed_to_query_extensions">Impussibule d’ottene a lista di l’estensioni.</string>
     <!-- Error shown when unable to find a translation for an add-on field. %1$s is the locale of the user and %2$s is the default language of the add-on -->
@@ -216,26 +188,20 @@
     <string name="mozac_feature_addons_successfully_installed">Installazione riesciuta di %1$s</string>
     <!-- Text shown after failed to install an add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_failed_to_install">Fiascu di l’installazione di %1$s</string>
-    <!-- Text shown after failing to install an add-on for which we don't have its name. -->
-    <string name="mozac_feature_addons_failed_to_install_generic" moz:removedIn="126" tools:ignore="UnusedResources">Fiascu per installà stu modulu addiziunale.</string>
     <!-- Text shown after failing to install an extension for which we don't have its name. -->
     <string name="mozac_feature_addons_extension_failed_to_install">Fiascu per installà st’estensione.</string>
-    <!-- Text shown when attempting to install an add-on and a network error happened. -->
-    <string name="mozac_feature_addons_failed_to_install_network_error" moz:removedIn="126" tools:ignore="UnusedResources">Stu modulu addiziunale ùn pò micca esse scaricatu per via d’un fiascu di cunnessione.</string>
     <!-- Text shown when attempting to install an extension and a network error happened. -->
     <string name="mozac_feature_addons_extension_failed_to_install_network_error">St’estensione ùn pò micca esse scaricata per via d’un fiascu di cunnessione.</string>
-    <!-- Text shown when attempting to install an add-on and the downloaded file is corrupted. -->
-    <string name="mozac_feature_addons_failed_to_install_corrupt_error" moz:removedIn="126" tools:ignore="UnusedResources">Stu modulu addiziunale ùn pò micca esse installatu perchè pare deteriuratu.</string>
     <!-- Text shown when attempting to install an extension and the downloaded file is corrupted. -->
     <string name="mozac_feature_addons_extension_failed_to_install_corrupt_error">St’estensione ùn pò micca esse installata perchè pare deteriurata.</string>
     <!-- Text shown when attempting to install an add-on and an error occurred because the extension was not signed. -->
-    <string name="mozac_feature_addons_failed_to_install_not_signed_error" moz:removedIn="126" tools:ignore="UnusedResources">Stu modulu addiziunale ùn pò micca esse installatu perchè ùn hè micca statu verificatu.</string>
-    <!-- Text shown when attempting to install an add-on and an error occurred because the extension was not signed. -->
     <string name="mozac_feature_addons_extension_failed_to_install_not_signed_error">St’estensione ùn pò micca esse installata perchè ùn hè micca stata verificata.</string>
     <!-- Text shown when attempting to install an add-on and an error occurred because the extension was incompatible. %1$s is the add-on name, %2$s is the app name and %3$s is the app version. -->
     <string name="mozac_feature_addons_failed_to_install_incompatible_error">%1$s ùn pò micca esse installatu perchè ùn hè micca cumpatibile cù %2$s %3$s.</string>
     <!-- Text shown when attempting to install a blocklisted add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_blocklisted_1">%1$s ùn pò micca esse installatu perchè ci hè un risicu tamantu di cagiunà prublemi di stabilità o di sicurità.</string>
+    <!-- Text shown when attempting to install an add-on that can only be install via Enterprise Policies, which is not supported on Android.  %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_admin_install_only">%1$s ùn pò micca esse installatu perchè a so installazione si pò fà solu da un urganismu impieghendu strategie d’impresa, ciò chì ùn hè micca accettatu nant’à sta piattaforma.</string>
     <!-- Text shown after successfully enabled an add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_successfully_enabled">Attivazione riesciuta di %1$s</string>
     <!-- Text shown after failed to enable an add-on. %1$s is the add-on name. -->
@@ -254,12 +220,8 @@
     <string name="mozac_feature_addons_failed_to_remove" tools:ignore="UnusedResources">Impussibule di caccià %1$s</string>
     <!-- Label shown to indicate that the add-on was migrated from a previous version of the app. %1$s is the app name most of the case it will be Firefox. -->
     <string name="mozac_feature_addons_migrated_from_a_previous_version_label" tools:ignore="UnusedResources">Stu modulu hè statu impurtatu da una versione precedente di %1$s</string>
-    <!-- Text shown in not yet supported add-ons section in AddonsManagerAdapter. -->
-    <string name="mozac_feature_addons_unsupported_caption" moz:removedIn="126" tools:ignore="UnusedResources">1 modulu addiziunale</string>
     <!-- Text shown in not yet supported add-ons section. -->
     <string name="mozac_feature_addons_unsupported_caption_2">1 estensione</string>
-    <!-- Text shown in not yet supported add-ons section in AddonsManagerAdapter - plural. %1$s is the number of unsupported add-ons -->
-    <string name="mozac_feature_addons_unsupported_caption_plural" moz:removedIn="126" tools:ignore="UnusedResources">%1$s moduli addiziunali</string>
     <!-- Text shown in not yet supported add-ons section - plural. %1$s is the number of unsupported extensions. -->
     <string name="mozac_feature_addons_unsupported_caption_plural_2">%1$s estensioni</string>
     <!-- Text link to a sumo page for learning more about unsupported add-ons. -->
@@ -278,13 +240,9 @@
     <string name="mozac_feature_addons_updater_dialog_status">Statu :</string>
     <!-- Text shown in the dialog when add-on installation is completed. %1$s is the add-on name. %2$s is the app name. -->
     <string name="mozac_feature_addons_installed_dialog_title">%1$s hè statu aghjuntu à %2$s</string>
-    <!-- Text shown in the dialog when add-on installation is completed. -->
-    <string name="mozac_feature_addons_installed_dialog_description" moz:removedIn="124" tools:ignore="UnusedResources">Apritelu da u listinu</string>
     <!-- Text shown in the dialog when add-on installation is completed. %1$s is the add-on name. %2$s is the app name. -->
     <string name="mozac_feature_addons_installed_dialog_description_2">Accidite à %1$s via u listinu di %2$s.</string>
     <!-- Confirmation button text for the dialog when add-on installation is completed. -->
-    <string name="mozac_feature_addons_installed_dialog_okay_button" moz:removedIn="124" tools:ignore="UnusedResources">Iè, aghju capitu</string>
-    <!-- Confirmation button text for the dialog when add-on installation is completed. -->
     <string name="mozac_feature_addons_installed_dialog_okay_button_2">Vai</string>
     <!-- "Learn more" link displayed below an add-on status message. -->
     <string name="mozac_feature_addons_status_learn_more">Sapene di più</string>
diff --git a/mobile/android/android-components/components/feature/addons/src/main/res/values-cs/strings.xml b/mobile/android/android-components/components/feature/addons/src/main/res/values-cs/strings.xml
index 94d6784356b3861d5c917ab8a6d2f51c112c6a58..fef6db4373bcc6c5a97778e025d50fc6c8dd2f65 100644
--- a/mobile/android/android-components/components/feature/addons/src/main/res/values-cs/strings.xml
+++ b/mobile/android/android-components/components/feature/addons/src/main/res/values-cs/strings.xml
@@ -76,8 +76,6 @@
     <string name="mozac_feature_addons_version">Verze</string>
     <!-- The author of an add-on. -->
     <string name="mozac_feature_addons_author">Autor</string>
-    <!-- The authors of an add-on. -->
-    <string name="mozac_feature_addons_authors" moz:removedIn="123" tools:ignore="UnusedResources">Autor</string>
     <!-- The last date that the add-on was updated. -->
     <string name="mozac_feature_addons_last_updated">Poslední aktualizace</string>
     <!-- The developer website (Homepage) of the add-on. -->
@@ -86,16 +84,12 @@
     <string name="mozac_feature_addons_learn_more">Zjistěte více informací o oprávněních</string>
     <!-- The rating of the add-on. -->
     <string name="mozac_feature_addons_rating">Hodnocení</string>
-    <!-- A link that points to the detail page of the add-on. -->
-    <string name="mozac_feature_addons_more_info_link" moz:removedIn="126" tools:ignore="UnusedResources">Více o doplňku</string>
     <!-- A link that points to the detail page of the extension. -->
     <string name="mozac_feature_addons_more_info_link_2">Více o tomto rozšíření</string>
     <!-- The settings of the add-on. -->
     <string name="mozac_feature_addons_settings">Nastavení</string>
     <!-- Indicates the add-on is enabled. -->
     <string name="mozac_feature_addons_settings_on">Povoleno</string>
-    <!-- Indicates the add-on is disabled. -->
-    <string name="mozac_feature_addons_settings_off" moz:removedIn="125" tools:ignore="UnusedResources">Zakázáno</string>
     <!-- Indicates the add-on is allowed in private browsing mode. -->
     <string name="mozac_feature_addons_settings_allow_in_private_browsing">Povolit v režimu anonymního prohlížení</string>
     <!-- Indicates the add-on is allowed in private browsing mode. -->
@@ -104,8 +98,6 @@
     <string name="mozac_feature_addons_not_allowed_in_private_browsing">Doplněk není povolený v anonymních oknech</string>
     <!-- Indicates the add-on is enabled. -->
     <string name="mozac_feature_addons_enabled">Povoleno</string>
-    <!-- Indicates the add-on is disabled. -->
-    <string name="mozac_feature_addons_disabled" moz:removedIn="125" tools:ignore="UnusedResources">Zakázáno</string>
     <!-- This is displayed in a page where the user can see the installed and recommended(not installed yet) add-ons, this string indicates the installed section. -->
     <string name="mozac_feature_addons_installed_section">Nainstalováno</string>
     <!-- This is displayed in a page where the user can see the installed and recommended(not installed yet) add-ons, this string indicates the recommended section. -->
@@ -140,36 +132,24 @@
     <string name="mozac_feature_addons_permissions_dialog_deny">Zakázat</string>
     <!-- This is a button to cancel the add-on installation . -->
     <string name="mozac_feature_addons_permissions_dialog_cancel">Zrušit</string>
-    <!-- Accessibility content description to install add-on button. -->
-    <string name="mozac_feature_addons_install_addon_content_description" tools:ignore="UnusedResources" moz:removedIn="124">Nainstalovat doplněk</string>
     <!-- Accessibility content description to install add-on button. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_install_addon_content_description_2">Nainstalovat %1$s</string>
     <!-- This is the label of a button to cancel an ongoing add-on installation. -->
     <string name="mozac_feature_addons_install_addon_dialog_cancel">Zrušit</string>
     <!-- Indicates how many users have rated an add-on. %1$s will be replaced with number of reviews -->
     <string name="mozac_feature_addons_user_rating_count_2">Recenze: %1$s</string>
-    <!-- Accessibility content description for the amount of stars that add-on has, where %1$.02f will be the amount of stars and / separator and 5 the maximum number of stars e.g (2/5, 4.5/5 or 5/5)  . -->
-    <string name="mozac_feature_addons_rating_content_description" moz:removedIn="124" tools:ignore="UnusedResources">%1$.02f z 5</string>
     <!-- Accessibility content description for the amount of stars that add-on has, where %1$.02f will be the amount of stars. -->
     <string name="mozac_feature_addons_rating_content_description_2">Hodnocení: %1$.02f z 5</string>
     <!-- This is the title of page where all the add-ons are listed-->
     <string name="mozac_feature_addons_addons">Doplňky</string>
     <!-- Label for add-ons sub menu item for add-ons manager-->
     <string name="mozac_feature_addons_addons_manager">Správce doplňků</string>
-    <!-- The title of the "crash" notification in the add-ons manager -->
-    <string name="mozac_feature_addons_manager_notification_title_text" moz:removedIn="126" tools:ignore="UnusedResources">Doplňky jsou dočasně zakázány</string>
     <!-- The title of the "crash" notification in the extensions manager -->
     <string name="mozac_feature_extensions_manager_notification_title_text">Rozšíření jsou dočasně zakázána</string>
-    <!-- The content of the "crash" notification in the add-ons manager -->
-    <string name="mozac_feature_addons_manager_notification_content_text" moz:removedIn="126" tools:ignore="UnusedResources">Jeden nebo více doplňků přestalo fungovat a váš systém se tak stal nestabilním.</string>
     <!-- The content of the "crash" notification in the extensions manager -->
     <string name="mozac_feature_extensions_manager_notification_content_text">Jedno nebo více rozšíření přestalo fungovat a váš systém se tak stal nestabilním.</string>
-    <!-- Button to re-enable the add-ons in the "crash" notification -->
-    <string name="mozac_feature_addons_manager_notification_restart_button" moz:removedIn="126" tools:ignore="UnusedResources">Restartovat doplňky</string>
     <!-- Button to re-enable the extensions in the "crash" notification -->
     <string name="mozac_feature_extensions_manager_notification_restart_button">Restartovat rozšíření</string>
-    <!-- Button in the add-ons manager that opens AMO in a tab -->
-    <string name="mozac_feature_addons_find_more_addons_button_text" moz:removedIn="126" tools:ignore="UnusedResources">Najít další doplňky</string>
     <!-- Button in the extensions manager that opens AMO in a tab -->
     <string name="mozac_feature_addons_find_more_extensions_button_text">Najít další rozšíření</string>
     <!-- The label of the allow button, this will be shown to the user when an add-on needs new permissions, with the button the user will indicate that they want to accept the new permissions and update the add-on-->
@@ -182,8 +162,6 @@
     <string name="mozac_feature_addons_updater_notification_content" tools:ignore="PluralsCandidate">Požadováno nových oprávnění: %1$d</string>
     <!-- The content of the notification displayed when an add-on needs a new permission-->
     <string name="mozac_feature_addons_updater_notification_content_singular">Je požadováno nové oprávnění</string>
-    <!-- Name of the "notification channel" used for displaying a notification for updating an add-on. See https://developer.android.com/training/notify-user/channels -->
-    <string name="mozac_feature_addons_updater_notification_channel" moz:removedIn="126" tools:ignore="UnusedResources">Aktualizace doplňků</string>
     <!-- Name of the "notification channel" used for displaying a notification for updating an extension. See https://developer.android.com/training/notify-user/channels -->
     <string name="mozac_feature_addons_updater_notification_channel_2">Aktualizace rozšíření</string>
     <!-- Name of the "notification channel" used for displaying a notification for new supported add-ons. See https://developer.android.com/training/notify-user/channels -->
@@ -199,15 +177,9 @@
     <!-- The content of the notification, this will be shown to the user when more than two newly supported add-ons are available. %1$s is the app name (in most cases Firefox). -->
     <string name="mozac_feature_addons_supported_checker_notification_content_more_than_two">Přidat všechny do aplikace %1$s</string>
     <!-- This is the caption for not yet supported screen caption -->
-    <string name="mozac_feature_addons_not_yet_supported_caption" moz:removedIn="126" tools:ignore="UnusedResources">Technologie doplňků pro Firefox prochází modernizací. Tyto doplňky používají technologie, které nejsou kompatibilní s Firefoxem 75 a novějšími.</string>
-    <!-- This is the caption for not yet supported screen caption -->
     <string name="mozac_feature_addons_not_yet_supported_caption2">V současné době pracujeme na podpoře pro vybraná doporučená rozšíření.</string>
-    <!-- This is the caption for the add-on installation progress overlay -->
-    <string name="mozac_add_on_install_progress_caption" moz:removedIn="126" tools:ignore="UnusedResources">Stahování a ověřování doplňku…</string>
     <!-- This is the caption for the extension installation progress overlay -->
     <string name="mozac_extension_install_progress_caption">Stahování a ověřování rozšíření…</string>
-    <!-- Error shown when something unexpected happened while trying to get the add-on list from the server -->
-    <string name="mozac_feature_addons_failed_to_query_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">Nepodařilo se získat seznam doplňků.</string>
     <!-- Error shown when something unexpected happened while trying to get the extension list from the server -->
     <string name="mozac_feature_addons_failed_to_query_extensions">Nepodařilo se získat seznam rozšíření!</string>
     <!-- Error shown when unable to find a translation for an add-on field. %1$s is the locale of the user and %2$s is the default language of the add-on -->
@@ -216,26 +188,20 @@
     <string name="mozac_feature_addons_successfully_installed">Doplněk %1$s byl úspěšně nainstalován</string>
     <!-- Text shown after failed to install an add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_failed_to_install">Doplněk %1$s se nepodařilo nainstalovat</string>
-    <!-- Text shown after failing to install an add-on for which we don't have its name. -->
-    <string name="mozac_feature_addons_failed_to_install_generic" moz:removedIn="126" tools:ignore="UnusedResources">Tento doplněk se nepodařilo nainstalovat.</string>
     <!-- Text shown after failing to install an extension for which we don't have its name. -->
     <string name="mozac_feature_addons_extension_failed_to_install">Toto rozšíření se nepodařilo nainstalovat.</string>
-    <!-- Text shown when attempting to install an add-on and a network error happened. -->
-    <string name="mozac_feature_addons_failed_to_install_network_error" moz:removedIn="126" tools:ignore="UnusedResources">Tento doplněk se nepodařilo stáhnout z důvodu selhání připojení.</string>
     <!-- Text shown when attempting to install an extension and a network error happened. -->
     <string name="mozac_feature_addons_extension_failed_to_install_network_error">Toto rozšíření se nepodařilo stáhnout z důvodu selhání připojení.</string>
-    <!-- Text shown when attempting to install an add-on and the downloaded file is corrupted. -->
-    <string name="mozac_feature_addons_failed_to_install_corrupt_error" moz:removedIn="126" tools:ignore="UnusedResources">Tento doplněk nemohl být nainstalován, protože je poškozený.</string>
     <!-- Text shown when attempting to install an extension and the downloaded file is corrupted. -->
     <string name="mozac_feature_addons_extension_failed_to_install_corrupt_error">Toto rozšíření nemohlo být nainstalováno, protože je poškozené.</string>
     <!-- Text shown when attempting to install an add-on and an error occurred because the extension was not signed. -->
-    <string name="mozac_feature_addons_failed_to_install_not_signed_error" moz:removedIn="126" tools:ignore="UnusedResources">Tento doplněk nemohl být nainstalován, protože nebyl ověřen.</string>
-    <!-- Text shown when attempting to install an add-on and an error occurred because the extension was not signed. -->
     <string name="mozac_feature_addons_extension_failed_to_install_not_signed_error">Toto rozšíření nemohlo být nainstalováno, protože nebylo ověřeno.</string>
     <!-- Text shown when attempting to install an add-on and an error occurred because the extension was incompatible. %1$s is the add-on name, %2$s is the app name and %3$s is the app version. -->
     <string name="mozac_feature_addons_failed_to_install_incompatible_error">Doplněk %1$s nelze nainstalovat, protože není kompatibilní s prohlížečem %2$s %3$s.</string>
     <!-- Text shown when attempting to install a blocklisted add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_blocklisted_1">Doplněk %1$s nebylo možné nainstalovat, protože existuje vysoké riziko, že způsobí problémy se stabilitou nebo zabezpečením.</string>
+    <!-- Text shown when attempting to install an add-on that can only be install via Enterprise Policies, which is not supported on Android.  %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_admin_install_only">Doplněk %1$s nebylo možné nainstalovat, protože jej může nainstalovat pouze organizace pomocí podnikových zásad, což na této platformě není podporováno.</string>
     <!-- Text shown after successfully enabled an add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_successfully_enabled">Doplněk %1$s byl úspěšně povolen</string>
     <!-- Text shown after failed to enable an add-on. %1$s is the add-on name. -->
@@ -254,12 +220,8 @@
     <string name="mozac_feature_addons_failed_to_remove" tools:ignore="UnusedResources">Doplněk %1$s se nepodařilo odebrat</string>
     <!-- Label shown to indicate that the add-on was migrated from a previous version of the app. %1$s is the app name most of the case it will be Firefox. -->
     <string name="mozac_feature_addons_migrated_from_a_previous_version_label" tools:ignore="UnusedResources">Tento doplněk byl přesunut z předchozí verze aplikace %1$s</string>
-    <!-- Text shown in not yet supported add-ons section in AddonsManagerAdapter. -->
-    <string name="mozac_feature_addons_unsupported_caption" moz:removedIn="126" tools:ignore="UnusedResources">Jeden doplněk</string>
     <!-- Text shown in not yet supported add-ons section. -->
     <string name="mozac_feature_addons_unsupported_caption_2">1 rozšíření</string>
-    <!-- Text shown in not yet supported add-ons section in AddonsManagerAdapter - plural. %1$s is the number of unsupported add-ons -->
-    <string name="mozac_feature_addons_unsupported_caption_plural" moz:removedIn="126" tools:ignore="UnusedResources">Počet doplňků: %1$s</string>
     <!-- Text shown in not yet supported add-ons section - plural. %1$s is the number of unsupported extensions. -->
     <string name="mozac_feature_addons_unsupported_caption_plural_2">%1$s rozšíření</string>
     <!-- Text link to a sumo page for learning more about unsupported add-ons. -->
@@ -278,13 +240,9 @@
     <string name="mozac_feature_addons_updater_dialog_status">Stav:</string>
     <!-- Text shown in the dialog when add-on installation is completed. %1$s is the add-on name. %2$s is the app name. -->
     <string name="mozac_feature_addons_installed_dialog_title">Doplněk %1$s byl přidán do aplikace %2$s</string>
-    <!-- Text shown in the dialog when add-on installation is completed. -->
-    <string name="mozac_feature_addons_installed_dialog_description" moz:removedIn="124" tools:ignore="UnusedResources">Otevřete ho v nabídce</string>
     <!-- Text shown in the dialog when add-on installation is completed. %1$s is the add-on name. %2$s is the app name. -->
     <string name="mozac_feature_addons_installed_dialog_description_2">Přístup k doplňku %1$s získáte z nabídky %2$s.</string>
     <!-- Confirmation button text for the dialog when add-on installation is completed. -->
-    <string name="mozac_feature_addons_installed_dialog_okay_button" moz:removedIn="124" tools:ignore="UnusedResources">Ok, rozumím</string>
-    <!-- Confirmation button text for the dialog when add-on installation is completed. -->
     <string name="mozac_feature_addons_installed_dialog_okay_button_2">OK</string>
     <!-- "Learn more" link displayed below an add-on status message. -->
     <string name="mozac_feature_addons_status_learn_more">Zjistit více</string>
diff --git a/mobile/android/android-components/components/feature/addons/src/main/res/values-fur/strings.xml b/mobile/android/android-components/components/feature/addons/src/main/res/values-fur/strings.xml
index 7582475d004a209faac1588e386b327c971735b9..06412796ea9e3540abd02d902d849700295e898a 100644
--- a/mobile/android/android-components/components/feature/addons/src/main/res/values-fur/strings.xml
+++ b/mobile/android/android-components/components/feature/addons/src/main/res/values-fur/strings.xml
@@ -76,8 +76,6 @@
     <string name="mozac_feature_addons_version">Version</string>
     <!-- The author of an add-on. -->
     <string name="mozac_feature_addons_author">Autôr</string>
-    <!-- The authors of an add-on. -->
-    <string name="mozac_feature_addons_authors" moz:removedIn="123" tools:ignore="UnusedResources">Autôrs</string>
     <!-- The last date that the add-on was updated. -->
     <string name="mozac_feature_addons_last_updated">Ultin inzornament</string>
     <!-- The developer website (Homepage) of the add-on. -->
@@ -86,16 +84,12 @@
     <string name="mozac_feature_addons_learn_more">Plui informazions sui permès</string>
     <!-- The rating of the add-on. -->
     <string name="mozac_feature_addons_rating">Valutazion</string>
-    <!-- A link that points to the detail page of the add-on. -->
-    <string name="mozac_feature_addons_more_info_link" moz:removedIn="126" tools:ignore="UnusedResources">Plui informazions su chest component adizionâl</string>
     <!-- A link that points to the detail page of the extension. -->
     <string name="mozac_feature_addons_more_info_link_2">Altris informazions</string>
     <!-- The settings of the add-on. -->
     <string name="mozac_feature_addons_settings">Impostazions</string>
     <!-- Indicates the add-on is enabled. -->
     <string name="mozac_feature_addons_settings_on">Ativât</string>
-    <!-- Indicates the add-on is disabled. -->
-    <string name="mozac_feature_addons_settings_off" moz:removedIn="125" tools:ignore="UnusedResources">Disativât</string>
     <!-- Indicates the add-on is allowed in private browsing mode. -->
     <string name="mozac_feature_addons_settings_allow_in_private_browsing">Permet in navigazion privade</string>
     <!-- Indicates the add-on is allowed in private browsing mode. -->
@@ -104,8 +98,6 @@
     <string name="mozac_feature_addons_not_allowed_in_private_browsing">No consintût in barcons privâts</string>
     <!-- Indicates the add-on is enabled. -->
     <string name="mozac_feature_addons_enabled">Abilitât</string>
-    <!-- Indicates the add-on is disabled. -->
-    <string name="mozac_feature_addons_disabled" moz:removedIn="125" tools:ignore="UnusedResources">Disabilitât</string>
     <!-- This is displayed in a page where the user can see the installed and recommended(not installed yet) add-ons, this string indicates the installed section. -->
     <string name="mozac_feature_addons_installed_section">Instalâts</string>
     <!-- This is displayed in a page where the user can see the installed and recommended(not installed yet) add-ons, this string indicates the recommended section. -->
@@ -140,36 +132,24 @@
     <string name="mozac_feature_addons_permissions_dialog_deny">Dinee</string>
     <!-- This is a button to cancel the add-on installation . -->
     <string name="mozac_feature_addons_permissions_dialog_cancel">Anule</string>
-    <!-- Accessibility content description to install add-on button. -->
-    <string name="mozac_feature_addons_install_addon_content_description" tools:ignore="UnusedResources" moz:removedIn="124">Instale component adizionâl</string>
     <!-- Accessibility content description to install add-on button. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_install_addon_content_description_2">Instale %1$s</string>
     <!-- This is the label of a button to cancel an ongoing add-on installation. -->
     <string name="mozac_feature_addons_install_addon_dialog_cancel">Anule</string>
     <!-- Indicates how many users have rated an add-on. %1$s will be replaced with number of reviews -->
     <string name="mozac_feature_addons_user_rating_count_2">Recensions: %1$s</string>
-    <!-- Accessibility content description for the amount of stars that add-on has, where %1$.02f will be the amount of stars and / separator and 5 the maximum number of stars e.g (2/5, 4.5/5 or 5/5)  . -->
-    <string name="mozac_feature_addons_rating_content_description" moz:removedIn="124" tools:ignore="UnusedResources">%1$.02f/5</string>
     <!-- Accessibility content description for the amount of stars that add-on has, where %1$.02f will be the amount of stars. -->
     <string name="mozac_feature_addons_rating_content_description_2">Valutazion: %1$.02f su 5</string>
     <!-- This is the title of page where all the add-ons are listed-->
     <string name="mozac_feature_addons_addons">Components adizionâi</string>
     <!-- Label for add-ons sub menu item for add-ons manager-->
     <string name="mozac_feature_addons_addons_manager">Gjestôr components adizionâi</string>
-    <!-- The title of the "crash" notification in the add-ons manager -->
-    <string name="mozac_feature_addons_manager_notification_title_text" moz:removedIn="126" tools:ignore="UnusedResources">I components adizionâi a son disativâts in mût temporani</string>
     <!-- The title of the "crash" notification in the extensions manager -->
     <string name="mozac_feature_extensions_manager_notification_title_text">Lis estensions a son disativadis in mût temporani</string>
-    <!-- The content of the "crash" notification in the add-ons manager -->
-    <string name="mozac_feature_addons_manager_notification_content_text" moz:removedIn="126" tools:ignore="UnusedResources">Un o plui components adizionâi a àn fermât di funzionâ, rindint il sisteme instabil.</string>
     <!-- The content of the "crash" notification in the extensions manager -->
     <string name="mozac_feature_extensions_manager_notification_content_text">Une o plui estensions si son fermadis e no funzionin, rindint instabil il sisteme.</string>
-    <!-- Button to re-enable the add-ons in the "crash" notification -->
-    <string name="mozac_feature_addons_manager_notification_restart_button" moz:removedIn="126" tools:ignore="UnusedResources">Torne invie i components adizionâi</string>
     <!-- Button to re-enable the extensions in the "crash" notification -->
     <string name="mozac_feature_extensions_manager_notification_restart_button">Torne invie lis estensions</string>
-    <!-- Button in the add-ons manager that opens AMO in a tab -->
-    <string name="mozac_feature_addons_find_more_addons_button_text" moz:removedIn="126" tools:ignore="UnusedResources">Cjate altris components adizionâi</string>
     <!-- Button in the extensions manager that opens AMO in a tab -->
     <string name="mozac_feature_addons_find_more_extensions_button_text">Cjate altris estensions</string>
     <!-- The label of the allow button, this will be shown to the user when an add-on needs new permissions, with the button the user will indicate that they want to accept the new permissions and update the add-on-->
@@ -182,8 +162,6 @@
     <string name="mozac_feature_addons_updater_notification_content" tools:ignore="PluralsCandidate">%1$d gnûfs permès necessaris</string>
     <!-- The content of the notification displayed when an add-on needs a new permission-->
     <string name="mozac_feature_addons_updater_notification_content_singular">Un gnûf permès necessari</string>
-    <!-- Name of the "notification channel" used for displaying a notification for updating an add-on. See https://developer.android.com/training/notify-user/channels -->
-    <string name="mozac_feature_addons_updater_notification_channel" moz:removedIn="126" tools:ignore="UnusedResources">Inzornaments dal component adizionâl</string>
     <!-- Name of the "notification channel" used for displaying a notification for updating an extension. See https://developer.android.com/training/notify-user/channels -->
     <string name="mozac_feature_addons_updater_notification_channel_2">Inzornaments des estensions</string>
     <!-- Name of the "notification channel" used for displaying a notification for new supported add-ons. See https://developer.android.com/training/notify-user/channels -->
@@ -199,15 +177,9 @@
     <!-- The content of the notification, this will be shown to the user when more than two newly supported add-ons are available. %1$s is the app name (in most cases Firefox). -->
     <string name="mozac_feature_addons_supported_checker_notification_content_more_than_two">Zontiju a %1$s</string>
     <!-- This is the caption for not yet supported screen caption -->
-    <string name="mozac_feature_addons_not_yet_supported_caption" moz:removedIn="126" tools:ignore="UnusedResources">La tecnologjie dai components adizionâi di Firefox si sta modernizant. Chescj components adizionâi a doprin frameworks incompatibii cun Firefox 75 e sucessîfs.</string>
-    <!-- This is the caption for not yet supported screen caption -->
     <string name="mozac_feature_addons_not_yet_supported_caption2">O stin svilupant il supuart par une selezion iniziâl di estensions conseadis.</string>
-    <!-- This is the caption for the add-on installation progress overlay -->
-    <string name="mozac_add_on_install_progress_caption" moz:removedIn="126" tools:ignore="UnusedResources">Daûra discjamâ e verificâ il component adizionâl…</string>
     <!-- This is the caption for the extension installation progress overlay -->
     <string name="mozac_extension_install_progress_caption">Daûr a discjariâ e a verificâ la estension…</string>
-    <!-- Error shown when something unexpected happened while trying to get the add-on list from the server -->
-    <string name="mozac_feature_addons_failed_to_query_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">Impussibil interogâ i components adizionâi!</string>
     <!-- Error shown when something unexpected happened while trying to get the extension list from the server -->
     <string name="mozac_feature_addons_failed_to_query_extensions">Impussibil interogâ lis estensions!</string>
     <!-- Error shown when unable to find a translation for an add-on field. %1$s is the locale of the user and %2$s is the default language of the add-on -->
@@ -216,26 +188,20 @@
     <string name="mozac_feature_addons_successfully_installed">%1$s instalât cun sucès</string>
     <!-- Text shown after failed to install an add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_failed_to_install">Impussibil instalâ %1$s</string>
-    <!-- Text shown after failing to install an add-on for which we don't have its name. -->
-    <string name="mozac_feature_addons_failed_to_install_generic" moz:removedIn="126" tools:ignore="UnusedResources">Impussibil instalâ chest component adizionâl.</string>
     <!-- Text shown after failing to install an extension for which we don't have its name. -->
     <string name="mozac_feature_addons_extension_failed_to_install">Nol è stât pussibil instalâ cheste estension.</string>
-    <!-- Text shown when attempting to install an add-on and a network error happened. -->
-    <string name="mozac_feature_addons_failed_to_install_network_error" moz:removedIn="126" tools:ignore="UnusedResources">Impussibil discjariâ chest component adizionâl par vie di un erôr te conession.</string>
     <!-- Text shown when attempting to install an extension and a network error happened. -->
     <string name="mozac_feature_addons_extension_failed_to_install_network_error">Nol è stât pussibil discjariâ cheste estension par vie di un erôr te conession.</string>
-    <!-- Text shown when attempting to install an add-on and the downloaded file is corrupted. -->
-    <string name="mozac_feature_addons_failed_to_install_corrupt_error" moz:removedIn="126" tools:ignore="UnusedResources">Impussibil instalâ chest component adizionâl parcè che al somee ruvinât.</string>
     <!-- Text shown when attempting to install an extension and the downloaded file is corrupted. -->
     <string name="mozac_feature_addons_extension_failed_to_install_corrupt_error">Nol è stât pussibil instalâ cheste estension parcè che e somee ruvinade.</string>
     <!-- Text shown when attempting to install an add-on and an error occurred because the extension was not signed. -->
-    <string name="mozac_feature_addons_failed_to_install_not_signed_error" moz:removedIn="126" tools:ignore="UnusedResources">Impussibil instalâ chest component adizionâl parcè che nol è stât verificât.</string>
-    <!-- Text shown when attempting to install an add-on and an error occurred because the extension was not signed. -->
     <string name="mozac_feature_addons_extension_failed_to_install_not_signed_error">Nol è stât pussibil instalâ cheste estension parcè che no je stade verificade.</string>
     <!-- Text shown when attempting to install an add-on and an error occurred because the extension was incompatible. %1$s is the add-on name, %2$s is the app name and %3$s is the app version. -->
     <string name="mozac_feature_addons_failed_to_install_incompatible_error">Impussibil instalâ %1$s parcè che nol è compatibil cun %2$s %3$s.</string>
     <!-- Text shown when attempting to install a blocklisted add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_blocklisted_1">Impussibil instalâ %1$s parcè che al à un risi elevât di causâ problemis di stabilitât e sigurece.</string>
+    <!-- Text shown when attempting to install an add-on that can only be install via Enterprise Policies, which is not supported on Android.  %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_admin_install_only">Nol è pussibil instalâ %1$s parcè che dome une organizazion che e dopre politichis di imprese e pues instalâlu, e chestis politichis no son supuartadis su cheste plateforme.</string>
     <!-- Text shown after successfully enabled an add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_successfully_enabled">%1$s abilitât cun sucès</string>
     <!-- Text shown after failed to enable an add-on. %1$s is the add-on name. -->
@@ -254,12 +220,8 @@
     <string name="mozac_feature_addons_failed_to_remove" tools:ignore="UnusedResources">Impussibil gjavâ %1$s</string>
     <!-- Label shown to indicate that the add-on was migrated from a previous version of the app. %1$s is the app name most of the case it will be Firefox. -->
     <string name="mozac_feature_addons_migrated_from_a_previous_version_label" tools:ignore="UnusedResources">Chest component adizionâl al rive de migrazion di une version precedente di %1$s</string>
-    <!-- Text shown in not yet supported add-ons section in AddonsManagerAdapter. -->
-    <string name="mozac_feature_addons_unsupported_caption" moz:removedIn="126" tools:ignore="UnusedResources">1 component adizionâl</string>
     <!-- Text shown in not yet supported add-ons section. -->
     <string name="mozac_feature_addons_unsupported_caption_2">1 estension</string>
-    <!-- Text shown in not yet supported add-ons section in AddonsManagerAdapter - plural. %1$s is the number of unsupported add-ons -->
-    <string name="mozac_feature_addons_unsupported_caption_plural" moz:removedIn="126" tools:ignore="UnusedResources">%1$s components adizionâi</string>
     <!-- Text shown in not yet supported add-ons section - plural. %1$s is the number of unsupported extensions. -->
     <string name="mozac_feature_addons_unsupported_caption_plural_2">%1$s estensions</string>
     <!-- Text link to a sumo page for learning more about unsupported add-ons. -->
@@ -278,13 +240,9 @@
     <string name="mozac_feature_addons_updater_dialog_status">Stât:</string>
     <!-- Text shown in the dialog when add-on installation is completed. %1$s is the add-on name. %2$s is the app name. -->
     <string name="mozac_feature_addons_installed_dialog_title">%1$s al è stât zontât a %2$s</string>
-    <!-- Text shown in the dialog when add-on installation is completed. -->
-    <string name="mozac_feature_addons_installed_dialog_description" moz:removedIn="124" tools:ignore="UnusedResources">Vierzilu tal menù</string>
     <!-- Text shown in the dialog when add-on installation is completed. %1$s is the add-on name. %2$s is the app name. -->
     <string name="mozac_feature_addons_installed_dialog_description_2">Jentre in %1$s dal menù di %2$s.</string>
     <!-- Confirmation button text for the dialog when add-on installation is completed. -->
-    <string name="mozac_feature_addons_installed_dialog_okay_button" moz:removedIn="124" tools:ignore="UnusedResources">Va ben, capît</string>
-    <!-- Confirmation button text for the dialog when add-on installation is completed. -->
     <string name="mozac_feature_addons_installed_dialog_okay_button_2">Va ben</string>
     <!-- "Learn more" link displayed below an add-on status message. -->
     <string name="mozac_feature_addons_status_learn_more">Plui informazions</string>
diff --git a/mobile/android/android-components/components/feature/addons/src/main/res/values-ja/strings.xml b/mobile/android/android-components/components/feature/addons/src/main/res/values-ja/strings.xml
index 6a7f52070f6a62b8cecd288c939aad4e430d9322..10e8b4cc01812ebfc20eb8648ac533c40322b9a9 100644
--- a/mobile/android/android-components/components/feature/addons/src/main/res/values-ja/strings.xml
+++ b/mobile/android/android-components/components/feature/addons/src/main/res/values-ja/strings.xml
@@ -76,8 +76,6 @@
     <string name="mozac_feature_addons_version">バージョン</string>
     <!-- The author of an add-on. -->
     <string name="mozac_feature_addons_author">作者</string>
-    <!-- The authors of an add-on. -->
-    <string name="mozac_feature_addons_authors" moz:removedIn="123" tools:ignore="UnusedResources">作者</string>
     <!-- The last date that the add-on was updated. -->
     <string name="mozac_feature_addons_last_updated">最終更新日時</string>
     <!-- The developer website (Homepage) of the add-on. -->
@@ -86,16 +84,12 @@
     <string name="mozac_feature_addons_learn_more">権限の詳細情報</string>
     <!-- The rating of the add-on. -->
     <string name="mozac_feature_addons_rating">評価</string>
-    <!-- A link that points to the detail page of the add-on. -->
-    <string name="mozac_feature_addons_more_info_link" moz:removedIn="126" tools:ignore="UnusedResources">このアドオンの詳細</string>
     <!-- A link that points to the detail page of the extension. -->
     <string name="mozac_feature_addons_more_info_link_2">この拡張機能の詳細</string>
     <!-- The settings of the add-on. -->
     <string name="mozac_feature_addons_settings">設定</string>
     <!-- Indicates the add-on is enabled. -->
     <string name="mozac_feature_addons_settings_on">オン</string>
-    <!-- Indicates the add-on is disabled. -->
-    <string name="mozac_feature_addons_settings_off" moz:removedIn="125" tools:ignore="UnusedResources">オフ</string>
     <!-- Indicates the add-on is allowed in private browsing mode. -->
     <string name="mozac_feature_addons_settings_allow_in_private_browsing">プライベートブラウジングモードでの動作を許可する</string>
     <!-- Indicates the add-on is allowed in private browsing mode. -->
@@ -104,8 +98,6 @@
     <string name="mozac_feature_addons_not_allowed_in_private_browsing">プライベートウィンドウでは許可されていません</string>
     <!-- Indicates the add-on is enabled. -->
     <string name="mozac_feature_addons_enabled">有効</string>
-    <!-- Indicates the add-on is disabled. -->
-    <string name="mozac_feature_addons_disabled" moz:removedIn="125" tools:ignore="UnusedResources">無効</string>
     <!-- This is displayed in a page where the user can see the installed and recommended(not installed yet) add-ons, this string indicates the installed section. -->
     <string name="mozac_feature_addons_installed_section">インストール済み</string>
     <!-- This is displayed in a page where the user can see the installed and recommended(not installed yet) add-ons, this string indicates the recommended section. -->
@@ -140,36 +132,24 @@
     <string name="mozac_feature_addons_permissions_dialog_deny">拒否</string>
     <!-- This is a button to cancel the add-on installation . -->
     <string name="mozac_feature_addons_permissions_dialog_cancel">キャンセル</string>
-    <!-- Accessibility content description to install add-on button. -->
-    <string name="mozac_feature_addons_install_addon_content_description" tools:ignore="UnusedResources" moz:removedIn="124">アドオンをインストール</string>
     <!-- Accessibility content description to install add-on button. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_install_addon_content_description_2">%1$s をインストール</string>
     <!-- This is the label of a button to cancel an ongoing add-on installation. -->
     <string name="mozac_feature_addons_install_addon_dialog_cancel">キャンセル</string>
     <!-- Indicates how many users have rated an add-on. %1$s will be replaced with number of reviews -->
     <string name="mozac_feature_addons_user_rating_count_2">レビュー数: %1$s</string>
-    <!-- Accessibility content description for the amount of stars that add-on has, where %1$.02f will be the amount of stars and / separator and 5 the maximum number of stars e.g (2/5, 4.5/5 or 5/5)  . -->
-    <string name="mozac_feature_addons_rating_content_description" moz:removedIn="124" tools:ignore="UnusedResources">%1$.02f/5</string>
     <!-- Accessibility content description for the amount of stars that add-on has, where %1$.02f will be the amount of stars. -->
     <string name="mozac_feature_addons_rating_content_description_2">評価: 5 点中 %1$.02f</string>
     <!-- This is the title of page where all the add-ons are listed-->
     <string name="mozac_feature_addons_addons">アドオン</string>
     <!-- Label for add-ons sub menu item for add-ons manager-->
     <string name="mozac_feature_addons_addons_manager">アドオンマネージャー</string>
-    <!-- The title of the "crash" notification in the add-ons manager -->
-    <string name="mozac_feature_addons_manager_notification_title_text" moz:removedIn="126" tools:ignore="UnusedResources">アドオンは一時的に無効化されています</string>
     <!-- The title of the "crash" notification in the extensions manager -->
     <string name="mozac_feature_extensions_manager_notification_title_text">拡張機能は一時的に無効化されています</string>
-    <!-- The content of the "crash" notification in the add-ons manager -->
-    <string name="mozac_feature_addons_manager_notification_content_text" moz:removedIn="126" tools:ignore="UnusedResources">システムを不安定にしている 1 つ以上のアドオンが動作を停止しました。 </string>
     <!-- The content of the "crash" notification in the extensions manager -->
     <string name="mozac_feature_extensions_manager_notification_content_text">システムを不安定にしている 1 個以上の拡張機能が動作を停止しました。 </string>
-    <!-- Button to re-enable the add-ons in the "crash" notification -->
-    <string name="mozac_feature_addons_manager_notification_restart_button" moz:removedIn="126" tools:ignore="UnusedResources">アドオンを再起動</string>
     <!-- Button to re-enable the extensions in the "crash" notification -->
     <string name="mozac_feature_extensions_manager_notification_restart_button">拡張機能を再起動</string>
-    <!-- Button in the add-ons manager that opens AMO in a tab -->
-    <string name="mozac_feature_addons_find_more_addons_button_text" moz:removedIn="126" tools:ignore="UnusedResources">アドオンを探す</string>
     <!-- Button in the extensions manager that opens AMO in a tab -->
     <string name="mozac_feature_addons_find_more_extensions_button_text">拡張機能を探す</string>
     <!-- The label of the allow button, this will be shown to the user when an add-on needs new permissions, with the button the user will indicate that they want to accept the new permissions and update the add-on-->
@@ -182,8 +162,6 @@
     <string name="mozac_feature_addons_updater_notification_content" tools:ignore="PluralsCandidate">%1$d 個の権限が必要です</string>
     <!-- The content of the notification displayed when an add-on needs a new permission-->
     <string name="mozac_feature_addons_updater_notification_content_singular">新しい権限が必要です</string>
-    <!-- Name of the "notification channel" used for displaying a notification for updating an add-on. See https://developer.android.com/training/notify-user/channels -->
-    <string name="mozac_feature_addons_updater_notification_channel" moz:removedIn="126" tools:ignore="UnusedResources">アドオンの更新</string>
     <!-- Name of the "notification channel" used for displaying a notification for updating an extension. See https://developer.android.com/training/notify-user/channels -->
     <string name="mozac_feature_addons_updater_notification_channel_2">拡張機能の更新</string>
     <!-- Name of the "notification channel" used for displaying a notification for new supported add-ons. See https://developer.android.com/training/notify-user/channels -->
@@ -199,15 +177,9 @@
     <!-- The content of the notification, this will be shown to the user when more than two newly supported add-ons are available. %1$s is the app name (in most cases Firefox). -->
     <string name="mozac_feature_addons_supported_checker_notification_content_more_than_two">これらを %1$s に追加しましょう</string>
     <!-- This is the caption for not yet supported screen caption -->
-    <string name="mozac_feature_addons_not_yet_supported_caption" moz:removedIn="126" tools:ignore="UnusedResources">Firefox のアドオン技術は近代化されています。これらのアドオンが使用するフレームワークは Firefox 75 以降と互換性がありません。</string>
-    <!-- This is the caption for not yet supported screen caption -->
     <string name="mozac_feature_addons_not_yet_supported_caption2">現在、最初に選ばれるおすすめの拡張機能のサポートを構築しています。</string>
-    <!-- This is the caption for the add-on installation progress overlay -->
-    <string name="mozac_add_on_install_progress_caption" moz:removedIn="126" tools:ignore="UnusedResources">アドオンをダウンロードして検証しています…</string>
     <!-- This is the caption for the extension installation progress overlay -->
     <string name="mozac_extension_install_progress_caption">拡張機能をダウンロードして検証しています…</string>
-    <!-- Error shown when something unexpected happened while trying to get the add-on list from the server -->
-    <string name="mozac_feature_addons_failed_to_query_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">アドオン一覧の取得に失敗しました!</string>
     <!-- Error shown when something unexpected happened while trying to get the extension list from the server -->
     <string name="mozac_feature_addons_failed_to_query_extensions">拡張機能一覧の取得に失敗しました!</string>
     <!-- Error shown when unable to find a translation for an add-on field. %1$s is the locale of the user and %2$s is the default language of the add-on -->
@@ -216,26 +188,20 @@
     <string name="mozac_feature_addons_successfully_installed">%1$s のインストールが完了しました</string>
     <!-- Text shown after failed to install an add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_failed_to_install">%1$s のインストールに失敗しました</string>
-    <!-- Text shown after failing to install an add-on for which we don't have its name. -->
-    <string name="mozac_feature_addons_failed_to_install_generic" moz:removedIn="126" tools:ignore="UnusedResources">アドオンのインストールに失敗しました。</string>
     <!-- Text shown after failing to install an extension for which we don't have its name. -->
     <string name="mozac_feature_addons_extension_failed_to_install">拡張機能のインストールに失敗しました。</string>
-    <!-- Text shown when attempting to install an add-on and a network error happened. -->
-    <string name="mozac_feature_addons_failed_to_install_network_error" moz:removedIn="126" tools:ignore="UnusedResources">接続エラーのため、アドオンをダウンロードできませんでした。</string>
     <!-- Text shown when attempting to install an extension and a network error happened. -->
     <string name="mozac_feature_addons_extension_failed_to_install_network_error">接続エラーのため、拡張機能をダウンロードできませんでした。</string>
-    <!-- Text shown when attempting to install an add-on and the downloaded file is corrupted. -->
-    <string name="mozac_feature_addons_failed_to_install_corrupt_error" moz:removedIn="126" tools:ignore="UnusedResources">このアドオンは壊れているため、インストールできませんでした。</string>
     <!-- Text shown when attempting to install an extension and the downloaded file is corrupted. -->
     <string name="mozac_feature_addons_extension_failed_to_install_corrupt_error">この拡張機能は壊れているため、インストールできませんでした。</string>
     <!-- Text shown when attempting to install an add-on and an error occurred because the extension was not signed. -->
-    <string name="mozac_feature_addons_failed_to_install_not_signed_error" moz:removedIn="126" tools:ignore="UnusedResources">このアドオンは検証されていないため、インストールできませんでした。</string>
-    <!-- Text shown when attempting to install an add-on and an error occurred because the extension was not signed. -->
     <string name="mozac_feature_addons_extension_failed_to_install_not_signed_error">この拡張機能は検証されていないため、インストールできませんでした。</string>
     <!-- Text shown when attempting to install an add-on and an error occurred because the extension was incompatible. %1$s is the add-on name, %2$s is the app name and %3$s is the app version. -->
     <string name="mozac_feature_addons_failed_to_install_incompatible_error">%2$s %3$s と互換性がないため、%1$s をインストールできませんでした。</string>
     <!-- Text shown when attempting to install a blocklisted add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_blocklisted_1">セキュリティまたは安定性に問題があるため、%1$s をインストールできませんでした。</string>
+    <!-- Text shown when attempting to install an add-on that can only be install via Enterprise Policies, which is not supported on Android.  %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_admin_install_only">%1$s をインストールできませんでした。これはエンタープライズポリシーを使用する組織によってインストールすることができますが、このプラットフォームではサポートされていません。</string>
     <!-- Text shown after successfully enabled an add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_successfully_enabled">%1$s を有効にしました</string>
     <!-- Text shown after failed to enable an add-on. %1$s is the add-on name. -->
@@ -254,12 +220,8 @@
     <string name="mozac_feature_addons_failed_to_remove" tools:ignore="UnusedResources">%1$s の削除に失敗しました</string>
     <!-- Label shown to indicate that the add-on was migrated from a previous version of the app. %1$s is the app name most of the case it will be Firefox. -->
     <string name="mozac_feature_addons_migrated_from_a_previous_version_label" tools:ignore="UnusedResources">このアドオンは以前のバージョン %1$s から移行されました</string>
-    <!-- Text shown in not yet supported add-ons section in AddonsManagerAdapter. -->
-    <string name="mozac_feature_addons_unsupported_caption" moz:removedIn="126" tools:ignore="UnusedResources">1 個のアドオン</string>
     <!-- Text shown in not yet supported add-ons section. -->
     <string name="mozac_feature_addons_unsupported_caption_2">拡張機能 1 個</string>
-    <!-- Text shown in not yet supported add-ons section in AddonsManagerAdapter - plural. %1$s is the number of unsupported add-ons -->
-    <string name="mozac_feature_addons_unsupported_caption_plural" moz:removedIn="126" tools:ignore="UnusedResources">%1$s 個のアドオン</string>
     <!-- Text shown in not yet supported add-ons section - plural. %1$s is the number of unsupported extensions. -->
     <string name="mozac_feature_addons_unsupported_caption_plural_2">拡張機能 %1$s 個</string>
     <!-- Text link to a sumo page for learning more about unsupported add-ons. -->
@@ -278,13 +240,9 @@
     <string name="mozac_feature_addons_updater_dialog_status">状態:</string>
     <!-- Text shown in the dialog when add-on installation is completed. %1$s is the add-on name. %2$s is the app name. -->
     <string name="mozac_feature_addons_installed_dialog_title">%1$s が %2$s に追加されました</string>
-    <!-- Text shown in the dialog when add-on installation is completed. -->
-    <string name="mozac_feature_addons_installed_dialog_description" moz:removedIn="124" tools:ignore="UnusedResources">メニューから開いてください</string>
     <!-- Text shown in the dialog when add-on installation is completed. %1$s is the add-on name. %2$s is the app name. -->
     <string name="mozac_feature_addons_installed_dialog_description_2">%2$s メニューから %1$s にアクセスしてください。</string>
     <!-- Confirmation button text for the dialog when add-on installation is completed. -->
-    <string name="mozac_feature_addons_installed_dialog_okay_button" moz:removedIn="124" tools:ignore="UnusedResources">OK</string>
-    <!-- Confirmation button text for the dialog when add-on installation is completed. -->
     <string name="mozac_feature_addons_installed_dialog_okay_button_2">OK</string>
     <!-- "Learn more" link displayed below an add-on status message. -->
     <string name="mozac_feature_addons_status_learn_more">詳細情報</string>
diff --git a/mobile/android/android-components/components/feature/addons/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/addons/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..91c72ab9bf066039cad7c75d64e24d924904bf4c
--- /dev/null
+++ b/mobile/android/android-components/components/feature/addons/src/main/res/values-meh/strings.xml
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:tools="http://schemas.android.com/tools" xmlns:moz="http://schemas.android.com/apk/res-auto">
+    <!-- Description for privacy add-on permission. -->
+    <string name="mozac_feature_addons_permissions_privacy_description">Ka´vi je nake´i nánuku yu´u</string>
+    <!-- Description for all_urls add-on permission. -->
+    <string name="mozac_feature_addons_permissions_all_urls_description">Kivu nuu datos noo´o nuu kuaiyo daa nuu web</string>
+    <!-- Description for giving an add-on access to users's data on one site. %1$s  will be replaced by the DNS host name for which a web extension is requesting access (e.g., www.mozilla.org). -->
+    <string name="mozac_feature_addons_permissions_one_site_description">Kivu nuu datos noo´o saa %1$s</string>
+    <!-- Description for giving an add-on access to users's data in multiple sites in the domain %1$s. %1$s will be replaced by the DNS domain for which a web extension is requesting access (e.g., mozilla.org). -->
+    <string name="mozac_feature_addons_permissions_sites_in_domain_description">Kivu nuu datos noo´o nuu daa inka sitios dominio %1$s</string>
+    <!-- When an add-on requires access to more than 4 sites, for example the add-on requires access for 5 sites. We will show the first 4 sites in individual entries, as in mozac_feature_addons_permissions_one_site_description,
+     then we will show another collapsed entry saying "Access your data on 1 other site". This entry it's for the singular case, when the add-on is only accessing one extra site. -->
+    <string name="mozac_feature_addons_permissions_one_extra_site_description" tools:ignore="PluralsCandidate">Kivu nuu datos noo´o nuu 1 kuaiyo daa nuu</string>
+    <!-- When an add-on requires access to more than 4 sites, for example the add-on requires access for 6 sites. We will show the first 4 sites in individual entries, as in mozac_feature_addons_permissions_one_site_description,
+     then we will show another collapsed entry saying "Access your data on 2 other sites". This entry it's for the plural case, when the add-on is accessing more than one extra site.
+     %1$d will be replaced by an integer indicating the number of additional hosts for which this web extension is requesting permission. -->
+    <string name="mozac_feature_addons_permissions_extra_sites_description" tools:ignore="PluralsCandidate">Kivu nuu datos noo´o nuu %1$d kuaiyo daa nuu</string>
+    <!-- When an add-on requires access to more than 4 domains, for example the add-on requires access for 5 domains. We will show the first 4 domains in individual entries, as in mozac_feature_addons_permissions_sites_in_domain_description,
+      then we will show another collapsed entry saying "Access your data on 1 other domain". This entry it's for the singular case, when the add-on is only accessing one extra domain. -->
+    <string name="mozac_feature_addons_permissions_one_extra_domain_description" tools:ignore="PluralsCandidate">Kivu nuu datos noo´o nuu 1 kuaiyo daa dominios</string>
+    <!-- When an add-on requires access to more than 4 domains, for example the add-on requires access for 6 domains. We will show the first 4 domains in individual entries, as in mozac_feature_addons_permissions_sites_in_domain_description,
+     then we will show another collapsed entry saying "Access your data on 2 other domains". This entry it's for the plural case, when the add-on is accessing more than one extra domain.
+     %1$d will be replaced by an integer indicating the number of additional domains for which this web extension is requesting permission. -->
+    <string name="mozac_feature_addons_permissions_extra_domains_description_plural" tools:ignore="PluralsCandidate">Kivu nuu datos noo´o nuu %1$d kuaiyo daa dominios</string>
+    <!-- Content description for a permission item, for an installed add-on details page. %1$s will be replaced with the permission text name, %2$d will be replaced with the permission position in the list and %3$d will be replaced with the total number of permissions in the list.Taking as an example "Read and modify privacy settings" the whole text will read Read and modify privacy settings, 2 of 6. -->
+    <string name="mozac_feature_addons_permissions_content_description_item">%1$s, %2$d de %3$d</string>
+    <!-- Description for tabs add-on permission. -->
+    <string name="mozac_feature_addons_permissions_tabs_description">Kivu nuu pestañas ka̱a̱ nánuku</string>
+    <!-- Description for unlimited_storage permission. -->
+    <string name="mozac_feature_addons_permissions_unlimited_storage_description">Chuva´a yaku datos del lado del cliente</string>
+    <!-- Description for navigation permission. -->
+    <string name="mozac_feature_addons_permissions_web_navigation_description">Kivu nuu satiñu ka̱a̱ nánuku saa nánukunu</string>
+    <!-- Description for bookmarks permission. -->
+    <string name="mozac_feature_addons_permissions_bookmarks_description">Ka´vi jee sama a ta´a ininu</string>
+    <!-- Description for browser_setting permission. -->
+    <string name="mozac_feature_addons_permissions_browser_setting_description">Ka´vi je sama náke´i ka̱a̱ nánuku</string>
+    <!-- Description for browser_data permission. -->
+    <string name="mozac_feature_addons_permissions_browser_data_description">Xina da skuata nnánukunu, cookies jíí da inka datos</string>
+    <!-- Description for clipboard_read permission. -->
+    <string name="mozac_feature_addons_permissions_clipboard_read_description">Nake´e tutu datos nuu portapapeles</string>
+    <!-- Description for clipboard_write permission. -->
+    <string name="mozac_feature_addons_permissions_clipboard_write_description">Chu´un datos nuu portapapeles</string>
+    <!-- Description for declarativeNetRequest permission. -->
+    <string name="mozac_feature_addons_permissions_declarative_net_request_description">Chiyu\'u contenido ntaka nuu</string>
+    <!-- Description for declarativeNetRequestFeedback permission. -->
+    <string name="mozac_feature_addons_permissions_declarative_net_request_feedback_description">Ka\'vi daa tu\'un nnánukunu</string>
+    <!-- Description for downloads permission. -->
+    <string name="mozac_feature_addons_permissions_downloads_description">Xinuu archivos jee ka´vi jee sama historial nxinuu nu ka̱a̱ nánuku</string>
+    <!-- Description for downloads_open permission. -->
+    <string name="mozac_feature_addons_permissions_downloads_open_description">Síne da archivo nxinuu nu ka̱a̱ nichi noo´o</string>
+    <!-- Description for find permission. -->
+    <string name="mozac_feature_addons_permissions_find_description">Ka´vi tu´un kuaiyo da pestañas nune</string>
+    <!-- Description for geolocation permission. -->
+    <string name="mozac_feature_addons_permissions_geolocation_description">Kutuvi nu iñɨ noo´o</string>
+    <!-- Description for history permission. -->
+    <string name="mozac_feature_addons_permissions_history_description">Kivu nuu tu\'un nnanukunu</string>
+    <!-- Description for management permission. -->
+    <string name="mozac_feature_addons_permissions_management_description">Kumi naja ni´i extensión jee tetiñu daa temas</string>
+    <!-- Description for native_messaging permission. -->
+    <string name="mozac_feature_addons_permissions_native_messaging_description">Sama tu´un jíí daa inka ka̱a̱ ntu iyo inu</string>
+    <!-- Description for notifications permission. -->
+    <string name="mozac_feature_addons_permissions_notifications_description">Xine´e notificaciones</string>
+    <!-- Description for pkcs11 permission. -->
+    <string name="mozac_feature_addons_permissions_pkcs11_description">Kua\'a servicios de autenticación criptográfica</string>
+    <!-- Description for proxy permission. -->
+    <string name="mozac_feature_addons_permissions_proxy_description">Skaka nuu ke´i proxy ka̱a̱ nánuku</string>
+    <!-- Description for sessions permission. -->
+    <string name="mozac_feature_addons_permissions_sessions_description">Kivu nuu pestañas skuata nnakasɨ</string>
+    <!-- Description for tab_hide permission. -->
+    <string name="mozac_feature_addons_permissions_tab_hide_description">Chiyu\'u je xituvi pestañas nuu ka̱a̱ nánuku</string>
+    <!-- Description for top_sites permission. -->
+    <string name="mozac_feature_addons_permissions_top_sites_description">Kivu nuu tu\'un nnanukunu</string>
+    <!-- Description for devtools permission. -->
+    <string name="mozac_feature_addons_permissions_devtools_description">Sá´á ka´nu daa herramientas desarrolladores sa kuvi kivu nu datos noo´o nu pestañas nune.</string>
+    <!-- The version on of add-on. -->
+    <string name="mozac_feature_addons_version">Versión</string>
+    <!-- The author of an add-on. -->
+    <string name="mozac_feature_addons_author">Autor</string>
+    <!-- The authors of an add-on. -->
+    <string name="mozac_feature_addons_authors" moz:removedIn="123" tools:ignore="UnusedResources">Autores</string>
+    <!-- The last date that the add-on was updated. -->
+    <string name="mozac_feature_addons_last_updated">Nu nɨ´ɨ actualización</string>
+    <!-- The developer website (Homepage) of the add-on. -->
+    <string name="mozac_feature_addons_home_page">Nuu kajie´e</string>
+    <!-- A link where users can find more information about add-ons permissions. -->
+    <string name="mozac_feature_addons_learn_more">Ka´vi kue´eka jie´e permisos</string>
+    <!-- The rating of the add-on. -->
+    <string name="mozac_feature_addons_rating">Clasificación</string>
+    <!-- A link that points to the detail page of the add-on. -->
+    <string name="mozac_feature_addons_more_info_link" moz:removedIn="126" tools:ignore="UnusedResources">Kue\'eka jííe ka̱a̱ nánuku</string>
+    <!-- A link that points to the detail page of the extension. -->
+    <string name="mozac_feature_addons_more_info_link_2">Kue\'eka jííe extensión ya\'a</string>
+    <!-- The settings of the add-on. -->
+    <string name="mozac_feature_addons_settings">Ke´i</string>
+    <!-- Indicates the add-on is enabled. -->
+    <string name="mozac_feature_addons_settings_on">Tɨɨn</string>
+    <!-- Indicates the add-on is disabled. -->
+    <string name="mozac_feature_addons_settings_off" moz:removedIn="125" tools:ignore="UnusedResources">Xina´va</string>
+    <!-- Indicates the add-on is allowed in private browsing mode. -->
+    <string name="mozac_feature_addons_settings_allow_in_private_browsing">Jia\'a kaka yu\'unu</string>
+    <!-- Indicates the add-on is allowed in private browsing mode. -->
+    <string name="mozac_feature_addons_settings_run_in_private_browsing">Kua\'a sá´á kaka yu\'unu</string>
+    <!-- This is displayed when the add-on is not allowed to run in private browsing. -->
+    <string name="mozac_feature_addons_not_allowed_in_private_browsing">Ntu satiñu nuu ventana yu\'u</string>
+    <!-- Indicates the add-on is enabled. -->
+    <string name="mozac_feature_addons_enabled">Tee</string>
+    <!-- Indicates the add-on is disabled. -->
+    <string name="mozac_feature_addons_disabled" moz:removedIn="125" tools:ignore="UnusedResources">Chiyu´u</string>
+    <!-- This is displayed in a page where the user can see the installed and recommended(not installed yet) add-ons, this string indicates the installed section. -->
+    <string name="mozac_feature_addons_installed_section">A nchu´un</string>
+    <!-- This is displayed in a page where the user can see the installed and recommended(not installed yet) add-ons, this string indicates the recommended section. -->
+    <string name="mozac_feature_addons_recommended_section">Recomendado</string>
+    <!-- This is displayed in a page where the user can see the installed and recommended(not installed yet) add-ons, this string indicates the not yet supported section. -->
+    <string name="mozac_feature_addons_unsupported_section">Ntu compatibles</string>
+    <!-- This is displayed in a page where the user can see the installed and recommended(not installed yet) add-ons, this string indicates the not yet available section. -->
+    <string name="mozac_feature_addons_unavailable_section">Ntu íyo tiñu ntañu\'u</string>
+    <!-- This is displayed in a page where the user can see the installed and recommended(not installed yet) add-ons, this string indicates the disabled section. -->
+    <string name="mozac_feature_addons_disabled_section">Daa nxita</string>
+    <!-- Displays a page with all the details of an add-on. -->
+    <string name="mozac_feature_addons_details">Detalles</string>
+    <!-- Displays a page with all the permissions of an add-on. -->
+    <string name="mozac_feature_addons_permissions">Permisos</string>
+    <!-- This is a button to remove (i.e. uninstall) an add-on. -->
+    <string name="mozac_feature_addons_remove">Xita</string>
+    <!-- This is a button to report an add-on. -->
+    <string name="mozac_feature_addons_report">Reportar</string>
+    <!-- This is the title of a dialog that asks the users if they to install or not an add-on. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_permissions_dialog_title">¿Tee %1$s?</string>
+    <!-- This is the title of a dialog that asks the users to grant optional permissions. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_optional_permissions_dialog_title">%1$s jiniñu´u kua´a inka permisos.</string>
+    <!-- This is the subtitle of a dialog that asks the users if they want to install or not an add-on, the subtitle lists the permissions that this add-on requires, the permissions will dynamically be listed after the ":". -->
+    <string name="mozac_feature_addons_permissions_dialog_subtitle">Jini´ñudani kachinu dee kuvi sá´á:</string>
+    <!-- This is the subtitle of a dialog that asks the users to grant optional permissions, the subtitle lists the permissions that this add-on requests, the permissions will dynamically be listed after the ":". -->
+    <string name="mozac_feature_addons_optional_permissions_dialog_subtitle">Kuní:</string>
+    <!-- This is a button to add (install) an add-on . -->
+    <string name="mozac_feature_addons_permissions_dialog_add">Tee</string>
+    <!-- This is a button to allow the optional permissions requested by an add-on . -->
+    <string name="mozac_feature_addons_permissions_dialog_allow">Kuvi</string>
+    <!-- This is a button to deny the optional permissions requested by an add-on . -->
+    <string name="mozac_feature_addons_permissions_dialog_deny">Nkuvi jia´a</string>
+    <!-- This is a button to cancel the add-on installation . -->
+    <string name="mozac_feature_addons_permissions_dialog_cancel">Nkuvi-ka</string>
+    <!-- Accessibility content description to install add-on button. -->
+    <string name="mozac_feature_addons_install_addon_content_description" tools:ignore="UnusedResources" moz:removedIn="124">Chu´un ka̱a̱ chunta´an</string>
+    <!-- Accessibility content description to install add-on button. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_install_addon_content_description_2">Chu´un %1$s</string>
+    <!-- This is the label of a button to cancel an ongoing add-on installation. -->
+    <string name="mozac_feature_addons_install_addon_dialog_cancel">Nkuvi-ka</string>
+    <!-- Indicates how many users have rated an add-on. %1$s will be replaced with number of reviews -->
+    <string name="mozac_feature_addons_user_rating_count_2">Reseñas: %1$s</string>
+    <!-- Accessibility content description for the amount of stars that add-on has, where %1$.02f will be the amount of stars and / separator and 5 the maximum number of stars e.g (2/5, 4.5/5 or 5/5)  . -->
+    <string name="mozac_feature_addons_rating_content_description" moz:removedIn="124" tools:ignore="UnusedResources">%1$.02f/5</string>
+    <!-- This is the title of page where all the add-ons are listed-->
+    <string name="mozac_feature_addons_addons">Ka̱a̱ chunta´an</string>
+    <!-- Label for add-ons sub menu item for add-ons manager-->
+    <string name="mozac_feature_addons_addons_manager">Ke\'i ka̱a̱ chunta´an</string>
+    <!-- The title of the "crash" notification in the add-ons manager -->
+    <string name="mozac_feature_addons_manager_notification_title_text" moz:removedIn="126" tools:ignore="UnusedResources">Nna\'va daa ka̱a̱ chunta\'an</string>
+    <!-- The title of the "crash" notification in the extensions manager -->
+    <string name="mozac_feature_extensions_manager_notification_title_text">Nna\'va iin nunu daa extensiones</string>
+    <!-- The content of the "crash" notification in the add-ons manager -->
+    <string name="mozac_feature_addons_manager_notification_content_text" moz:removedIn="126" tools:ignore="UnusedResources">Iin a xíín kue\'e daa ka̱a̱ chunta´an ntu kuvi satiñu va\'a, jee ya\'a sá\'á a ka̱a̱ noo\'o ntu satiñu vatu.</string>
+    <!-- The content of the "crash" notification in the extensions manager -->
+    <string name="mozac_feature_extensions_manager_notification_content_text">Iin a xíín kue\'e daa ka̱a̱ chunta´an ntu kuvi satiñu va\'a, jee ya\'a sá\'á a ka̱a̱ noo\'o ntu satiñu va\'a.</string>
+    <!-- Button to re-enable the add-ons in the "crash" notification -->
+    <string name="mozac_feature_addons_manager_notification_restart_button" moz:removedIn="126" tools:ignore="UnusedResources">Nakajie\'e ka̱a̱ chunta´an</string>
+    <!-- Button to re-enable the extensions in the "crash" notification -->
+    <string name="mozac_feature_extensions_manager_notification_restart_button">Nkajie\'e daa extension</string>
+    <!-- Button in the add-ons manager that opens AMO in a tab -->
+    <string name="mozac_feature_addons_find_more_addons_button_text" moz:removedIn="126" tools:ignore="UnusedResources">Nánuku daa ka̱a̱ chunta´an</string>
+    <!-- Button in the extensions manager that opens AMO in a tab -->
+    <string name="mozac_feature_addons_find_more_extensions_button_text">Nánuku kue\'eka extensión</string>
+    <!-- The label of the allow button, this will be shown to the user when an add-on needs new permissions, with the button the user will indicate that they want to accept the new permissions and update the add-on-->
+    <string name="mozac_feature_addons_updater_notification_allow_button">Kuvi</string>
+    <!-- The label of the deny button on a notification, this will be shown to the user when an add-on needs new permissions. Indicates the user denies the new permissions and prevents the add-on from be updated-->
+    <string name="mozac_feature_addons_updater_notification_deny_button">Nkuvi jia´a</string>
+    <!-- The tile of the notification, this will be shown to the user when an add-on needs new permissions, to be updated. %1$s is the name of the add-ons-->
+    <string name="mozac_feature_addons_updater_notification_title">%1$s íyo iin actualización jía</string>
+    <!-- The content of the notification, this will be shown when an add-on needs new permissions, to be updated. %1$d is the amount of new permissions-->
+    <string name="mozac_feature_addons_updater_notification_content" tools:ignore="PluralsCandidate">Jiniñu\'u %1$d permisos jía </string>
+    <!-- The content of the notification displayed when an add-on needs a new permission-->
+    <string name="mozac_feature_addons_updater_notification_content_singular">Jiniñu\'u iin permiso jía </string>
+    <!-- Name of the "notification channel" used for displaying a notification for updating an add-on. See https://developer.android.com/training/notify-user/channels -->
+    <string name="mozac_feature_addons_updater_notification_channel" moz:removedIn="126" tools:ignore="UnusedResources">A jíía ka̱a̱ chunta´an</string>
+    <!-- Name of the "notification channel" used for displaying a notification for updating an extension. See https://developer.android.com/training/notify-user/channels -->
+    <string name="mozac_feature_addons_updater_notification_channel_2">Daa a jíía extensiones</string>
+    <!-- Name of the "notification channel" used for displaying a notification for new supported add-ons. See https://developer.android.com/training/notify-user/channels -->
+    <string name="mozac_feature_addons_supported_checker_notification_channel" tools:ignore="UnusedResources">Inspector daa ka̱a̱ chunta´an compatibles</string>
+    <!-- The tile of the notification, this will be shown to the user when one newly supported add-on is available.-->
+    <string name="mozac_feature_addons_supported_checker_notification_title" tools:ignore="UnusedResources">Iyo ka̱a̱ chunta\'an jía</string>
+    <!-- The tile of the notification, this will be shown to the user when more than one newly supported add-ons are available.-->
+    <string name="mozac_feature_addons_supported_checker_notification_title_plural" tools:ignore="UnusedResources">Iyo daa ka̱a̱ chunta\'an jía</string>
+    <!-- The content of the notification, this will be shown to the user when one newly supported add-on is available. %1$s is the add-on name and %2$s is the app name (in most cases Firefox). -->
+    <string name="mozac_feature_addons_supported_checker_notification_content_one">Tee %1$s a %2$s</string>
+    <!-- The content of the notification, this will be shown to the user when two newly supported add-ons are available. %1$s is the first add-on name. %2$s is the second add-on name. %3$s is the app name (in most cases Firefox). -->
+    <string name="mozac_feature_addons_supported_checker_notification_content_two">Tee %1$s jii %2$s nuu %3$s</string>
+    <!-- The content of the notification, this will be shown to the user when more than two newly supported add-ons are available. %1$s is the app name (in most cases Firefox). -->
+    <string name="mozac_feature_addons_supported_checker_notification_content_more_than_two">Tee nuu %1$s</string>
+    <!-- This is the caption for not yet supported screen caption -->
+    <string name="mozac_feature_addons_not_yet_supported_caption" moz:removedIn="126" tools:ignore="UnusedResources">Se moderniza la tecnología daa ka̱a̱ chunta´ande Firefox. Daa ka̱a̱ chunta´an ni\'ida marcos no compatibles desde Firefox 75 y más allá.</string>
+    <!-- This is the caption for not yet supported screen caption -->
+    <string name="mozac_feature_addons_not_yet_supported_caption2">Vitan sá´ádani iin soporte para una selección inicial de extensiones recomendadas.</string>
+    <!-- This is the caption for the add-on installation progress overlay -->
+    <string name="mozac_add_on_install_progress_caption" moz:removedIn="126" tools:ignore="UnusedResources">Xinuu jee saa verificar ka̱a̱ chunta\'an</string>
+    <!-- This is the caption for the extension installation progress overlay -->
+    <string name="mozac_extension_install_progress_caption">Xinuun je ne\'ya extension…</string>
+    <!-- Error shown when something unexpected happened while trying to get the add-on list from the server -->
+    <string name="mozac_feature_addons_failed_to_query_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">Ntu nkuvi nani\'i ka̱a̱ chunta´an!</string>
+    <!-- Error shown when something unexpected happened while trying to get the extension list from the server -->
+    <string name="mozac_feature_addons_failed_to_query_extensions">Failed to query Extensions!</string>
+    <!-- Error shown when unable to find a translation for an add-on field. %1$s is the locale of the user and %2$s is the default language of the add-on -->
+    <string name="mozac_feature_addons_failed_to_translate">Ntu nnani\'in naja kachi ji inka tu\'un %1$s je na íyo tu\'un predeterminado vaji %2$s</string>
+    <!-- Text shown after successfully installed an add-on. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_successfully_installed">%1$s nchu\'un vatu</string>
+    <!-- Text shown after failed to install an add-on. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_failed_to_install">Ntu nkuvi chu\'un %1$s</string>
+    <!-- Text shown after failing to install an add-on for which we don't have its name. -->
+    <string name="mozac_feature_addons_failed_to_install_generic" moz:removedIn="126" tools:ignore="UnusedResources">Ntu nkuvi chu\'un ka̱a̱ chunta´an.</string>
+    <!-- Text shown after failing to install an extension for which we don't have its name. -->
+    <string name="mozac_feature_addons_extension_failed_to_install">Ntu nkuvi chu\'un extensión ya\'a</string>
+    <!-- Text shown when attempting to install an add-on and a network error happened. -->
+    <string name="mozac_feature_addons_failed_to_install_network_error" moz:removedIn="126" tools:ignore="UnusedResources">Ka̱a̱ chunta´an ntu nkuvi xinuu jiee ntu nkuvi sá\'á conexión.</string>
+    <!-- Text shown when attempting to install an extension and a network error happened. -->
+    <string name="mozac_feature_addons_extension_failed_to_install_network_error">Extensión ya\'a ntu nkuvi xinuun jiee iin tixin jíí conexión.</string>
+    <!-- Text shown when attempting to install an add-on and the downloaded file is corrupted. -->
+    <string name="mozac_feature_addons_failed_to_install_corrupt_error" moz:removedIn="126" tools:ignore="UnusedResources">Ka̱a̱ chunta´an ya´a ntu nkuvi chu´un jiee sa̱naan íyo iin a nna̱tá.</string>
+    <!-- Text shown when attempting to install an add-on and an error occurred because the extension was not signed. -->
+    <string name="mozac_feature_addons_failed_to_install_not_signed_error" moz:removedIn="126" tools:ignore="UnusedResources">Ka̱a̱ chunta´an ya´a ntu nkuvi chu´un jiee nsa kutunio de íyo vatu.</string>
+    <!-- Text shown when attempting to install an add-on and an error occurred because the extension was incompatible. %1$s is the add-on name, %2$s is the app name and %3$s is the app version. -->
+    <string name="mozac_feature_addons_failed_to_install_incompatible_error">%1$s ntu nkuvi chu´un jiee ntu kunta´a va´a jii %2$s %3$s.</string>
+    <!-- Text shown when attempting to install a blocklisted add-on. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_blocklisted_1">%1$s ntu nkuvi chu´un jiee sa̱naan sa´a xeen a xiin nkunee va´a.</string>
+    <!-- Text shown after successfully enabled an add-on. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_successfully_enabled">%1$s nchu\'un vatu</string>
+    <!-- Text shown after failed to enable an add-on. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_failed_to_enable">Ntu nkuvi chu\'un %1$s</string>
+    <!-- Text shown after successfully disabled an add-on. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_successfully_disabled">%1$s nxita vatu</string>
+    <!-- Text shown after failed to disable an add-on. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_failed_to_disable">Ntu nkuvi xitama %1$s</string>
+    <!-- Text shown after successfully uninstalled an add-on. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_successfully_uninstalled">%1$s nxita vatu</string>
+    <!-- Text shown after failed to uninstall an add-on. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_failed_to_uninstall">Ntu nkuvi xitama %1$s</string>
+    <!-- Text shown after successfully removed an add-on. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_successfully_removed" tools:ignore="UnusedResources">%1$s nxita vatu</string>
+    <!-- Text shown after failed to remove an add-on. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_failed_to_remove" tools:ignore="UnusedResources">Ntu nkuvi xita %1$s</string>
+    <!-- Label shown to indicate that the add-on was migrated from a previous version of the app. %1$s is the app name most of the case it will be Firefox. -->
+    <string name="mozac_feature_addons_migrated_from_a_previous_version_label" tools:ignore="UnusedResources">Ka̱a̱ chunta´an ya\'a vaniji ne iin versión yata %1$s</string>
+    <!-- Text shown in not yet supported add-ons section in AddonsManagerAdapter. -->
+    <string name="mozac_feature_addons_unsupported_caption" moz:removedIn="126" tools:ignore="UnusedResources">1 Ka̱a̱ chunta´an</string>
+    <!-- Text shown in not yet supported add-ons section. -->
+    <string name="mozac_feature_addons_unsupported_caption_2">1 extension</string>
+    <!-- Text shown in not yet supported add-ons section in AddonsManagerAdapter - plural. %1$s is the number of unsupported add-ons -->
+    <string name="mozac_feature_addons_unsupported_caption_plural" moz:removedIn="126" tools:ignore="UnusedResources">%1$s daa ka̱a̱ chunta´an</string>
+    <!-- Text shown in not yet supported add-ons section - plural. %1$s is the number of unsupported extensions. -->
+    <string name="mozac_feature_addons_unsupported_caption_plural_2">%1$s extensiones</string>
+    <!-- Text link to a sumo page for learning more about unsupported add-ons. -->
+    <string name="mozac_feature_addons_unsupported_learn_more">Ka´vi kue´eka</string>
+    <!-- Displayed in the "Status" field for the updater when an add-on has been correctly updated. -->
+    <string name="mozac_feature_addons_updater_status_successfully_updated">Naxi\'ña vatu</string>
+    <!-- Displayed in the "Status" field for the updater when an add-on has no updates available. -->
+    <string name="mozac_feature_addons_updater_status_no_update_available">Na iyo a jia</string>
+    <!-- Displayed in the "Status" field for the updater when there was an error during the add-on update. -->
+    <string name="mozac_feature_addons_updater_status_error">Error</string>
+    <!-- Text shown in a dialog that displays information about the last attempt to update an add-on. This is the title of the dialog. -->
+    <string name="mozac_feature_addons_updater_dialog_title">Tu\'un actualización</string>
+    <!-- Label in the dialog displaying information for the last attempt to update add-ons. It's followed by the date of the last attempt. -->
+    <string name="mozac_feature_addons_updater_dialog_last_attempt">Nu nɨ\'ɨ intento:</string>
+    <!-- Displayed in the "Status" field for the updater when an add-on has been correctly updated -->
+    <string name="mozac_feature_addons_updater_dialog_status">Estado:</string>
+    <!-- Text shown in the dialog when add-on installation is completed. %1$s is the add-on name. %2$s is the app name. -->
+    <string name="mozac_feature_addons_installed_dialog_title">%1$s nchiso nu %2$s</string>
+    <!-- Text shown in the dialog when add-on installation is completed. -->
+    <string name="mozac_feature_addons_installed_dialog_description" moz:removedIn="124" tools:ignore="UnusedResources">Síne nuu menú</string>
+    <!-- Text shown in the dialog when add-on installation is completed. %1$s is the add-on name. %2$s is the app name. -->
+    <string name="mozac_feature_addons_installed_dialog_description_2">Kivɨ %1$s nee %2$s menú.</string>
+    <!-- Confirmation button text for the dialog when add-on installation is completed. -->
+    <string name="mozac_feature_addons_installed_dialog_okay_button" moz:removedIn="124" tools:ignore="UnusedResources">OK, vatu!</string>
+    <!-- Confirmation button text for the dialog when add-on installation is completed. -->
+    <string name="mozac_feature_addons_installed_dialog_okay_button_2">OK</string>
+    <!-- "Learn more" link displayed below an add-on status message. -->
+    <string name="mozac_feature_addons_status_learn_more">Ka´vi kue´eka</string>
+    <!-- Status message below an add-on in the add-ons manager when this add-on has been blocklisted. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_status_blocklisted">%1$s nxita jííe tixin jíí seguridad a xíín estabilidad.</string>
+    <!-- Status message below an add-on in the add-ons manager when this add-on hasn't been signed correctly. %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_status_unsigned">%1$s ntu nkuvi sa verificar kua va\'a jee nxina\'va.</string>
+    <!-- Status message below an add-on in the add-ons manager when this add-on isn't compatible with the application version. %1$s is the add-on name, %2$s is the app name and %3$s is the app version. -->
+    <string name="mozac_feature_addons_status_incompatible">%1$s ntu satiñu vatu jíí versión %2$s (versión %3$s).</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/addons/src/main/res/values-rm/strings.xml b/mobile/android/android-components/components/feature/addons/src/main/res/values-rm/strings.xml
index 8278456b3834c437f5eebe92f1e70b811c7e3693..f0a1bc86f217ba22e143c9db8bb411d1e687a88c 100644
--- a/mobile/android/android-components/components/feature/addons/src/main/res/values-rm/strings.xml
+++ b/mobile/android/android-components/components/feature/addons/src/main/res/values-rm/strings.xml
@@ -76,8 +76,6 @@
     <string name="mozac_feature_addons_version">Versiun</string>
     <!-- The author of an add-on. -->
     <string name="mozac_feature_addons_author">Autur(a)</string>
-    <!-- The authors of an add-on. -->
-    <string name="mozac_feature_addons_authors" moz:removedIn="123" tools:ignore="UnusedResources">Auturs</string>
     <!-- The last date that the add-on was updated. -->
     <string name="mozac_feature_addons_last_updated">Ultima actualisaziun</string>
     <!-- The developer website (Homepage) of the add-on. -->
@@ -86,16 +84,12 @@
     <string name="mozac_feature_addons_learn_more">Vegnir a savair dapli davart permissiuns</string>
     <!-- The rating of the add-on. -->
     <string name="mozac_feature_addons_rating">Valitaziun</string>
-    <!-- A link that points to the detail page of the add-on. -->
-    <string name="mozac_feature_addons_more_info_link" moz:removedIn="126" tools:ignore="UnusedResources">Dapli davart quest supplement</string>
     <!-- A link that points to the detail page of the extension. -->
     <string name="mozac_feature_addons_more_info_link_2">Dapli davart questa extensiun</string>
     <!-- The settings of the add-on. -->
     <string name="mozac_feature_addons_settings">Parameters</string>
     <!-- Indicates the add-on is enabled. -->
     <string name="mozac_feature_addons_settings_on">Activà</string>
-    <!-- Indicates the add-on is disabled. -->
-    <string name="mozac_feature_addons_settings_off" moz:removedIn="125" tools:ignore="UnusedResources">Deactivà</string>
     <!-- Indicates the add-on is allowed in private browsing mode. -->
     <string name="mozac_feature_addons_settings_allow_in_private_browsing">Permetter en il modus privat</string>
     <!-- Indicates the add-on is allowed in private browsing mode. -->
@@ -104,8 +98,6 @@
     <string name="mozac_feature_addons_not_allowed_in_private_browsing">Betg permess en fanestras privatas</string>
     <!-- Indicates the add-on is enabled. -->
     <string name="mozac_feature_addons_enabled">Activà</string>
-    <!-- Indicates the add-on is disabled. -->
-    <string name="mozac_feature_addons_disabled" moz:removedIn="125" tools:ignore="UnusedResources">Deactivà</string>
     <!-- This is displayed in a page where the user can see the installed and recommended(not installed yet) add-ons, this string indicates the installed section. -->
     <string name="mozac_feature_addons_installed_section">Installà</string>
     <!-- This is displayed in a page where the user can see the installed and recommended(not installed yet) add-ons, this string indicates the recommended section. -->
@@ -140,36 +132,24 @@
     <string name="mozac_feature_addons_permissions_dialog_deny">Refusar</string>
     <!-- This is a button to cancel the add-on installation . -->
     <string name="mozac_feature_addons_permissions_dialog_cancel">Interrumper</string>
-    <!-- Accessibility content description to install add-on button. -->
-    <string name="mozac_feature_addons_install_addon_content_description" tools:ignore="UnusedResources" moz:removedIn="124">Installar in supplement</string>
     <!-- Accessibility content description to install add-on button. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_install_addon_content_description_2">Installar %1$s</string>
     <!-- This is the label of a button to cancel an ongoing add-on installation. -->
     <string name="mozac_feature_addons_install_addon_dialog_cancel">Interrumper</string>
     <!-- Indicates how many users have rated an add-on. %1$s will be replaced with number of reviews -->
     <string name="mozac_feature_addons_user_rating_count_2">Recensiuns: %1$s</string>
-    <!-- Accessibility content description for the amount of stars that add-on has, where %1$.02f will be the amount of stars and / separator and 5 the maximum number of stars e.g (2/5, 4.5/5 or 5/5)  . -->
-    <string name="mozac_feature_addons_rating_content_description" moz:removedIn="124" tools:ignore="UnusedResources">%1$.02f/5</string>
     <!-- Accessibility content description for the amount of stars that add-on has, where %1$.02f will be the amount of stars. -->
     <string name="mozac_feature_addons_rating_content_description_2">Valitaziun: %1$.02f da 5</string>
     <!-- This is the title of page where all the add-ons are listed-->
     <string name="mozac_feature_addons_addons">Supplements</string>
     <!-- Label for add-ons sub menu item for add-ons manager-->
     <string name="mozac_feature_addons_addons_manager">Administraziun da supplements</string>
-    <!-- The title of the "crash" notification in the add-ons manager -->
-    <string name="mozac_feature_addons_manager_notification_title_text" moz:removedIn="126" tools:ignore="UnusedResources">Ils supplements èn deactivads temporarmain</string>
     <!-- The title of the "crash" notification in the extensions manager -->
     <string name="mozac_feature_extensions_manager_notification_title_text">Las extensiuns èn deactivadas temporarmain</string>
-    <!-- The content of the "crash" notification in the add-ons manager -->
-    <string name="mozac_feature_addons_manager_notification_content_text" moz:removedIn="126" tools:ignore="UnusedResources">In u plirs supplements na funcziunan betg pli e rendan il sistem instabel.</string>
     <!-- The content of the "crash" notification in the extensions manager -->
     <string name="mozac_feature_extensions_manager_notification_content_text">Ina u pliras extensiuns na funcziunan betg pli e rendan il sistem instabel.</string>
-    <!-- Button to re-enable the add-ons in the "crash" notification -->
-    <string name="mozac_feature_addons_manager_notification_restart_button" moz:removedIn="126" tools:ignore="UnusedResources">Reaviar ils supplements</string>
     <!-- Button to re-enable the extensions in the "crash" notification -->
     <string name="mozac_feature_extensions_manager_notification_restart_button">Reaviar las extensiuns</string>
-    <!-- Button in the add-ons manager that opens AMO in a tab -->
-    <string name="mozac_feature_addons_find_more_addons_button_text" moz:removedIn="126" tools:ignore="UnusedResources">Chattar ulteriurs supplements</string>
     <!-- Button in the extensions manager that opens AMO in a tab -->
     <string name="mozac_feature_addons_find_more_extensions_button_text">Tschertgar ulteriuras extensiuns</string>
     <!-- The label of the allow button, this will be shown to the user when an add-on needs new permissions, with the button the user will indicate that they want to accept the new permissions and update the add-on-->
@@ -182,8 +162,6 @@
     <string name="mozac_feature_addons_updater_notification_content" tools:ignore="PluralsCandidate">%1$d novas autorisaziuns necessarias</string>
     <!-- The content of the notification displayed when an add-on needs a new permission-->
     <string name="mozac_feature_addons_updater_notification_content_singular">Ina nova autorisaziun è necessaria</string>
-    <!-- Name of the "notification channel" used for displaying a notification for updating an add-on. See https://developer.android.com/training/notify-user/channels -->
-    <string name="mozac_feature_addons_updater_notification_channel" moz:removedIn="126" tools:ignore="UnusedResources">Actualisaziuns da supplements</string>
     <!-- Name of the "notification channel" used for displaying a notification for updating an extension. See https://developer.android.com/training/notify-user/channels -->
     <string name="mozac_feature_addons_updater_notification_channel_2">Actualisaziuns dad extensiuns</string>
     <!-- Name of the "notification channel" used for displaying a notification for new supported add-ons. See https://developer.android.com/training/notify-user/channels -->
@@ -199,15 +177,9 @@
     <!-- The content of the notification, this will be shown to the user when more than two newly supported add-ons are available. %1$s is the app name (in most cases Firefox). -->
     <string name="mozac_feature_addons_supported_checker_notification_content_more_than_two">Als agiuntar a %1$s</string>
     <!-- This is the caption for not yet supported screen caption -->
-    <string name="mozac_feature_addons_not_yet_supported_caption" moz:removedIn="126" tools:ignore="UnusedResources">La tecnologia da supplements da Firefox vegn modernisada. Quests supplements fan diever da frameworks che n\'èn betg cumpatibels cun Firefox 75 e versiuns pli novas.</string>
-    <!-- This is the caption for not yet supported screen caption -->
     <string name="mozac_feature_addons_not_yet_supported_caption2">Nus sviluppain actualmain la basa per sustegnair ina selecziun iniziala dad extensiuns recumandadas.</string>
-    <!-- This is the caption for the add-on installation progress overlay -->
-    <string name="mozac_add_on_install_progress_caption" moz:removedIn="126" tools:ignore="UnusedResources">Telechargiar e verifitgar il supplement…</string>
     <!-- This is the caption for the extension installation progress overlay -->
     <string name="mozac_extension_install_progress_caption">Telechargiar e verifitgar l’extensiun…</string>
-    <!-- Error shown when something unexpected happened while trying to get the add-on list from the server -->
-    <string name="mozac_feature_addons_failed_to_query_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">Impussibel dad obtegnair la glista dals supplements!</string>
     <!-- Error shown when something unexpected happened while trying to get the extension list from the server -->
     <string name="mozac_feature_addons_failed_to_query_extensions">Betg reussì da retschaiver las extensiuns!</string>
     <!-- Error shown when unable to find a translation for an add-on field. %1$s is the locale of the user and %2$s is the default language of the add-on -->
@@ -216,26 +188,20 @@
     <string name="mozac_feature_addons_successfully_installed">Installà cun success %1$s</string>
     <!-- Text shown after failed to install an add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_failed_to_install">Betg reussì dad installar %1$s</string>
-    <!-- Text shown after failing to install an add-on for which we don't have its name. -->
-    <string name="mozac_feature_addons_failed_to_install_generic" moz:removedIn="126" tools:ignore="UnusedResources">Betg reussì dad installar quest supplement.</string>
     <!-- Text shown after failing to install an extension for which we don't have its name. -->
     <string name="mozac_feature_addons_extension_failed_to_install">Betg reussì dad installar questa extensiun.</string>
-    <!-- Text shown when attempting to install an add-on and a network error happened. -->
-    <string name="mozac_feature_addons_failed_to_install_network_error" moz:removedIn="126" tools:ignore="UnusedResources">Impussibel da telechargiar quest supplement causa ina errur da connexiun.</string>
     <!-- Text shown when attempting to install an extension and a network error happened. -->
     <string name="mozac_feature_addons_extension_failed_to_install_network_error">I n’è betg reussì da telechargiar questa extensiun causa ina errur da connexiun.</string>
-    <!-- Text shown when attempting to install an add-on and the downloaded file is corrupted. -->
-    <string name="mozac_feature_addons_failed_to_install_corrupt_error" moz:removedIn="126" tools:ignore="UnusedResources">Impussibel dad installar quest supplement. El para dad esser donnegià.</string>
     <!-- Text shown when attempting to install an extension and the downloaded file is corrupted. -->
     <string name="mozac_feature_addons_extension_failed_to_install_corrupt_error">I n’è betg reussì dad installar questa extensiun. Ella para dad esser donnegiada.</string>
     <!-- Text shown when attempting to install an add-on and an error occurred because the extension was not signed. -->
-    <string name="mozac_feature_addons_failed_to_install_not_signed_error" moz:removedIn="126" tools:ignore="UnusedResources">Impussibel dad installar quest supplement perquai ch\'el n\'è betg verifitgà.</string>
-    <!-- Text shown when attempting to install an add-on and an error occurred because the extension was not signed. -->
     <string name="mozac_feature_addons_extension_failed_to_install_not_signed_error">I n’è betg reussì dad installar questa extensiun perquai ch’ella n’è betg verifitgada.</string>
     <!-- Text shown when attempting to install an add-on and an error occurred because the extension was incompatible. %1$s is the add-on name, %2$s is the app name and %3$s is the app version. -->
     <string name="mozac_feature_addons_failed_to_install_incompatible_error">Impussibel dad installar %1$s pervia dad incumpatibilitad cun %2$s %3$s.</string>
     <!-- Text shown when attempting to install a blocklisted add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_blocklisted_1">Impussibel dad installar %1$s perquai che la ristga è gronda ch\'i dat problems da stabilitad u da segirezza.</string>
+    <!-- Text shown when attempting to install an add-on that can only be install via Enterprise Policies, which is not supported on Android.  %1$s is the add-on name. -->
+    <string name="mozac_feature_addons_admin_install_only">I n’è betg reussì dad installar %1$s perquai ch’il supplement po mo vegnir installà dad in’organisaziun che utilisescha directivas d’interpresa, ma quai na vegn betg sustegnì da questa plattafurma.</string>
     <!-- Text shown after successfully enabled an add-on. %1$s is the add-on name. -->
     <string name="mozac_feature_addons_successfully_enabled">Activà cun success %1$s</string>
     <!-- Text shown after failed to enable an add-on. %1$s is the add-on name. -->
@@ -254,12 +220,8 @@
     <string name="mozac_feature_addons_failed_to_remove" tools:ignore="UnusedResources">Betg reussì dad allontanar %1$s</string>
     <!-- Label shown to indicate that the add-on was migrated from a previous version of the app. %1$s is the app name most of the case it will be Firefox. -->
     <string name="mozac_feature_addons_migrated_from_a_previous_version_label" tools:ignore="UnusedResources">Quest supplement è vegnì importà dad ina versiun precedenta da %1$s</string>
-    <!-- Text shown in not yet supported add-ons section in AddonsManagerAdapter. -->
-    <string name="mozac_feature_addons_unsupported_caption" moz:removedIn="126" tools:ignore="UnusedResources">1 supplement</string>
     <!-- Text shown in not yet supported add-ons section. -->
     <string name="mozac_feature_addons_unsupported_caption_2">1 extensiun</string>
-    <!-- Text shown in not yet supported add-ons section in AddonsManagerAdapter - plural. %1$s is the number of unsupported add-ons -->
-    <string name="mozac_feature_addons_unsupported_caption_plural" moz:removedIn="126" tools:ignore="UnusedResources">%1$s supplements</string>
     <!-- Text shown in not yet supported add-ons section - plural. %1$s is the number of unsupported extensions. -->
     <string name="mozac_feature_addons_unsupported_caption_plural_2">%1$s extensiuns</string>
     <!-- Text link to a sumo page for learning more about unsupported add-ons. -->
@@ -278,13 +240,9 @@
     <string name="mozac_feature_addons_updater_dialog_status">Status:</string>
     <!-- Text shown in the dialog when add-on installation is completed. %1$s is the add-on name. %2$s is the app name. -->
     <string name="mozac_feature_addons_installed_dialog_title">%1$s è vegnì agiuntà a %2$s.</string>
-    <!-- Text shown in the dialog when add-on installation is completed. -->
-    <string name="mozac_feature_addons_installed_dialog_description" moz:removedIn="124" tools:ignore="UnusedResources">Avrir en il menu</string>
     <!-- Text shown in the dialog when add-on installation is completed. %1$s is the add-on name. %2$s is the app name. -->
     <string name="mozac_feature_addons_installed_dialog_description_2">Acceda a %1$s ord il menu %2$s.</string>
     <!-- Confirmation button text for the dialog when add-on installation is completed. -->
-    <string name="mozac_feature_addons_installed_dialog_okay_button" moz:removedIn="124" tools:ignore="UnusedResources">Ok, chapì</string>
-    <!-- Confirmation button text for the dialog when add-on installation is completed. -->
     <string name="mozac_feature_addons_installed_dialog_okay_button_2">OK</string>
     <!-- "Learn more" link displayed below an add-on status message. -->
     <string name="mozac_feature_addons_status_learn_more">Ulteriuras infurmaziuns</string>
diff --git a/mobile/android/android-components/components/feature/app-links/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/app-links/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..61f1935c9bbdc44a9c2d8663b42407172b99d202
--- /dev/null
+++ b/mobile/android/android-components/components/feature/app-links/src/main/res/values-meh/strings.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- The tile for the list of external apps to open the link in -->
+    <string name="mozac_feature_applinks_open_in">Síne jii…</string>
+    <!-- The description to warn users that their private browsing session changes  -->
+    <string name="mozac_feature_applinks_confirm_dialog_title">¿Síne jíi aplicación? Sana a sá\'ánu kuvi nkino yu\'u.</string>
+    <!-- The title of the prompt that warns users their normal browsing session is trying to open another app  -->
+    <string name="mozac_feature_applinks_normal_confirm_dialog_title">Síne nuu inka ka̱a̱</string>
+    <!-- The message of the prompt to confirm with users that they want to open the link in another app
+    %s is a placeholder that will be replaced by the app name -->
+    <string name="mozac_feature_applinks_normal_confirm_dialog_message">¿A kuvinu jia\'a %s sa kuvi kune\'yanu contenido ya\'a?</string>
+    <!-- Opens the selected time -->
+    <string name="mozac_feature_applinks_confirm_dialog_confirm">Síne</string>
+    <!-- Cancels the prompt -->
+    <string name="mozac_feature_applinks_confirm_dialog_deny">Nkuvi-ka</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/autofill/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/autofill/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cef54ac15ddacb3cb163608c9a82161ea5a791d4
--- /dev/null
+++ b/mobile/android/android-components/components/feature/autofill/src/main/res/values-meh/strings.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+    <!-- Autofill: Text shown in popup in third-party app if the browser app needs to be unlocked before
+     a username or password can be autofilled for the highlighted text field. %1$s will be replaced
+     with the name of the browser application (e.g. Firefox) -->
+    <string name="mozac_feature_autofill_popup_unlock_application">Sikune %1$s</string>
+
+    <!-- Autofill: Text shown in popup in third-party app if we found a matching account, but no
+    username is saved (e.g. we only have a password). This text will be shown in place where otherwise
+    the username would be displayed. -->
+    <string name="mozac_feature_autofill_popup_no_username">(Na íyo sivɨ ñɨvɨ)</string>
+
+    <!-- Autofill: Text shown in popup in third-party app to autofill the password for an account.
+    %1$s will be replaced with the login/username of the account. -->
+    <string name="mozac_feature_autofill_popup_password">Contraseña nuu %1$s</string>
+
+    <!-- Autofill: Title of a dialog asking the user to confirm before autofilling credentials into
+    a third-party app after the authenticity verification failed. -->
+    <string name="mozac_feature_autofill_confirmation_title">Ntu nkuvi sá\'á verificación</string>
+
+    <!-- Autofill: Text shown in dialog asking the user to confirm before autofilling credentials into a
+    third-party app where we could not verify the authenticity (e.g. we determined that this app is
+    a twitter client and we could autofill twitter credentials, but according to the "Digital Asset
+    Links" this application is not the official Twitter application for twitter.com credentials.
+    %1$s will be replaced with the name of the browser application (e.g. Firefox).
+    -->
+    <string name="mozac_feature_autofill_confirmation_authenticity">%1$s ntu nkuvi sa verificar autenticidad aplicación. ¿A kuvinɨ kakanɨ autocompletando jíí daa credenciales nkajinu?</string>
+
+    <!-- Autofill: Positive button shown in dialog asking the user to confirm before autofilling
+    credentials in a third-part app (Also see string mozac_feature_autofill_confirmation_authenticity). -->
+    <string name="mozac_feature_autofill_confirmation_yes">Kuvi</string>
+
+    <!-- Autofill: Negative button shown in dialog asking the user to confirm before autofilling
+    credentials in a third-part app (Also see string mozac_feature_autofill_confirmation_authenticity). -->
+    <string name="mozac_feature_autofill_confirmation_no">Nkuvi</string>
+
+    <!-- Autofill: When showing a list of logins to autofill in a third-party app, then this is the
+    last item in the list. When clicking it a new screen opens which allows the user to search for
+    a specific login. %1$s will be replaced with the name of the application (e.g. "Firefox") -->
+    <string name="mozac_feature_autofill_search_suggestions">Nánuku %1$s</string>
+
+    <!-- Autofill: Hint shown in the text field used to search specific logins. Shown when the field
+     is empty and the user has not entered any text into it yet. -->
+    <string name="mozac_feature_autofill_search_hint">Nánuku nuu kajie\'e sesión</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/awesomebar/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/awesomebar/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e2824e8fc65d44bf38eebb546a284c3c102ff09d
--- /dev/null
+++ b/mobile/android/android-components/components/feature/awesomebar/src/main/res/values-meh/strings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- The description for a suggestion that represents an opened tab.
+    Used to distinguish between History search suggestions from your
+    browsing history and your open tabs -->
+    <string name="switch_to_tab_description">Sama su̱ku̱a</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/contextmenu/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/contextmenu/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d464149223ab6e7e70d41565dcc9bc5c5c407133
--- /dev/null
+++ b/mobile/android/android-components/components/feature/contextmenu/src/main/res/values-meh/strings.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Text for context menu item to open the link in a new tab. -->
+    <string name="mozac_feature_contextmenu_open_link_in_new_tab">Síne link nuu iin pestaña jíía</string>
+    <!-- Text for context menu item to open the link in a private tab. -->
+    <string name="mozac_feature_contextmenu_open_link_in_private_tab">Sikune enlace nuu a jíía pestaña yu\'u</string>
+    <!-- Text for context menu item to open the image in a new tab. -->
+    <string name="mozac_feature_contextmenu_open_image_in_new_tab">Síne tutu natava nu iin pestaña jíía</string>
+    <!-- Text for context menu item to save / download the link. -->
+    <string name="mozac_feature_contextmenu_download_link">Xinuu enlace</string>
+    <!-- Text for context menu item to share the link with an other app. -->
+    <string name="mozac_feature_contextmenu_share_link">Kua´a link</string>
+    <!-- Text for context menu item to share the image with an other app. -->
+    <string name="mozac_feature_contextmenu_share_image">Kua´a tutu nátava</string>
+    <!-- Text for context menu item to copy the link to the clipboard. -->
+    <string name="mozac_feature_contextmenu_copy_link">Tɨɨn enlace</string>
+    <!-- Text for context menu item to copy the URL pointing to the image to the clipboard. -->
+    <string name="mozac_feature_contextmenu_copy_image_location">Tɨɨn nuu vaji tutu nátava</string>
+    <!-- Text for context menu item to save / download the image. -->
+    <string name="mozac_feature_contextmenu_save_image">Chuva´a tutu nátava</string>
+    <!-- Text for context menu item to copy the image to the clipboard. -->
+    <string name="mozac_feature_contextmenu_copy_image">Tɨɨn tutu nátava</string>
+    <!-- Text for context menu item to save / download the file. -->
+    <string name="mozac_feature_contextmenu_save_file_to_device">Chuva\'a archivu nuu ka̱a̱</string>
+    <!-- Text for confirmation "snackbar" shown after opening a link in a new tab.  -->
+    <string name="mozac_feature_contextmenu_snackbar_new_tab_opened">Nsíne pestaña jíía</string>
+    <!-- Text for confirmation "snackbar" shown after opening a link in a new private tab.  -->
+    <string name="mozac_feature_contextmenu_snackbar_new_private_tab_opened">Nsíne iin pestaña yu´u</string>
+    <!-- Text for confirmation "snackbar" shown after copying a link or image URL to the clipboard. -->
+    <string name="mozac_feature_contextmenu_snackbar_link_copied">Enlace copiado al portapapeles</string>
+    <!-- Action shown in a "snacbkar" after opening a new/private tab. Clicking this action will switch to the newly opened tab. -->
+    <string name="mozac_feature_contextmenu_snackbar_action_switch">Sama</string>
+    <!-- Text for context menu item to open the link in an external app. -->
+    <string name="mozac_feature_contextmenu_open_link_in_external_app">Síne link nuu inka ka̱a̱</string>
+    <!-- Text for context menu item to share the email with another app. -->
+    <string name="mozac_feature_contextmenu_share_email_address">Kua´a correo electrónico</string>
+    <!-- Text for context menu item to copy the email address to the clipboard. -->
+    <string name="mozac_feature_contextmenu_copy_email_address">Tɨɨn correo electrónico</string>
+    <!-- Text for confirmation "snackbar" shown after copying a email address to the clipboard. -->
+    <string name="mozac_feature_contextmenu_snackbar_email_address_copied">Nuu correo copiada al portapeles</string>
+    <!-- Text for context menu item to add to a contact. -->
+    <string name="mozac_feature_contextmenu_add_to_contact">Chisó nuu tuni ñivɨ</string>
+    <!-- Action shown in a text selection context menu. This will prompt a search using the selected text.-->
+    <string name="mozac_selection_context_menu_search_2">Nánuku</string>
+    <!-- Action shown in a text selection context menu. This will prompt a search in a private tab using the selected text-->
+    <string name="mozac_selection_context_menu_search_privately_2">Nánuku yu\'u</string>
+    <!-- Action shown in a text selection context menu. This will prompt a share of the selected text. -->
+    <string name="mozac_selection_context_menu_share">Kua´a</string>
+    <!-- Action shown in a text selection context menu. This will prompt a new email from the selected text. -->
+    <string name="mozac_selection_context_menu_email">Correo electrónico</string>
+    <!-- Action shown in a text selection context menu. This will prompt a new call from the selected text. -->
+    <string name="mozac_selection_context_menu_call">Ka´an</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/customtabs/src/main/res/values-am/strings.xml b/mobile/android/android-components/components/feature/customtabs/src/main/res/values-am/strings.xml
index c7214823dffae22f92cf175754997fe7e83cdaf7..b9a35ad1b220c895bc34ab2d46dc783518ab706e 100644
--- a/mobile/android/android-components/components/feature/customtabs/src/main/res/values-am/strings.xml
+++ b/mobile/android/android-components/components/feature/customtabs/src/main/res/values-am/strings.xml
@@ -2,4 +2,6 @@
 <resources>
     <string name="mozac_feature_customtabs_exit_button">ወደ ቀዳሚው መተግበሪያ ተመለስ</string>
     <string name="mozac_feature_customtabs_share_link">አገናኝ አጋራ</string>
+    <!-- Content description (not visible, for screen readers etc.): Description of the refresh button in the Custom Tabs toolbar -->
+    <string name="mozac_feature_customtabs_refresh_button">አድስ</string>
 </resources>
diff --git a/mobile/android/android-components/components/feature/customtabs/src/main/res/values-be/strings.xml b/mobile/android/android-components/components/feature/customtabs/src/main/res/values-be/strings.xml
index fee7305095915948fe8e8463a0b266294dcb7a59..2425928b45fccfcdd5e6702f7d39a0ba84303f7c 100644
--- a/mobile/android/android-components/components/feature/customtabs/src/main/res/values-be/strings.xml
+++ b/mobile/android/android-components/components/feature/customtabs/src/main/res/values-be/strings.xml
@@ -2,4 +2,6 @@
 <resources>
     <string name="mozac_feature_customtabs_exit_button">Вярнуцца ў папярэднюю праграму</string>
     <string name="mozac_feature_customtabs_share_link">Падзяліцца спасылкай</string>
+    <!-- Content description (not visible, for screen readers etc.): Description of the refresh button in the Custom Tabs toolbar -->
+    <string name="mozac_feature_customtabs_refresh_button">Абнавіць</string>
 </resources>
diff --git a/mobile/android/android-components/components/feature/customtabs/src/main/res/values-ca/strings.xml b/mobile/android/android-components/components/feature/customtabs/src/main/res/values-ca/strings.xml
index e66e0ab37eed4a03caf6012d5a30e72fd115b53a..a2c2ea5cc9e5d4f7b892831ae0f9d79c33ec1ec0 100644
--- a/mobile/android/android-components/components/feature/customtabs/src/main/res/values-ca/strings.xml
+++ b/mobile/android/android-components/components/feature/customtabs/src/main/res/values-ca/strings.xml
@@ -2,4 +2,6 @@
 <resources>
     <string name="mozac_feature_customtabs_exit_button">Torna a l’aplicació anterior</string>
     <string name="mozac_feature_customtabs_share_link">Comparteix l’enllaç</string>
+    <!-- Content description (not visible, for screen readers etc.): Description of the refresh button in the Custom Tabs toolbar -->
+    <string name="mozac_feature_customtabs_refresh_button">Actualitza</string>
 </resources>
diff --git a/mobile/android/android-components/components/feature/customtabs/src/main/res/values-co/strings.xml b/mobile/android/android-components/components/feature/customtabs/src/main/res/values-co/strings.xml
index 912e8712fdc923c28ed4e27b106087199e207aa0..f79f5ec47dd9aea0a9b5104cd47d4ea1990341d8 100644
--- a/mobile/android/android-components/components/feature/customtabs/src/main/res/values-co/strings.xml
+++ b/mobile/android/android-components/components/feature/customtabs/src/main/res/values-co/strings.xml
@@ -2,4 +2,6 @@
 <resources>
     <string name="mozac_feature_customtabs_exit_button">Rivene à l’appiecazione precedente</string>
     <string name="mozac_feature_customtabs_share_link">Sparte u liame</string>
+    <!-- Content description (not visible, for screen readers etc.): Description of the refresh button in the Custom Tabs toolbar -->
+    <string name="mozac_feature_customtabs_refresh_button">Attualizà</string>
 </resources>
diff --git a/mobile/android/android-components/components/feature/customtabs/src/main/res/values-ja/strings.xml b/mobile/android/android-components/components/feature/customtabs/src/main/res/values-ja/strings.xml
index c032d9fca502c7dce0d89132b91f5cf6e38014f0..ebab5752e2425370259ac8850ad11e8fc56e09ef 100644
--- a/mobile/android/android-components/components/feature/customtabs/src/main/res/values-ja/strings.xml
+++ b/mobile/android/android-components/components/feature/customtabs/src/main/res/values-ja/strings.xml
@@ -2,4 +2,6 @@
 <resources>
     <string name="mozac_feature_customtabs_exit_button">前のアプリへ戻る</string>
     <string name="mozac_feature_customtabs_share_link">リンクを共有</string>
+    <!-- Content description (not visible, for screen readers etc.): Description of the refresh button in the Custom Tabs toolbar -->
+    <string name="mozac_feature_customtabs_refresh_button">リフレッシュ</string>
 </resources>
diff --git a/mobile/android/android-components/components/feature/customtabs/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/customtabs/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c612f3cf6ffc8bdc2f2c1a891b4a9d5db2b38066
--- /dev/null
+++ b/mobile/android/android-components/components/feature/customtabs/src/main/res/values-meh/strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="mozac_feature_customtabs_exit_button">Niko nuu ka̱a̱ a nee yata</string>
+    <string name="mozac_feature_customtabs_share_link">Kua´a link</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/downloads/src/main/res/values-co/strings.xml b/mobile/android/android-components/components/feature/downloads/src/main/res/values-co/strings.xml
index 1114f1fe537694be4bcf0106231d8700d1a78ad7..080a9349f2fba64bdab5f37b03ef9c8f262e7a08 100644
--- a/mobile/android/android-components/components/feature/downloads/src/main/res/values-co/strings.xml
+++ b/mobile/android/android-components/components/feature/downloads/src/main/res/values-co/strings.xml
@@ -43,7 +43,7 @@
     <!-- Message that appears when trying to download with an external app fails. %1$s will be replaced with the name the external app. -->--&gt;
     <string name="mozac_feature_downloads_unable_to_open_third_party_app">Impussibule d’apre %1$s</string>
     <!-- Text for the info dialog when write to storage permissions have been denied but user tries to download a file. -->
-    <string name="mozac_feature_downloads_write_external_storage_permissions_needed_message">I diritti d’accessu à i schedarii è i medià sò richiesti per scaricà schedarii. Accidite à e preferenze d’Android, picchichjate Permessi, è dopu Permette.</string>
+    <string name="mozac_feature_downloads_write_external_storage_permissions_needed_message">I diritti d’accessu à i schedarii è i medià sò richiesti per scaricà schedarii. Accidite à i parametri d’Android, picchichjate Permessi, è dopu Permette.</string>
 
     <!-- Alert dialog confirmation before cancelling downloads, this is the title   -->
     <string name="mozac_feature_downloads_cancel_active_downloads_warning_content_title">Abbandunà i scaricamenti in a navigazione privata ?</string>
diff --git a/mobile/android/android-components/components/feature/downloads/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/downloads/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6be512f79730742b86610c2c26d860a594a1e665
--- /dev/null
+++ b/mobile/android/android-components/components/feature/downloads/src/main/res/values-meh/strings.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Name of the "notification channel" used for displaying download notification. See https://developer.android.com/training/notify-user/channels -->
+    <string name="mozac_feature_downloads_notification_channel">Daa a xinuun</string>
+
+    <!-- Text shown on the second row of a paused download notification. -->
+    <string name="mozac_feature_downloads_paused_notification_text">Ntu nkuvi xinuu</string>
+    <!-- Text shown on the second row of an completed download notification. The filename is shown on the first row. -->
+    <string name="mozac_feature_downloads_completed_notification_text2">Nnɨ´ɨ xinuu</string>
+    <!-- Text shown on the second row of an failed download notification. The filename is shown on the first row. -->
+    <string name="mozac_feature_downloads_failed_notification_text2">Ntu nkuvi xinuu</string>
+
+    <!-- Alert dialog confirmation before download a file, this is the title. %1$s will be replaced with the name of the file. -->
+    <string name="mozac_feature_downloads_dialog_title2">Xinuu (%1$s)</string>
+    <!-- Alert dialog confirmation before download a file, this is the positive action. -->
+    <string name="mozac_feature_downloads_dialog_download">Xinuu</string>
+    <!-- Alert dialog confirmation before download a file, this is the negative action. -->
+    <string name="mozac_feature_downloads_dialog_cancel">Nkuvi-ka</string>
+
+    <!-- Error shown when the user is trying to download a invalid file. %1$s will be replaced with the name of the app. -->
+    <string name="mozac_feature_downloads_file_not_supported2">%1$s nkuvi xinuu archivo ya\'a</string>
+
+    <!-- Message that appears when the downloaded file could not be opened-->
+    <string name="mozac_feature_downloads_could_not_open_file">Ntu nkuvi síne archivu</string>
+
+    <!-- Message that appears when the downloaded file is a specific type that Android doesn't support opening-->
+    <string name="mozac_feature_downloads_open_not_supported1">Ntu nnani\'i iin ka̱a̱ sine daa archivo %1$s</string>
+
+    <!-- Button that pauses the download when pressed -->
+    <string name="mozac_feature_downloads_button_pause">Siankuiñɨ</string>
+    <!-- Button that resumes the download when pressed -->
+    <string name="mozac_feature_downloads_button_resume">Kajie´e tuku</string>
+    <!-- Button that cancels the download when pressed -->
+    <string name="mozac_feature_downloads_button_cancel">Nkuvi-ka</string>
+    <!-- Button that opens the downloaded file when pressed -->
+    <string name="mozac_feature_downloads_button_open">Síne</string>
+    <!-- Button that restarts the download after a failed attempt -->
+    <string name="mozac_feature_downloads_button_try_again">Nasá´á tuku</string>
+
+    <!-- Content description for close button -->
+    <string name="mozac_feature_downloads_button_close">Nakasɨ</string>
+    <!-- Title for the third party download app chooser dialog -->
+    <string name="mozac_feature_downloads_third_party_app_chooser_dialog_title">Xinɨ´ɨ a sá´á</string>
+    <!-- Message that appears when trying to download with an external app fails. %1$s will be replaced with the name the external app. -->--&gt;
+    <string name="mozac_feature_downloads_unable_to_open_third_party_app">Ntu nkuvi síne %1$s</string>
+
+    <!-- Text for the info dialog when write to storage permissions have been denied but user tries to download a file. -->
+    <string name="mozac_feature_downloads_write_external_storage_permissions_needed_message">Jiniñu\'u permiso sa kivɨ nu archivos jíí medios sa kuvi xinuu archivos. Kua\'a nu ke\'i Android, ke\'i permisos jee kuaxin kuvi.</string>
+
+    <!-- Alert dialog confirmation before cancelling downloads, this is the title   -->
+    <string name="mozac_feature_downloads_cancel_active_downloads_warning_content_title">¿siankuiñɨ daa xinuu yu\'u?</string>
+    <!-- Alert dialog confirmation before cancelling private downloads, this is the body. %1$s will be replaced with the name of the file. -->
+    <string name="mozac_feature_downloads_cancel_active_private_downloads_warning_content_body">De nakasɨnu kuaiyo da pestañas yu\'u, siankuiñɨ da xinuun nu %1$s. ¿A mana kuvinu kenenu nu kaka yu\'unu?</string>
+    <!-- Alert dialog confirmation before cancelling downloads, this is the positive action. -->
+    <string name="mozac_feature_downloads_cancel_active_downloads_accept">Nkuvi-ka xinuun</string>
+    <!-- Alert dialog confirmation before cancelling downloads, this is the negative action. Leaves user in Private browsing -->
+    <string name="mozac_feature_downloads_cancel_active_private_downloads_deny">Kino nu jikanu yu\'u</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/findinpage/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/findinpage/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ac14c45fab291c0a89224bb1400a16c2f81c26af
--- /dev/null
+++ b/mobile/android/android-components/components/feature/findinpage/src/main/res/values-meh/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:tools="http://schemas.android.com/tools">
+
+    <!-- Watermark/Hint for the find in page input field. -->
+    <string name="mozac_feature_findindpage_input">Nánuku nuu página</string>
+
+    <!-- String to show the number of results found in the page and the
+    position the user is at. The first argument is the position, the second argument is the total. -->
+    <string name="mozac_feature_findindpage_result">%1$d/%2$d</string>
+
+    <!-- String to be read by the accessibility service presenting the number of results found in the page
+    and the position the user is at. The first argument is the position, the second argument is the total. -->
+    <string name="mozac_feature_findindpage_accessibility_result" tools:ignore="PluralsCandidate">%1$d de %2$d</string>
+
+    <!-- String to be read by the accessibility service when focusing the next result button. -->
+    <string name="mozac_feature_findindpage_next_result">Nánuku inka tu´un</string>
+
+    <!-- String to be read by the accessibility service when focusing the previous result button. -->
+    <string name="mozac_feature_findindpage_previous_result">Nuku tu´un ichi yata</string>
+
+    <!-- String to be read by the accessibility service when focusing the dismiss button in the "find in page" UI. -->
+    <string name="mozac_feature_findindpage_dismiss">Nakasɨ nnánukunu</string>
+
+</resources>
diff --git a/mobile/android/android-components/components/feature/fxsuggest/src/main/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorker.kt b/mobile/android/android-components/components/feature/fxsuggest/src/main/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorker.kt
index 9784d9e79eb5716620bfe001f290cadf7026dc3e..b30f8b0f4b33797dc348bd9fbe1e3979066f9427 100644
--- a/mobile/android/android-components/components/feature/fxsuggest/src/main/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorker.kt
+++ b/mobile/android/android-components/components/feature/fxsuggest/src/main/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorker.kt
@@ -22,10 +22,16 @@ internal class FxSuggestIngestionWorker(
     private val logger = Logger("FxSuggestIngestionWorker")
 
     override suspend fun doWork(): Result {
-        // Disable periodic ingestion until we figure out
-        // https://bugzilla.mozilla.org/show_bug.cgi?id=1900837
-        logger.info("Skipping ingesting new suggestions")
-        return Result.success()
+        logger.info("Ingesting new suggestions")
+        val storage = GlobalFxSuggestDependencyProvider.requireStorage()
+        val success = storage.ingest()
+        return if (success) {
+            logger.info("Successfully ingested new suggestions")
+            Result.success()
+        } else {
+            logger.error("Failed to ingest new suggestions")
+            Result.retry()
+        }
     }
 
     internal companion object {
diff --git a/mobile/android/android-components/components/feature/fxsuggest/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/fxsuggest/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fee5548ca120927b82f789bb19a7618b13cfc874
--- /dev/null
+++ b/mobile/android/android-components/components/feature/fxsuggest/src/main/res/values-meh/strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- The description for a sponsored suggestion from Firefox Suggest. -->
+    <string name="sponsored_suggestion_description">Patrocinado</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/fxsuggest/src/main/res/values-te/strings.xml b/mobile/android/android-components/components/feature/fxsuggest/src/main/res/values-te/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2f61abe47ce3ed7d16bcdbee55019bfa18216512
--- /dev/null
+++ b/mobile/android/android-components/components/feature/fxsuggest/src/main/res/values-te/strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- The description for a sponsored suggestion from Firefox Suggest. -->
+    <string name="sponsored_suggestion_description">ప్రాయోజితం</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/fxsuggest/src/test/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorkerTest.kt b/mobile/android/android-components/components/feature/fxsuggest/src/test/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorkerTest.kt
index 54c1e1dd678c77a6b24124c2a39eff09b0bd8b73..84df98f78e17794c8d0101c080f72e7dd339df86 100644
--- a/mobile/android/android-components/components/feature/fxsuggest/src/test/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorkerTest.kt
+++ b/mobile/android/android-components/components/feature/fxsuggest/src/test/java/mozilla/components/feature/fxsuggest/FxSuggestIngestionWorkerTest.kt
@@ -18,7 +18,6 @@ import org.junit.Assert.assertEquals
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.Mockito.never
 import org.mockito.Mockito.verify
 
 @RunWith(AndroidJUnit4::class)
@@ -44,9 +43,19 @@ class FxSuggestIngestionWorkerTest {
 
         val result = worker.startWork().await()
 
-        // Ingestion is disabled until we figure out
-        // https://bugzilla.mozilla.org/show_bug.cgi?id=1900837
-        verify(storage, never()).ingest(any())
+        verify(storage).ingest(any())
         assertEquals(ListenableWorker.Result.success(), result)
     }
+
+    @Test
+    fun workShouldRetry() = runTest {
+        whenever(storage.ingest(any())).thenReturn(false)
+
+        val worker = TestListenableWorkerBuilder<FxSuggestIngestionWorker>(testContext).build()
+
+        val result = worker.startWork().await()
+
+        verify(storage).ingest(any())
+        assertEquals(ListenableWorker.Result.retry(), result)
+    }
 }
diff --git a/mobile/android/android-components/components/feature/media/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/media/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0bb28f56cce141faa0e41d3ffc760c2b524a0b2b
--- /dev/null
+++ b/mobile/android/android-components/components/feature/media/src/main/res/values-meh/strings.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:tools="http://schemas.android.com/tools" xmlns:moz="http://mozac.org/tools">
+    <!-- Name of the "notification channel" used for displaying media notification. See https://developer.android.com/training/notify-user/channels -->
+    <string name="mozac_feature_media_notification_channel">Multimedia</string>
+
+    <!-- Title of notification shown when the device's camera is shared with a website (WebRTC) -->
+    <string name="mozac_feature_media_sharing_camera">Ka̱a̱ nátava tɨɨ</string>
+    <!-- Title of notification shown when the device's microphone is shared with a website (WebRTC) -->
+    <string name="mozac_feature_media_sharing_microphone">Micrófono tɨɨ</string>
+    <!-- Title of notification shown when the device's camera and microphone is shared with a website (WebRTC) -->
+    <string name="mozac_feature_media_sharing_camera_and_microphone">Ka̱a̱ nátava jii micrófono tɨɨ</string>
+
+
+    <!-- Text of notification shown when the device's camera is shared with a website (WebRTC) -->
+    <string name="mozac_feature_media_sharing_camera_text">Kuaxin sa síne pestaña a ni\'i cámara noo\'o.</string>
+    <!-- Text of notification shown when the device's microphone is shared with a website (WebRTC) -->
+    <string name="mozac_feature_media_sharing_microphone_text">Kauxin sa síne pestaña a ni\'i microfono noo\'o.</string>
+    <!-- Text of notification shown when the device's camera and microphone is shared with a website (WebRTC) -->
+    <string name="mozac_feature_media_sharing_camera_and_microphone_text">Kuaxin sa síne pestaña a ni\'i micrófono jíí ka̱a̱ nátava noo\'o.</string>
+
+
+    <!--This is the title of the "play" action media shown in the media notification while web content is playing media. Clicking it will resume playing paused media. On most modern Android system only an icon is visible. But screen readers may read this title. -->
+    <string name="mozac_feature_media_notification_action_play">Kajie´e</string>
+
+    <!--This is the title of the "pause" action shown in the media notification while web content is playing media. Clicking it will pause currently playing media. On most modern Android system only an icon is visible. But screen readers may read this title. -->
+    <string name="mozac_feature_media_notification_action_pause">Siankuiñɨ</string>
+
+    </resources>
diff --git a/mobile/android/android-components/components/feature/privatemode/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/privatemode/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..da7ea1a4ec142ad1a2839e9943c08c8ae14f9eda
--- /dev/null
+++ b/mobile/android/android-components/components/feature/privatemode/src/main/res/values-meh/strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- The user visible name of the "notification channel" (Android 8+ feature) for the ongoing notification shown while a browsing session is active. -->
+    <string name="mozac_feature_privatemode_notification_channel_name">Sesíon nánuku yu´u</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/PromptFeature.kt b/mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/PromptFeature.kt
index 768fddddb9173db618819b3bcf5924bf7925f49e..9a81e0784256688d06b51662ce0cd109a7e54edb 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/PromptFeature.kt
+++ b/mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/PromptFeature.kt
@@ -63,7 +63,6 @@ import mozilla.components.feature.prompts.dialog.ChoiceDialogFragment.Companion.
 import mozilla.components.feature.prompts.dialog.ColorPickerDialogFragment
 import mozilla.components.feature.prompts.dialog.ConfirmDialogFragment
 import mozilla.components.feature.prompts.dialog.MultiButtonDialogFragment
-import mozilla.components.feature.prompts.dialog.PromptAbuserDetector
 import mozilla.components.feature.prompts.dialog.PromptDialogFragment
 import mozilla.components.feature.prompts.dialog.Prompter
 import mozilla.components.feature.prompts.dialog.SaveLoginDialogFragment
@@ -103,6 +102,7 @@ import mozilla.components.support.base.log.logger.Logger
 import mozilla.components.support.ktx.kotlin.ifNullOrEmpty
 import mozilla.components.support.ktx.kotlin.tryGetHostFromUrl
 import mozilla.components.support.ktx.kotlinx.coroutines.flow.ifAnyChanged
+import mozilla.components.support.ktx.util.PromptAbuserDetector
 import java.lang.ref.WeakReference
 import java.security.InvalidParameterException
 import java.util.Collections
@@ -460,7 +460,7 @@ class PromptFeature private constructor(
                 store.consumeAllSessionPrompts(
                     sessionId = prompt?.sessionId,
                     activePrompt,
-                    predicate = { it.shouldDismissOnLoad },
+                    predicate = { it.shouldDismissOnLoad && it !is File },
                     consume = { prompt?.dismiss() },
                 )
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-be/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-be/strings.xml
index 26e60b96c3f8729369d8fde6a1ef8f8e6cb93d7e..81a2d85e40da0dc0d0bae1259ba9e4b70f1028cd 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-be/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-be/strings.xml
@@ -116,10 +116,18 @@
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Прапанаваць надзейны пароль</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Прапанаваць надзейны пароль</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Прапанаваць надзейны пароль</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Выкарыстаць надзейны пароль: %1$s</string>
 
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Не зараз</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Пароль захаваны</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Пароль абноўлены</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Адправіць дадзеныя на гэты сайт паўторна?</string>
     <string name="mozac_feature_prompt_repost_message">Абнаўленне гэтай старонкі можа паўтарыць апошнія дзеянні, напрыклад, адправіць плацеж або размясціць каментарый двойчы.</string>
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-bg/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-bg/strings.xml
index 60cb4500329d40d8a6fcb8e7f9e40c6049cab870..e1b31b28f36075c00c164b01c652ec13fa221242 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-bg/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-bg/strings.xml
@@ -116,10 +116,26 @@
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Предлагане на силна парола</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Предлагане на силна парола</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Предлагане на силна парола</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Използвайте силна парола</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Използвайте силна парола: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Използвате силна парола?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Защитете профилите си, като използвате силна, произволно генерирана парола. Получете бърз достъп до паролите си, като ги запишете в профила си.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Използване на парола</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Не сега</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Паролата е запазена</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Променена парола</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Повторно изпращане на данни до страницата?</string>
     <string name="mozac_feature_prompt_repost_message">Презареждането на страницата може да дублира скорошни действия, като заплащане или публикуване на коментар два пъти.</string>
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-bs/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-bs/strings.xml
index d43b77b4a059d70bed2ed499a2aee2d6f7f97b6d..1f082ed8d13a613129787d5d51c49d2a4265d166 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-bs/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-bs/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Lozinka</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Nemoj spasiti</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Nemoj spasiti</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Ne sada</string>
+    <string name="mozac_feature_prompt_dont_save_2">Ne sada</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Nikad ne spašavaj</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Spasi</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Nemoj ažurirati</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Nemoj ažurirati</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Ne sada</string>
+    <string name="mozac_feature_prompt_dont_update_2">Ne sada</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Ažuriraj</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Polje za lozinku ne smije biti prazno</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Polje za lozinku ne smije biti prazno</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Unesite lozinku</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Unesite lozinku</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Ne mogu spasiti prijavu</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Ne mogu spasiti prijavu</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Nije moguće sačuvati lozinku</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Nije moguće sačuvati lozinku</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Spasi ovu prijavu?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Spasi ovu prijavu?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Sačuvati lozinku?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Sačuvati lozinku?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Ažurirati ovu prijavu?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Ažurirati ovu prijavu?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Ažurirati lozinku?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Ažurirati lozinku?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Dodaj korisničko ime uz sačuvanu lozinku?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Postavi vrijeme</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Upravljanje prijavama</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Upravljanje prijavama</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Upravljajte lozinkama</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Upravljajte lozinkama</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Proširi predložene prijave</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Proširi predložene prijave</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Proširi sačuvane lozinke</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Proširi sačuvane lozinke</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Sažmi predložene prijave</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Sažmi predložene prijave</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Sažmi sačuvane lozinke</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Sažmi sačuvane lozinke</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Predložene prijave</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Predložene prijave</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Sačuvane lozinke</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Sačuvane lozinke</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Predloži jaku lozinku</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Predloži jaku lozinku</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Predloži jaku lozinku</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Koristite jaku lozinku</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Koristite jaku lozinku: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Koristiti jaku lozinku?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Zaštitite svoje račune korištenjem jake, nasumično generisane lozinke. Dobijte brzi pristup svojim lozinkama tako što ćete ih sačuvati na svoj račun.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Koristi lozinku</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Ne sada</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Lozinka je sačuvana</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Lozinka je ažurirana</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Ponovo poslati podatke na ovu stranicu?</string>
     <string name="mozac_feature_prompt_repost_message">Osvježavanje ove stranice moglo bi ponoviti nedavne radnje, kao što su dvostruko plaćanje ili komentarisanje.</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Odaberite kreditnu karticu</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Odaberite kreditnu karticu</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Koristi sačuvanu karticu</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Koristi sačuvanu karticu</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Proširite predložene kreditne kartice</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Proširite predložene kreditne kartice</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Proširi sačuvane kartice</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Proširi sačuvane kartice</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Sažmi predložene kreditne kartice</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Sažmi predložene kreditne kartice</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Sažmi sačuvane kartice</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Sažmi sačuvane kartice</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Upravljaj kreditnim karticama</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Upravljaj kreditnim karticama</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Upravljajte karticama</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Upravljajte karticama</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Sigurno sačuvati ovu karticu?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Ažuriraj datum isteka kartice?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Broj kartice će biti šifrovan. Sigurnosni kod neće biti sačuvan.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Broj kartice će biti šifrovan. Sigurnosni kod neće biti sačuvan.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s šifruje broj vaše kartice. Vaš sigurnosni kod neće biti sačuvan.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s šifruje broj vaše kartice. Vaš sigurnosni kod neće biti sačuvan.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Odaberi adresu</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Proširite predložene adrese</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Proširite predložene adrese</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Proširi sačuvane adrese</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Proširi sačuvane adrese</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Sažmi predložene adrese</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Sažmi predložene adrese</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Sažmi sačuvane adrese</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Sažmi sačuvane adrese</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Upravljaj adresama</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-ca/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-ca/strings.xml
index 030bbadd739ad13ed4c7cf6675b91a44f951f50e..c9d15d3da732bc0c1aa473ba9431f4b60bcbe5d3 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-ca/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-ca/strings.xml
@@ -116,10 +116,28 @@
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Suggereix una contrasenya segura</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Suggereix una contrasenya segura</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Suggereix una contrasenya segura</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Useu una contrasenya segura</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Useu una contrasenya segura: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Voleu utilitzar una contrasenya segura?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Protegiu els comptes amb una contrasenya segura generada aleatòriament. Si la deseu en el compte, podreu accedir-hi ràpidament.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Utilitza la contrasenya</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Ara no</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">S\'ha desat la contrasenya</string>
+
+
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">S\'ha actualitzat la contrasenya</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Voleu tornar a enviar les dades a aquest lloc?</string>
     <string name="mozac_feature_prompt_repost_message">Actualitzar aquesta pàgina pot provocar la repetició de les accions recents, com ara enviar un pagament o publicar un comentari dues vegades.</string>
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-co/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-co/strings.xml
index 7afbd91b65b0335599be051d99edc0f6f131ab72..9125f2eb75e53b71a87f44ba0be5895d56c0b4e5 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-co/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-co/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Parolla d’intesa</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Ùn arregistrà micca</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Ùn arregistrà micca</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Micca subitu</string>
+    <string name="mozac_feature_prompt_dont_save_2">Micca subitu</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Ùn arregistrà mai</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Arregistrà</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Ùn micca rinnovà</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Ùn micca rinnovà</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Micca subitu</string>
+    <string name="mozac_feature_prompt_dont_update_2">Micca subitu</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Piglià in contu</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">U campu di a parolla d’intesa ùn deve micca esse viotu</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">U campu di a parolla d’intesa ùn deve micca esse viotu</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Stampittate una parolla d’intesa</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Stampittate una parolla d’intesa</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Impussibule d’arregistrà l’identificazione di cunnessione</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Impussibule d’arregistrà l’identificazione di cunnessione</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Ùn si pò micca arregistrà a parolla d’intesa</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Ùn si pò micca arregistrà a parolla d’intesa</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Arregistrà st’identificazioni di cunnessione</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Arregistrà st’identificazioni di cunnessione</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Arregistrà a parolla d’intesa ?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Arregistrà a parolla d’intesa ?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Mudificà st’identificazione di cunnessione ?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Mudificà st’identificazione di cunnessione ?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Mudificà a parolla d’intesa ?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Mudificà a parolla d’intesa ?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Aghjunghje un nome d’utilizatore à a parolla d’intesa arregistrata ?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,29 +96,45 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Sceglie l’ora</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Urganizà l’identificazioni di cunnessione</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Urganizà l’identificazioni di cunnessione</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Amministrà e parolle d’intesa</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Amministrà e parolle d’intesa</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Spiegà l’identificazioni di cunnessione suggerite</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Spiegà l’identificazioni di cunnessione suggerite</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Spiegà e parolle d’intesa arregistrate</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Spiegà e parolle d’intesa arregistrate</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Ripiegà l’identificazioni di cunnessione suggerite</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ripiegà l’identificazioni di cunnessione suggerite</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Ripiegà e parolle d’intesa arregistrate</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Ripiegà e parolle d’intesa arregistrate</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Identificazioni di cunnessione suggerite</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Identificazioni di cunnessione suggerite</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Parolle d’intesa arregistrate</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Parolle d’intesa arregistrate</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Suggerisce una parolla d’intesa forte</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Suggerisce una parolla d’intesa forte</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Suggerisce una parolla d’intesa forte</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Impiegà una parolla d’intesa forte</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
-    <string name="mozac_feature_prompts_suggest_strong_password_message">Impiegà a parolla d’intesa forte : %1$s</string>
+    <string name="mozac_feature_prompts_suggest_strong_password_message">Impiegà una parolla d’intesa forte : %1$s</string>
+
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Impiegà una parolla d’intesa forte ?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Prutigite i vostri conti impieghendu una parolla d’intesa forte è ingenerata à l’azardu. Accidite in furia à e vostre parolle d’intesa arregistrendule in u vostru contu.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Impiegà sta parolla d’intesa</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Micca subitu</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Parolla d’intesa arregistrata</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Parolla d’intesa mudificata</string>
+
 
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Rimandà i dati à stu situ ?</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Selezziunà una carta bancaria</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Selezziunà una carta bancaria</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Impiegà una carta arregistrata</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Impiegà una carta arregistrata</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Spiegà e carte bancarie suggerite</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Spiegà e carte bancarie suggerite</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Spiegà e carte arregistrate</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Spiegà e carte arregistrate</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Ripiegà e carte bancarie suggerite</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ripiegà e carte bancarie suggerite</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Ripiegà e carte arregistrate</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Ripiegà e carte arregistrate</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Urganizà e carte bancarie</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Urganizà e carte bancarie</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Amministrà e carte</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Amministrà e carte</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Arregistrà sta carta di manera sicura ?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Mudificà a data di scadenza di a carta ?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">U numeru di a carta serà cifratu. U codice di sicurità ùn serà micca arregistratu.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">U numeru di a carta serà cifratu. U codice di sicurità ùn serà micca arregistratu.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s cifra u vostru numeru di carta. U vostru codice di sicurità ùn serà micca arregistratu.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s cifra u vostru numeru di carta. U vostru codice di sicurità ùn serà micca arregistratu.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Selezziunà un indirizzu</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Spiegà l’indirizzi suggeriti</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Spiegà l’indirizzi suggeriti</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Spiegà l’indirizzi arregistrati</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Spiegà l’indirizzi arregistrati</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Ripiegà l’indirizzi suggeriti</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ripiegà l’indirizzi suggeriti</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Ripiegà l’indirizzi arregistrati</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Ripiegà l’indirizzi arregistrati</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Urganizà l’indirizzi</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-cs/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-cs/strings.xml
index 2a2beceeb8e2693f66274cc576780563ab2a4aa3..ef395caeebcd01ae14fd68130e68509ea310620f 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-cs/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-cs/strings.xml
@@ -116,10 +116,26 @@
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Navrhnout silné heslo</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Navrhnout silné heslo</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Navrhnout silné heslo</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Použijte silné heslo</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Použít silné heslo: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Chcete použít silné heslo?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Chraňte své účty používáním silných a náhodně generovaných hesel. Uložte si svá hesla ve svém účtu a získejte tak rychlý přístup ke svým heslům.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Použít heslo</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Teď ne</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Heslo uloženo</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Heslo změněno</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Chcete znovu odeslat data tomuto serveru?</string>
     <string name="mozac_feature_prompt_repost_message">Opětovné načtení této stránky může zopakovat vaši nedávnou akci, například druhé odeslání stejné platby nebo komentáře.</string>
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-cy/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-cy/strings.xml
index d6e70ad31a96c67b551b4c9bad92f1dfa006d5ec..72a75485f15cfc85a1e818cf95a4826ebef2ff39 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-cy/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-cy/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Cyfrinair</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Peidio â chadw</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Peidio â chadw</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Nid nawr</string>
+    <string name="mozac_feature_prompt_dont_save_2">Nid nawr</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Byth cadw</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Cadw</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Peidio â diweddaru</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Peidio â diweddaru</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Nid nawr</string>
+    <string name="mozac_feature_prompt_dont_update_2">Nid nawr</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Diweddaru</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Rhaid i faes cyfrinair beidio â bod yn wag</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Rhaid i faes cyfrinair beidio â bod yn wag</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Rhowch gyfrinair</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Rhowch gyfrinair</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Methu cadw mewngofnod</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Methu cadw mewngofnod</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Methu cadw cyfrinair</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Methu cadw cyfrinair</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Cadw’r mewngofnod hwn?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Cadw’r mewngofnod hwn?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Cadw cyfrinair?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Cadw cyfrinair?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Diweddaru’r mewngofnod hwn?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Diweddaru’r mewngofnod hwn?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Diweddaru cyfrinair?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Diweddaru cyfrinair?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Ychwanegu enw defnyddiwr i gyfrinair wedi’i gadw?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Gosod yr amser</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Rheoli mewngofnodion</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Rheoli mewngofnodion</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Rheoli cyfrineiriau</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Rheoli cyfrineiriau</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Ehangu’r mewngofnodion</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ehangu’r mewngofnodion</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Ehangu cyfrineiriau sydd wedi\'u cadw</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Ehangu cyfrineiriau sydd wedi\'u cadw</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Lleihau’r mewngofnodion</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Lleihau’r mewngofnodion</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Cau cyfrineiriau sydd wedi\'u cadw</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Cau cyfrineiriau sydd wedi\'u cadw</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Mewngofnodion</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Mewngofnodion</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Cyfrineiriau wedi\'u cadw</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Cyfrineiriau wedi\'u cadw</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Awgrym o gyfrinair cryf</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Awgrym o gyfrinair cryf</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Awgrym o gyfrinair cryf</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Defnyddiwch gyfrinair cryf</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Defnyddiwch gyfrinair cryf: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Defnyddio cyfrinair cryf?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Diogelwch eich cyfrifon trwy ddefnyddio cyfrinair cryf wedi\'i gynhyrchu ar hap. Cewch fynediad cyflym i\'ch cyfrineiriau trwy eu cadw yn eich cyfrif.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Defnyddiwch gyfrinair</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Nid nawr</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Cyfrinair wedi\'i gadw</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Diweddarwyd y cyfrinair</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Ail-anfon data i’r wefan hon?</string>
     <string name="mozac_feature_prompt_repost_message">Gall adnewyddu’r dudalen hon ddyblygu gweithredoedd diweddar, fel anfon taliad neu gofnodi sylw ddwywaith.</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Dewiswch gerdyn credyd</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Dewiswch gerdyn credyd</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Defnyddio cerdyn sydd wedi\'i gadw</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Defnyddio cerdyn sydd wedi\'i gadw</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Ehangu awgrymiad y cardiau credyd</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ehangu awgrymiad y cardiau credyd</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Ehangu cardiau sydd wedi\'u cadw</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Ehangu cardiau sydd wedi\'u cadw</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Lleihau awgrymiad y cardiau credyd</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Lleihau awgrymiad y cardiau credyd</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Cau cardiau sydd wedi\'u cadw</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Cau cardiau sydd wedi\'u cadw</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Rheoli cardiau credyd</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Rheoli cardiau credyd</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Rheoli cardiau</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Rheoli cardiau</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Cadw’r cerdyn hwn yn ddiogel?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Diweddaru dyddiad dod i ben cerdyn?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Bydd rhif y cerdyn yn cael ei amgryptio. Ni fydd y cod diogelwch yn cael ei gadw.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Bydd rhif y cerdyn yn cael ei amgryptio. Ni fydd y cod diogelwch yn cael ei gadw.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">Mae %s yn amgryptio rhif eich cerdyn. Ni fydd eich cod diogelwch yn cael ei gadw.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">Mae %s yn amgryptio rhif eich cerdyn. Ni fydd eich cod diogelwch yn cael ei gadw.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Dewiswch gyfeiriad</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Ehangu awgrymiadau cyfeiriadau</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ehangu awgrymiadau cyfeiriadau</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Ehangu cyfeiriadau sydd wedi\'u cadw</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Ehangu cyfeiriadau sydd wedi\'u cadw</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Lleihau awgrymiadau cyfeiriadau</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Lleihau awgrymiadau cyfeiriadau</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Cau cyfeiriadau sydd wedi\'u cadw</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Cau cyfeiriadau sydd wedi\'u cadw</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Rheoli cyfeiriadau</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-da/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-da/strings.xml
index df13afc653e3e2a5c5be6b278a9fa2d106891a7f..0f62040ea6e56203bb1d9d49194b8f48d1aa0e14 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-da/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-da/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Adgangskode</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Gem ikke</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Gem ikke</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Ikke nu</string>
+    <string name="mozac_feature_prompt_dont_save_2">Ikke nu</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Gem aldrig</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Gem</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Opdater ikke</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Opdater ikke</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Ikke nu</string>
+    <string name="mozac_feature_prompt_dont_update_2">Ikke nu</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Opdater</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Feltet Adgangskode må ikke være tomt</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Feltet Adgangskode må ikke være tomt</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Indtast en adgangskode</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Indtast en adgangskode</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Kunne ikke gemme login</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Kunne ikke gemme login</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Kan ikke gemme adgangskode</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Kan ikke gemme adgangskode</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Gem dette login?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Gem dette login?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Gem adgangskode?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Gem adgangskode?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Opdater dette login?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Opdater dette login?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Opdater adgangskode?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Opdater adgangskode?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Føj brugernavn til gemt adgangskode?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Vælg tidspunkt</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Håndter logins</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Håndter logins</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Håndter adgangskoder</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Håndter adgangskoder</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Udvid foreslåede logins</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Udvid foreslåede logins</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Udvid gemte adgangskoder</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Udvid gemte adgangskoder</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Sammenfold foreslåede logins</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Sammenfold foreslåede logins</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Sammenfold gemte adgangskoder</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Sammenfold gemte adgangskoder</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Foreslåede logins</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Foreslåede logins</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Gemte adgangskoder</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Gemte adgangskoder</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Foreslå stærk adgangskode</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Foreslå stærk adgangskode</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Foreslå stærk adgangskode</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Brug stærk adgangskode</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Brug stærk adgangskode: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Brug stærk adgangskode?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Beskyt dine konti ved at bruge en stærk, tilfældigt genereret adgangskode. Få hurtig adgang til dine adgangskoder ved at gemme dem på din konto.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Brug adgangskode</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Ikke nu</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Adgangskode gemt</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Adgangskode opdateret</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Send data igen til dette websted?</string>
     <string name="mozac_feature_prompt_repost_message">Genindlæsning af denne side kan gentage nylige handlinger, fx sådan at en betaling udføres igen eller en kommentar sendes to gange.</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Vælg betalingskort</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Vælg betalingskort</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Brug gemt kort</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Brug gemt kort</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Udvid foreslåede betalingskort</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Udvid foreslåede betalingskort</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Udvid gemte kort</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Udvid gemte kort</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Sammenfold foreslåede betalingskort</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Sammenfold foreslåede betalingskort</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Sammenfold gemte kort</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Sammenfold gemte kort</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Håndter betalingskort</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Håndter betalingskort</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Håndter kort</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Håndter kort</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Gem dette kort sikkert?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Opdater kortets udløbsdato?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Kortnummeret vil blive krypteret. Sikkerhedskoden vil ikke blive gemt.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Kortnummeret vil blive krypteret. Sikkerhedskoden vil ikke blive gemt.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s krypterer dit kortnummer. Din sikkerhedskode bliver ikke gemt.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s krypterer dit kortnummer. Din sikkerhedskode bliver ikke gemt.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Vælg adresse</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Udvid foreslåede adresser</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Udvid foreslåede adresser</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Udvid gemte adresser</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Udvid gemte adresser</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Sammenfold foreslåede adresser</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Sammenfold foreslåede adresser</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Sammenfold gemte adresser</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Sammenfold gemte adresser</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Håndter adresser</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-de/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-de/strings.xml
index de995ecc074e37269a4fe9765ceb3eadf2f395ff..36347c10d6680c0c63cf0c69549c101f587e8f8e 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-de/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-de/strings.xml
@@ -25,9 +25,9 @@
     <string name="mozac_feature_prompt_password_hint">Passwort</string>
 
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Nicht speichern</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Nicht speichern</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Nicht jetzt</string>
+    <string name="mozac_feature_prompt_dont_save_2">Nicht jetzt</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Nie speichern</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -35,27 +35,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Speichern</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Nicht aktualisieren</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Nicht aktualisieren</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Nicht jetzt</string>
+    <string name="mozac_feature_prompt_dont_update_2">Nicht jetzt</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Aktualisieren</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Das Passwortfeld darf nicht leer bleiben</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Das Passwortfeld darf nicht leer bleiben</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Passwort eingeben</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Passwort eingeben</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Zugangsdaten konnten nicht gespeichert werden</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Zugangsdaten konnten nicht gespeichert werden</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Passwort kann nicht gespeichert werden</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Passwort kann nicht gespeichert werden</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Diese Zugangsdaten speichern?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Diese Zugangsdaten speichern?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Passwort speichern?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Passwort speichern?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Diese Zugangsdaten aktualisieren?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Diese Zugangsdaten aktualisieren?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Passwort aktualisieren?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Passwort aktualisieren?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Benutzernamen zum gespeicherten Passwort hinzufügen?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -108,30 +108,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Zeit einstellen</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Zugangsdaten verwalten</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Zugangsdaten verwalten</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Passwörter verwalten</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Passwörter verwalten</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Vorgeschlagene Zugangsdaten ausklappen</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Vorgeschlagene Zugangsdaten ausklappen</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Gespeicherte Passwörter ausklappen</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Gespeicherte Passwörter ausklappen</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Vorgeschlagene Zugangsdaten einklappen</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Vorgeschlagene Zugangsdaten einklappen</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Gespeicherte Passwörter einklappen</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Gespeicherte Passwörter einklappen</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Vorgeschlagene Zugangsdaten</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Vorgeschlagene Zugangsdaten</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Gespeicherte Passwörter</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Gespeicherte Passwörter</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Starkes Passwort vorschlagen</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Starkes Passwort vorschlagen</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Starkes Passwort vorschlagen</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Verwenden Sie ein starkes Passwort</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Verwenden Sie ein starkes Passwort: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Starkes Passwort verwenden?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Schützen Sie Ihre Konten, indem Sie ein starkes, zufällig generiertes Passwort verwenden. Greifen Sie schnell auf Ihre Passwörter zu, indem Sie es in Ihrem Konto speichern.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Passwort verwenden</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Nicht jetzt</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Passwort gespeichert</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Passwort aktualisiert</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Daten erneut an diese Website senden?</string>
     <string name="mozac_feature_prompt_repost_message">Durch das Aktualisieren dieser Seite können die letzten Aktionen doppelt ausgeführt werden, z.&amp;thinsp;B. das Senden einer Zahlung oder das zweimalige Posten eines Kommentars.</string>
@@ -142,42 +158,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Kreditkarte auswählen</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Kreditkarte auswählen</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Eine gespeicherte Karte verwenden</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Eine gespeicherte Karte verwenden</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Vorgeschlagene Kreditkarten ausklappen</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Vorgeschlagene Kreditkarten ausklappen</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Gespeicherte Karten ausklappen</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Gespeicherte Karten ausklappen</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Vorgeschlagene Kreditkarten einklappen</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Vorgeschlagene Kreditkarten einklappen</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Gespeicherte Karten einklappen</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Gespeicherte Karten einklappen</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Kreditkarten verwalten</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Kreditkarten verwalten</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Karten verwalten</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Karten verwalten</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Soll diese Karte sicher gespeichert werden?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Ablaufdatum der Karte aktualisieren?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Die Kartennummer wird verschlüsselt. Der Sicherheitscode wird nicht gespeichert.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Die Kartennummer wird verschlüsselt. Der Sicherheitscode wird nicht gespeichert.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s verschlüsselt Ihre Kartennummer. Ihr Sicherheitscode wird nicht gespeichert.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s verschlüsselt Ihre Kartennummer. Ihr Sicherheitscode wird nicht gespeichert.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Adresse auswählen</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Vorgeschlagene Adressen ausklappen</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Vorgeschlagene Adressen ausklappen</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Gespeicherte Adressen ausklappen</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Gespeicherte Adressen ausklappen</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Vorgeschlagene Adressen einklappen</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Vorgeschlagene Adressen einklappen</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Gespeicherte Adressen einklappen</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Gespeicherte Adressen einklappen</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Adressen verwalten</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-dsb/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-dsb/strings.xml
index 36188bb0bc69ff5c2991842be2a1787e64b5b582..5b7e60a2a6618bd4946169249e7d41880b14a06d 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-dsb/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-dsb/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Gronidło</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Njeskładowaś</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Njeskładowaś</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Nic něnto</string>
+    <string name="mozac_feature_prompt_dont_save_2">Nic něnto</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Nigda njeskładowaś</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Składowaś</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Njeaktualizěrowaś</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Njeaktualizěrowaś</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Nic něnto</string>
+    <string name="mozac_feature_prompt_dont_update_2">Nic něnto</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Aktualizěrowaś</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Gronidłowe pólo njesmějo prozne byś</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Gronidłowe pólo njesmějo prozne byś</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Gronidło zapódaś</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Gronidło zapódaś</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Pśizjawjenje njedajo se składowaś</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Pśizjawjenje njedajo se składowaś</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Gronidło njedajo se składowaś</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Gronidło njedajo se składowaś</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Toś to pśizjawjenje składowaś?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Toś to pśizjawjenje składowaś?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Gronidło składowaś?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Gronidło składowaś?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Toś to pśizjawjenje aktualizěrowaś?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Toś to pśizjawjenje aktualizěrowaś?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Gronidło aktualizěrowaś?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Gronidło aktualizěrowaś?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Wužywaŕske mě skłaźonemu gronidłoju pśidaś?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,48 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Cas nastajiś</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Pśizjawjenja zastojaś</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Pśizjawjenja zastojaś</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Gronidła zastojaś</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Gronidła zastojaś</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Naraźone pśizjawjenja pokazaś</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Naraźone pśizjawjenja pokazaś</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Skłaźone gronidła pokazaś</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Skłaźone gronidła pokazaś</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Naraźone pśizjawjenja schowaś</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Naraźone pśizjawjenja schowaś</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Skłaźone gronidła schowaś</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Skłaźone gronidła schowaś</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Naraźone pśizjawjenja</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Naraźone pśizjawjenja</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Skłaźone gronidła</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Skłaźone gronidła</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Mócne gronidło naraźiś</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Mócne gronidło naraźiś</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Mócne gronidło naraźiś</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Mócne gronidło wužywaś</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Mócne gronidło wužywaś: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Mócne gronidło wužywaś?</string>
+
+
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Wužywajśo mócne, pśipadnje generěrowane gronidło, aby swóje konta šćitał. Dostańśo malsny pśistup k swójim gronidłam, gaž jo w swójom konśe składujośo.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Gronidło wužywaś</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Nic něnto</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Gronidło jo se składło</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Gronidło jo se zaktualizěrowało</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Daty k toś tomu sedłoju znowego pósłaś?</string>
     <string name="mozac_feature_prompt_repost_message">Aktualizěrowanje toś togo boka mógło nejnowše akcije pódwojś, na pśikład słanje płaśenja abo dwójne wótpósćełanje komentara.</string>
@@ -130,42 +148,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Kreditowu kórtu wubraś</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Kreditowu kórtu wubraś</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Skłaźonu kórtu wužywaś</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Skłaźonu kórtu wužywaś</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Naraźone kreditowe kórty pokazaś</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Naraźone kreditowe kórty pokazaś</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Skłaźone kórty pokazaś</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Skłaźone kórty pokazaś</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Naraźone kreditowe kórty schowaś</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Naraźone kreditowe kórty schowaś</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Skłaźone kórty schowaś</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Skłaźone kórty schowaś</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Kreditowe kórty zastojaś</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Kreditowe kórty zastojaś</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Kórty zastojaś</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Kórty zastojaś</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Toś tu kórtu wěsće składowaś?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Datum spadnjenja kórty aktualizěrowaś?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Numer kórty buźo se koděrowaś. Wěstotny kod njebuźo se składowaś.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Numer kórty buźo se koděrowaś. Wěstotny kod njebuźo se składowaś.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s waš kórtowy numer koděrujo. Waš wěstotny kod njebuźo se składowaś.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s waš kórtowy numer koděrujo. Waš wěstotny kod njebuźo se składowaś.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Adresu wubraś</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Naraźone adrese pokazaś</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Naraźone adrese pokazaś</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Skłaźone adrese pokazaś</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Skłaźone adrese pokazaś</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Naraźone adrese schowaś</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Naraźone adrese schowaś</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Skłaźone adrese schowaś</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Skłaźone adrese schowaś</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Adrese zastojaś</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-el/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-el/strings.xml
index 44f632fa99d89ac529797ee45f9bb6edf1c96be4..6a48f3357ef629a48360b88cac52bc8564dd1c1a 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-el/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-el/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Κωδικός πρόσβασης</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Χωρίς αποθήκευση</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Χωρίς αποθήκευση</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Όχι τώρα</string>
+    <string name="mozac_feature_prompt_dont_save_2">Όχι τώρα</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Ποτέ αποθήκευση</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Αποθήκευση</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Να μη γίνει ενημέρωση</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Να μη γίνει ενημέρωση</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Όχι τώρα</string>
+    <string name="mozac_feature_prompt_dont_update_2">Όχι τώρα</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Ενημέρωση</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Το πεδίο κωδικού πρόσβασης δεν πρέπει να είναι κενό</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Το πεδίο κωδικού πρόσβασης δεν πρέπει να είναι κενό</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Εισαγάγετε έναν κωδικό πρόσβασης</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Εισαγάγετε έναν κωδικό πρόσβασης</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Αποτυχία αποθήκευσης σύνδεσης</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Αποτυχία αποθήκευσης σύνδεσης</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Αδυναμία αποθήκευσης κωδικού πρόσβασης</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Αδυναμία αποθήκευσης κωδικού πρόσβασης</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Αποθήκευση σύνδεσης;</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Αποθήκευση σύνδεσης;</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Αποθήκευση κωδικού πρόσβασης;</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Αποθήκευση κωδικού πρόσβασης;</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Ενημέρωση σύνδεσης;</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Ενημέρωση σύνδεσης;</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Ενημέρωση κωδικού πρόσβασης;</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Ενημέρωση κωδικού πρόσβασης;</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Προσθήκη ονόματος χρήστη στον αποθηκευμένο κωδικό πρόσβασης;</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Ορισμός ώρας</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Διαχείριση συνδέσεων</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Διαχείριση συνδέσεων</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Διαχείριση κωδικών πρόσβασης</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Διαχείριση κωδικών πρόσβασης</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Ανάπτυξη προτεινόμενων συνδέσεων</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ανάπτυξη προτεινόμενων συνδέσεων</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Ανάπτυξη των αποθηκευμένων κωδικών πρόσβασης</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Ανάπτυξη των αποθηκευμένων κωδικών πρόσβασης</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Σύμπτυξη προτεινόμενων συνδέσεων</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Σύμπτυξη προτεινόμενων συνδέσεων</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Σύμπτυξη αποθηκευμένων κωδικών πρόσβασης</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Σύμπτυξη αποθηκευμένων κωδικών πρόσβασης</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Προτεινόμενες συνδέσεις</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Προτεινόμενες συνδέσεις</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Αποθηκευμένοι κωδικοί πρόσβασης</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Αποθηκευμένοι κωδικοί πρόσβασης</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Πρόταση ισχυρού κωδικού πρόσβασης</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Πρόταση ισχυρού κωδικού πρόσβασης</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Πρόταση ισχυρού κωδικού πρόσβασης</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Χρήση ισχυρού κωδικού πρόσβασης</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Χρησιμοποιήστε ισχυρό κωδικό: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Χρήση ισχυρού κωδικού πρόσβασης;</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Προστατέψτε τους λογαριασμούς σας με έναν ισχυρό, τυχαίο κωδικό πρόσβασης. Αποκτήστε γρήγορη πρόσβαση στους κωδικούς πρόσβασής σας αποθηκεύοντάς τους στον λογαριασμό σας.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Χρήση κωδικού πρόσβασης</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Όχι τώρα</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Ο κωδικός πρόσβασης αποθηκεύτηκε</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Ο κωδικός πρόσβασης ενημερώθηκε</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Επαναποστολή δεδομένων στον ιστότοπο;</string>
     <string name="mozac_feature_prompt_repost_message">Η ανανέωση αυτής της σελίδας ίσως επαναλάβει τις πρόσφατες ενέργειες, όπως αποστολή πληρωμής ή δημοσίευση σχολίου δύο φορές.</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Επιλογή πιστωτικής κάρτας</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Επιλογή πιστωτικής κάρτας</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Χρήση αποθηκευμένης κάρτας</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Χρήση αποθηκευμένης κάρτας</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Ανάπτυξη προτεινόμενων πιστωτικών καρτών</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ανάπτυξη προτεινόμενων πιστωτικών καρτών</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Ανάπτυξη αποθηκευμένων καρτών</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Ανάπτυξη αποθηκευμένων καρτών</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Σύμπτυξη προτεινόμενων πιστωτικών καρτών</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Σύμπτυξη προτεινόμενων πιστωτικών καρτών</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Σύμπτυξη αποθηκευμένων καρτών</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Σύμπτυξη αποθηκευμένων καρτών</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Διαχείριση πιστωτικών καρτών</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Διαχείριση πιστωτικών καρτών</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Διαχείριση καρτών</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Διαχείριση καρτών</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Ασφαλής αποθήκευση κάρτας;</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Ενημέρωση ημερομηνίας λήξης κάρτας;</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Ο αριθμός της κάρτας θα κρυπτογραφηθεί. Ο κωδικός ασφαλείας δεν θα αποθηκευτεί.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Ο αριθμός της κάρτας θα κρυπτογραφηθεί. Ο κωδικός ασφαλείας δεν θα αποθηκευτεί.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">Το %s κρυπτογραφεί τον αριθμό της κάρτας σας. Ο κωδικός ασφαλείας σας δεν θα αποθηκευτεί.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">Το %s κρυπτογραφεί τον αριθμό της κάρτας σας. Ο κωδικός ασφαλείας σας δεν θα αποθηκευτεί.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Επιλογή διεύθυνσης</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Ανάπτυξη προτεινόμενων διευθύνσεων</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ανάπτυξη προτεινόμενων διευθύνσεων</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Ανάπτυξη αποθηκευμένων διευθύνσεων</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Ανάπτυξη αποθηκευμένων διευθύνσεων</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Σύμπτυξη προτεινόμενων διευθύνσεων</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Σύμπτυξη προτεινόμενων διευθύνσεων</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Σύμπτυξη αποθηκευμένων διευθύνσεων</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Σύμπτυξη αποθηκευμένων διευθύνσεων</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Διαχείριση διευθύνσεων</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-en-rGB/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-en-rGB/strings.xml
index b4cf291d22ed701eb9829385a90668e9459846eb..c07d78288b8fd25403e100d2a37c7f30b9c2908c 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-en-rGB/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-en-rGB/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Password</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Don’t save</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Don’t save</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Not now</string>
+    <string name="mozac_feature_prompt_dont_save_2">Not now</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Never save</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Save</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Don’t update</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Don’t update</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Not now</string>
+    <string name="mozac_feature_prompt_dont_update_2">Not now</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Update</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Password field must not be empty</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Password field must not be empty</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Enter a password</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Enter a password</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Unable to save login</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Unable to save login</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Can’t save password</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Can’t save password</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Save this login?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Save this login?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Save password?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Save password?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Update this login?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Update this login?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Update password?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Update password?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Add username to saved password?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Set time</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Manage logins</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Manage logins</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Manage passwords</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Manage passwords</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Expand suggested logins</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expand suggested logins</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Expand saved passwords</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Expand saved passwords</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Collapse suggested logins</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Collapse suggested logins</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Collapse saved passwords</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Collapse saved passwords</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Suggested logins</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Suggested logins</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Saved passwords</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Saved passwords</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Suggest strong password</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Suggest strong password</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Suggest strong password</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Use strong password</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Use strong password: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Use strong password?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Protect your accounts by using a strong, randomly generated password. Get quick access to your passwords by saving it in your account.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Use password</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Not now</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Password saved</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Password updated</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Resend data to this site?</string>
     <string name="mozac_feature_prompt_repost_message">Refreshing this page could duplicate recent actions, such as sending a payment or posting a comment twice.</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Select credit card</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Select credit card</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Use saved card</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Use saved card</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Expand suggested credit cards</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expand suggested credit cards</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Expand saved cards</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Expand saved cards</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Collapse suggested credit cards</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Collapse suggested credit cards</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Collapse saved cards</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Collapse saved cards</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Manage credit cards</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Manage credit cards</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Manage cards</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Manage cards</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Securely save this card?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Update card expiration date?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Card number will be encrypted. Security code won’t be saved.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Card number will be encrypted. Security code won’t be saved.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s encrypts your card number. Your security code won’t be saved.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s encrypts your card number. Your security code won’t be saved.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Select address</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Expand suggested addresses</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expand suggested addresses</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Expand saved addresses</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Expand saved addresses</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Collapse suggested addresses</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Collapse suggested addresses</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Collapse saved addresses</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Collapse saved addresses</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Manage addresses</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-es-rAR/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-es-rAR/strings.xml
index b16d50b15a7efe5d0f0e21b5b00bf15493a2edbb..54034d399c150d75b871c1f9f6cba14366f82ad2 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-es-rAR/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-es-rAR/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Contraseña</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">No guardar</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">No guardar</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">No ahora</string>
+    <string name="mozac_feature_prompt_dont_save_2">No ahora</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">No guardar nunca</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Guardar</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">No actualizar</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">No actualizar</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">No ahora</string>
+    <string name="mozac_feature_prompt_dont_update_2">No ahora</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Actualizar</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">El campo de contraseña no puede estar vacío</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">El campo de contraseña no puede estar vacío</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Ingresar una contraseña</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Ingresar una contraseña</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">No se puede guardar el inicio de sesión</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">No se puede guardar el inicio de sesión</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">No se puede guardar la contraseña</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">No se puede guardar la contraseña</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">¿Guardar este inicio de sesión?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">¿Guardar este inicio de sesión?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">¿Guardar contraseña?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">¿Guardar contraseña?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">¿Actualizar este inicio de sesión?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">¿Actualizar este inicio de sesión?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">¿Actualizar contraseña?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">¿Actualizar contraseña?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">¿Agregar nombre de usuario a la contraseña guardada?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,31 +96,47 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Establecer hora</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Administrar inicios de sesión</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Administrar inicios de sesión</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Administrar contraseñas</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Administrar contraseñas</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Expandir los inicios de sesión sugeridos</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expandir los inicios de sesión sugeridos</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Expandir las contraseñas guardadas</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Expandir las contraseñas guardadas</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Contraer los inicios de sesión sugeridos</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Contraer los inicios de sesión sugeridos</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Contraer contraseñas guardadas</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Contraer contraseñas guardadas</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Inicios de sesión sugeridos</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Inicios de sesión sugeridos</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Contraseñas guardadas</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Contraseñas guardadas</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Sugerir contraseña segura</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Sugerir contraseña segura</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Sugerir contraseña segura</string>
 
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Usar contraseña segura</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Usar contraseña segura: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">¿Usar contraseña segura?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Protegé tus cuentas usando una contraseña segura generada al azar. Conseguí acceso rápido a tus contraseñas guardándolas en tu cuenta.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Usar contraseña</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">No ahora</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Contraseña guardada</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Contraseña actualizada</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">¿Reenviar datos a este sitio?</string>
     <string name="mozac_feature_prompt_repost_message">Recargar esta página podría duplicar acciones recientes, como enviar un pago o publicar un comentario dos veces.</string>
@@ -131,42 +147,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Seleccionar tarjeta de crédito</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Seleccionar tarjeta de crédito</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Usar tarjeta guardada</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Usar tarjeta guardada</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Ampliar las tarjetas de crédito sugeridas</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ampliar las tarjetas de crédito sugeridas</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Expandir tarjetas guardadas</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Expandir tarjetas guardadas</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Contraer tarjetas de crédito sugeridas</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Contraer tarjetas de crédito sugeridas</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Contraer tarjetas guardadas</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Contraer tarjetas guardadas</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Administrar tarjetas de crédito</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Administrar tarjetas de crédito</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Administrar tarjetas</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Administrar tarjetas</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">¿Guardar esta tarjeta de forma segura?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">¿Actualizar la fecha de vencimiento de la tarjeta?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">El número de tarjeta será cifrado. El código de seguridad no se guardará.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">El número de tarjeta será cifrado. El código de seguridad no se guardará.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s cifra tu número de tarjeta. El código de seguridad no se guardará.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s cifra tu número de tarjeta. El código de seguridad no se guardará.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Seleccionar dirección</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Expandir direcciones sugeridas</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expandir direcciones sugeridas</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Expandir las direcciones guardadas</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Expandir las direcciones guardadas</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Contraer direcciones sugeridas</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Contraer direcciones sugeridas</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Contraer direcciones guardadas</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Contraer direcciones guardadas</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Administrar direcciones</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-es-rCL/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-es-rCL/strings.xml
index ed1d9dd56fdc7b962ea344c84e1fadc9ad3a152d..d5ce5d3317b0eeb1dcaa36ae32844adea599df5e 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-es-rCL/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-es-rCL/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Contraseña</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">No guardar</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">No guardar</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Ahora no</string>
+    <string name="mozac_feature_prompt_dont_save_2">Ahora no</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Nunca guardar</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Guardar</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">No actualizar</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">No actualizar</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Ahora no</string>
+    <string name="mozac_feature_prompt_dont_update_2">Ahora no</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Actualizar</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">El campo de contraseña no puede estar vacío</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">El campo de contraseña no puede estar vacío</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Ingresar una contraseña</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Ingresar una contraseña</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">No se pudo guardar la credencial</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">No se pudo guardar la credencial</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">No se puede guardar la contraseña</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">No se puede guardar la contraseña</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">¿Guardar esta credencial?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">¿Guardar esta credencial?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">¿Guardar contraseña?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">¿Guardar contraseña?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">¿Actualizar esta credencial?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">¿Actualizar esta credencial?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">¿Actualizar contraseña?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">¿Actualizar contraseña?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">¿Añadir nombre de usuario a la contraseña guardada?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Ajustar hora</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Administrar credenciales</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Administrar credenciales</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Gestionar contraseñas</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Gestionar contraseñas</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Expandir credenciales sugeridas</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expandir credenciales sugeridas</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Expandir contraseñas guardadas</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Expandir contraseñas guardadas</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Contraer credenciales sugeridas</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Contraer credenciales sugeridas</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Contraer contraseñas guardadas</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Contraer contraseñas guardadas</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Credenciales sugeridas</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Credenciales sugeridas</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Contraseñas guardadas</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Contraseñas guardadas</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Sugerir contraseña segura</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Sugerir contraseña segura</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Sugerir contraseña segura</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Usar contraseña segura</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Usar contraseña segura: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">¿Usar contraseña segura?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Protege tus cuentas utilizando una contraseña segura generada aleatoriamente. Obtén acceso rápido a tus contraseñas guardándolas en tu cuenta.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Usar contraseña</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Ahora no</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Contraseña guardada</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Contraseña actualizada</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">¿Reenviar datos a este sitio?</string>
     <string name="mozac_feature_prompt_repost_message">Recargar esta página podría duplicar acciones recientes, como enviar un pago o publicar un comentario dos veces.</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Seleccionar tarjeta de crédito</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Seleccionar tarjeta de crédito</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Usar tarjeta guardada</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Usar tarjeta guardada</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Expandir tarjetas de crédito sugeridas</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expandir tarjetas de crédito sugeridas</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Expandir tarjetas guardadas</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Expandir tarjetas guardadas</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Ocultar tarjetas de crédito sugeridas</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ocultar tarjetas de crédito sugeridas</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Contraer tarjetas guardadas</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Contraer tarjetas guardadas</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Gestionar tarjetas de crédito</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Gestionar tarjetas de crédito</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Gestionar tarjetas</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Gestionar tarjetas</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">¿Guardar esta tarjeta de forma segura?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">¿Actualizar la fecha de vencimiento de la tarjeta?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">El número de la tarjeta será encriptado. El código de seguridad no será guardo.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">El número de la tarjeta será encriptado. El código de seguridad no será guardo.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s cifra tu número de tarjeta. Tu código de seguridad no será guardado.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s cifra tu número de tarjeta. Tu código de seguridad no será guardado.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Seleccionar dirección</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Expandir direcciones sugeridas</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expandir direcciones sugeridas</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Expandir direcciones guardadas</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Expandir direcciones guardadas</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Ocultar direcciones sugeridas</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ocultar direcciones sugeridas</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Contraer direcciones guardadas</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Contraer direcciones guardadas</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Gestionar direcciones</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-fi/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-fi/strings.xml
index c0c777120efa2ac21ad4b3ce23cafedbf31f0435..6f690b2a8ab5da114b274b65059a4c63142071fe 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-fi/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-fi/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Salasana</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Älä tallenna</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Älä tallenna</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Ei nyt</string>
+    <string name="mozac_feature_prompt_dont_save_2">Ei nyt</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Älä tallenna koskaan</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Tallenna</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Älä päivitä</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Älä päivitä</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Ei nyt</string>
+    <string name="mozac_feature_prompt_dont_update_2">Ei nyt</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Päivitä</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Salasanakenttä ei saa olla tyhjä</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Salasanakenttä ei saa olla tyhjä</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Kirjoita salasana</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Kirjoita salasana</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Kirjautumistietojen tallennus epäonnistui</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Kirjautumistietojen tallennus epäonnistui</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Salasanaa ei voi tallentaa</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Salasanaa ei voi tallentaa</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Tallennetaanko tämä kirjautumistieto?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Tallennetaanko tämä kirjautumistieto?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Tallennetaanko salasana?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Tallennetaanko salasana?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Päivitetäänkö tämä kirjautumistieto?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Päivitetäänkö tämä kirjautumistieto?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Päivitetäänkö salasana?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Päivitetäänkö salasana?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Lisätäänkö käyttäjänimi tallennettuun salasanaan?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Aseta aika</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Hallitse kirjautumistietoja</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Hallitse kirjautumistietoja</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Hallitse salasanoja</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Hallitse salasanoja</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Laajenna ehdotetut kirjautumistiedot</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Laajenna ehdotetut kirjautumistiedot</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Laajenna tallennetut salasanat</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Laajenna tallennetut salasanat</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Supista ehdotetut kirjautumistiedot</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Supista ehdotetut kirjautumistiedot</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Supista tallennetut salasanat</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Supista tallennetut salasanat</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Ehdotetut kirjautumistiedot</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Ehdotetut kirjautumistiedot</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Tallennetut salasanat</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Tallennetut salasanat</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Ehdota vahvaa salasanaa</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Ehdota vahvaa salasanaa</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Ehdota vahvaa salasanaa</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Käytä vahvaa salasanaa</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Käytä vahvaa salasanaa: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Haluatko käyttää vahvaa salasanaa?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Suojaa tilejäsi käyttämällä vahvaa, satunnaisesti luotua salasanaa. Pääset nopeasti käyttämään salasanoja tallentamalla ne tilillesi.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Käytä salasanaa</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Ei nyt</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Salasana tallennettu</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Salasana päivitetty</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Lähetetäänkö tiedot uudelleen tälle sivustolle?</string>
     <string name="mozac_feature_prompt_repost_message">Tämän sivun päivittäminen saattaa kahdentaa viimeisimmät toiminnot, kuten maksun suorittamisen tai kommentin lähettämisen kahdesti.</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Valitse luottokortti</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Valitse luottokortti</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Käytä tallennettua korttia</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Käytä tallennettua korttia</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Laajenna ehdotetut luottokortit</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Laajenna ehdotetut luottokortit</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Laajenna tallennetut kortit</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Laajenna tallennetut kortit</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Supista ehdotetut luottokortit</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Supista ehdotetut luottokortit</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Supista tallennetut kortit</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Supista tallennetut kortit</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Hallitse luottokortteja</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Hallitse luottokortteja</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Hallitse kortteja</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Hallitse kortteja</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Tallennetaanko tämä kortti turvallisesti?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Päivitetäänkö kortin viimeinen voimassaolopäivä?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Kortin numero salataan. Suojakoodia ei tallenneta.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Kortin numero salataan. Suojakoodia ei tallenneta.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s salaa korttisi numeron. Turvakoodiasi ei tallenneta.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s salaa korttisi numeron. Turvakoodiasi ei tallenneta.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Valitse osoite</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Laajenna ehdotetut osoitteet</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Laajenna ehdotetut osoitteet</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Laajenna tallennetut osoitteet</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Laajenna tallennetut osoitteet</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Supista ehdotetut osoitteet</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Supista ehdotetut osoitteet</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Supista tallennetut osoitteet</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Supista tallennetut osoitteet</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Hallitse osoitteita</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-fr/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-fr/strings.xml
index 4dfffcad534f9143469e6338f3d6d6d12729b198..b6b8aa4224893aac3c8b9dc3f756b0ecdfca2255 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-fr/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-fr/strings.xml
@@ -23,9 +23,9 @@
     <string name="mozac_feature_prompt_password_hint">Mot de passe</string>
 
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Ne pas enregistrer</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Ne pas enregistrer</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Plus tard</string>
+    <string name="mozac_feature_prompt_dont_save_2">Plus tard</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Ne jamais enregistrer</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -33,27 +33,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Enregistrer</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Ne pas mettre à jour</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Ne pas mettre à jour</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Plus tard</string>
+    <string name="mozac_feature_prompt_dont_update_2">Plus tard</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Mettre à jour</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Le champ mot de passe ne doit pas être vide</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Le champ mot de passe ne doit pas être vide</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Saisissez un mot de passe</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Saisissez un mot de passe</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Impossible d’enregistrer l’identifiant</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Impossible d’enregistrer l’identifiant</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Impossible d’enregistrer le mot de passe</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Impossible d’enregistrer le mot de passe</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Enregistrer ces identifiants ?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Enregistrer ces identifiants ?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Enregistrer le mot de passe ?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Enregistrer le mot de passe ?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Mettre à jour cet identifiant ?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Mettre à jour cet identifiant ?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Mettre à jour le mot de passe ?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Mettre à jour le mot de passe ?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Ajouter un nom d’utilisateur au mot de passe enregistré ?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -105,30 +105,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Choisir l’heure</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Gérer les identifiants</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Gérer les identifiants</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Gérer les mots de passe</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Gérer les mots de passe</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Développer les identifiants suggérés</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Développer les identifiants suggérés</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Développer les mots de passe enregistrés</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Développer les mots de passe enregistrés</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Réduire les identifiants suggérés</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Réduire les identifiants suggérés</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Réduire les mots de passe enregistrés</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Réduire les mots de passe enregistrés</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Identifiants suggérés</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Identifiants suggérés</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Mots de passe enregistrés</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Mots de passe enregistrés</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Suggérer un mot de passe fort</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Suggérer un mot de passe fort</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Suggérer un mot de passe fort</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Utilisez un mot de passe compliqué</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Utiliser un mot de passe fort : %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Utiliser un mot de passe compliqué ?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Protégez vos comptes en utilisant un mot de passe compliqué, généré aléatoirement. Accédez rapidement à vos mots de passe en les enregistrant dans votre compte.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Utiliser ce mot de passe</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Plus tard</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Mot de passe enregistré</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Mot de passe mis à jour</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Renvoyer les données à ce site ?</string>
     <string name="mozac_feature_prompt_repost_message">Actualiser cette page pourrait répéter des actions récentes, telles que l’envoi d’un paiement ou la publication d’un commentaire.</string>
@@ -139,42 +155,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Sélectionner une carte bancaire</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Sélectionner une carte bancaire</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Utiliser une carte enregistrée</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Utiliser une carte enregistrée</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Développer les cartes bancaires suggérées</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Développer les cartes bancaires suggérées</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Développer les cartes enregistrées</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Développer les cartes enregistrées</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Réduire les cartes bancaires suggérées</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Réduire les cartes bancaires suggérées</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Réduire les cartes enregistrées</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Réduire les cartes enregistrées</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Gérer les cartes bancaires</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Gérer les cartes bancaires</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Gérer les cartes</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Gérer les cartes</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Enregistrer cette carte en toute sécurité ?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Mettre à jour la date d’expiration de la carte ?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Le numéro de carte sera chiffré. Le code de sécurité ne sera pas enregistré.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Le numéro de carte sera chiffré. Le code de sécurité ne sera pas enregistré.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s chiffre votre numéro de carte. Votre code de sécurité ne sera pas enregistré.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s chiffre votre numéro de carte. Votre code de sécurité ne sera pas enregistré.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Sélectionner une adresse</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Développer les adresses suggérées</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Développer les adresses suggérées</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Développer les adresses enregistrées</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Développer les adresses enregistrées</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Réduire les adresses suggérées</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Réduire les adresses suggérées</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Réduire les adresses enregistrées</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Réduire les adresses enregistrées</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Gérer les adresses</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-fur/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-fur/strings.xml
index 0e81b65ce855a2023f1d17452225eb0ca29a0cd0..ede9f3c3548383ab7d6efa0fa9488baec02124ef 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-fur/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-fur/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Password</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">No sta salvâ</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">No sta salvâ</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">No cumò</string>
+    <string name="mozac_feature_prompt_dont_save_2">No cumò</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">No sta salvâ mai</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,28 +27,28 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Salve</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">No sta inzornâ</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">No sta inzornâ</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">No cumò</string>
+    <string name="mozac_feature_prompt_dont_update_2">No cumò</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Inzorne</string>
 
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Il cjamp de password nol à di sei vueit</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Il cjamp de password nol à di sei vueit</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Inserìs une password</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Inserìs une password</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Impussibil salvâ lis credenziâls</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Impussibil salvâ lis credenziâls</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Impussibil salvâ la password</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Impussibil salvâ la password</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Salvâ cheste credenziâl?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Salvâ cheste credenziâl?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Salvâ la password?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Salvâ la password?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Inzornâ cheste credenziâl?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Inzornâ cheste credenziâl?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Inzornâ la password?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Inzornâ la password?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Zontâ il non utent ae password salvade?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -97,31 +97,47 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Stabilìs ore</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Gjestìs credenziâls</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Gjestìs credenziâls</string>
 
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Gjestìs passwords</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Gjestìs passwords</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Slargje lis credenziâls sugjeridis</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Slargje lis credenziâls sugjeridis</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Slargje lis passwords salvadis</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Slargje lis passwords salvadis</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Comprim lis credenziâls sugjeridis</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Comprim lis credenziâls sugjeridis</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Strenç lis passwords salvadis</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Strenç lis passwords salvadis</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Credenziâls sugjeridis</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Credenziâls sugjeridis</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Passwords salvadis</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Passwords salvadis</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Sugjerìs password complesse</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Sugjerìs password complesse</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Sugjerìs password complesse</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Dopre password complesse</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Dopre password complesse: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Doprâ une password complesse?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Protêç i tiei account doprant une password complesse, gjenerade in mût casuâl. Dopre daurman lis tôs passwords, salvantlis tal to account.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Dopre password</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">No cumò</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Password salvade</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Password inzornade</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Tornâ a inviâ i dâts a chest sît?</string>
     <string name="mozac_feature_prompt_repost_message">Se tu tornis a cjariâ cheste pagjine tu podaressis causâ la ripetizion des azions resintis, come l’inviament di un paiament o publicâ un coment dôs voltis.</string>
@@ -132,43 +148,43 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Selezione cjarte di credit</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Selezione cjarte di credit</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Dopre cjarte salvade</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Dopre cjarte salvade</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Slargje la liste des cjartis di credit sugjeridis</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Slargje la liste des cjartis di credit sugjeridis</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Slargje lis cjartis salvadis</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Slargje lis cjartis salvadis</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Comprim la liste des cjartis di credit sugjeridis</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Comprim la liste des cjartis di credit sugjeridis</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Strenç lis cjartis salvadis</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Strenç lis cjartis salvadis</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Gjestìs cjartis di credit</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Gjestìs cjartis di credit</string>
 
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Gjestìs cjartis</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Gjestìs cjartis</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Salvâ cheste cjarte in maniere sigure?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Inzornâ la date di scjadince de cjarte?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Il numar de cjarte al sarà cifrât. Il codiç di sigurece nol vignarà salvât.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Il numar de cjarte al sarà cifrât. Il codiç di sigurece nol vignarà salvât.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s al cifre il numar de tô cjarte. Il codiç di sigurece nol vignarà salvât.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s al cifre il numar de tô cjarte. Il codiç di sigurece nol vignarà salvât.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Selezione recapit</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Slargje i recapits sugjerîts</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Slargje i recapits sugjerîts</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Slargje lis direzions salvadis</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Slargje lis direzions salvadis</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Comprim recapits sugjerîts</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Comprim recapits sugjerîts</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Strenç lis direzions salvadis</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Strenç lis direzions salvadis</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Gjestìs recapits</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-gl/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-gl/strings.xml
index 785542bd46c7b735a8ca508378ba64eb364bf935..44f323bb96597fd7d7438da4b2876fb788aebbcb 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-gl/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-gl/strings.xml
@@ -117,10 +117,26 @@
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Suxerir contrasinais fortes</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Suxerir contrasinais fortes</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Suxerir contrasinais fortes</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Usa un contrasinal seguro</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Usar un contrasinal forte: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Usar un contrasinal seguro?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Protexa as súas contas mediante un contrasinal seguro e xerado aleatoriamente. Obtén acceso rápido aos teus contrasinais gardalos na túa conta.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Usa contrasinal</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Agora non</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Contrasinal gardado</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Contrasinal actualizado</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Reenviar os datos a este sitio?</string>
     <string name="mozac_feature_prompt_repost_message">Actualizar esta páxina pode duplicar accións recentes, como enviar un pago ou publicar un comentario dúas veces.</string>
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-gn/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-gn/strings.xml
index ed14962d6bbfb960a28b81b4bab43962d6689e51..7351741bd2fbce9561d8203a8c980aa2c8352e75 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-gn/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-gn/strings.xml
@@ -116,10 +116,26 @@
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Eikuave’ẽ ñe’ẽñemi hekorosãva</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Eikuave’ẽ ñe’ẽñemi hekorosãva</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Eikuave’ẽ ñe’ẽñemi hekorosãva</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Eiporu ñe’ẽñemi oikóva</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Eiporu ñe’ẽñemi hekorosãva: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">¿Eiporu ñe’ẽñemi oikóva?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Emo’ã ne mba’ete eiporúvo ñe’ẽñemi hekorosãva ejapóva eiporu hag̃ua. Eike pya’e ne ñe’ẽñemíme eñongatúvo ne mba’etépe.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Eiporu ñe’ẽñemi</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Ani ko’ág̃a</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Eñongatu ñe’ẽñemi</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Ñe’ẽñemi hekopyahúva</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">¿Emondojey mba’ekuaarã ko tendápe?</string>
     <string name="mozac_feature_prompt_repost_message">Emyanyhẽjeývo ko kuatiarogue ombohetakuaa ejaporamóva, omondokuaa jehepyme’ẽ térã omoherakuãjo’a nde jehaipy.</string>
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-hsb/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-hsb/strings.xml
index 23d8daba551d96ffa1b4f3c488368e27d9591499..b6abae7d5084e9108c289db0f777466293181c24 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-hsb/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-hsb/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Hesło</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Njeskładować</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Njeskładować</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Nic nětko</string>
+    <string name="mozac_feature_prompt_dont_save_2">Nic nětko</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Ženje njeskładować</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Składować</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Njeaktualizować</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Njeaktualizować</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Nic nětko</string>
+    <string name="mozac_feature_prompt_dont_update_2">Nic nětko</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Aktualizować</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Hesłowe polo njesmě prózdne być</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Hesłowe polo njesmě prózdne być</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Hesło zapodać</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Hesło zapodać</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Přizjewjenje njeda so składować</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Přizjewjenje njeda so składować</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Hesło njeda so składować</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Hesło njeda so składować</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Tute přizjewjenje składować?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Tute přizjewjenje składować?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Hesło składować?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Hesło składować?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Tute přizjewjenje aktualizować?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Tute přizjewjenje aktualizować?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Hesło aktualizować?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Hesło aktualizować?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Wužiwarske mjeno składowanemu hesłu přidać?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Čas nastajić</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Přizjewjenja rjadować</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Přizjewjenja rjadować</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Hesła rjadować</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Hesła rjadować</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Namjetowane přizjewjenja pokazać</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Namjetowane přizjewjenja pokazać</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Składowane hesła pokazać</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Składowane hesła pokazać</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Namjetowane přizjewjenja schować</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Namjetowane přizjewjenja schować</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Składowane hesła schować</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Składowane hesła schować</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Namjetowane přizjewjenja</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Namjetowane přizjewjenja</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Składowane hesła</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Składowane hesła</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Sylne hesło namjetować</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Sylne hesło namjetować</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Sylne hesło namjetować</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Sylne hesło wužiwać</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Sylne hesło wužiwać: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Sylne hesło wužiwać?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Wužiwajće sylne, připadnje generěrowane hesło, zo byšće swoje konta škitał. Dóstańće spěšny přistup k swojim hesłam, hdyž jo w swojim konće składujeće.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Hesło wužiwać</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Nic nětko</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Hesło je so składowało</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Hesło je so zaktualizowało</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Daty k tutomu sydłu znowa pósłać?</string>
     <string name="mozac_feature_prompt_repost_message">Aktualizowanje tuteje strony móhło najnowše akcije podwojić, na přikład słanje płaćenja abo dwójne wotesyłanje komentara.</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Kreditnu kartu wubrać</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Kreditnu kartu wubrać</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Składowanu kartu wužiwać</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Składowanu kartu wužiwać</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Namjetowane kreditne karty pokazać</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Namjetowane kreditne karty pokazać</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Składowane karty pokazać</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Składowane karty pokazać</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Namjetowane kreditne karty schować</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Namjetowane kreditne karty schować</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Składowane karty schować</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Składowane karty schować</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Kreditne karty rjadować</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Kreditne karty rjadować</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Karty rjadować</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Karty rjadować</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Tutu kartu wěsće składować?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Datum spadnjenja karty aktualizować?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Čisło karty budźe so zaklučować. Wěstotny kod njebudźe so składować.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Čisło karty budźe so zaklučować. Wěstotny kod njebudźe so składować.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s waše kartowe čisło zaklučuje. Waš wěstotny kod njebudźe so składować.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s waše kartowe čisło zaklučuje. Waš wěstotny kod njebudźe so składować.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Adresu wubrać</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Namjetowane adresy pokazać</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Namjetowane adresy pokazać</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Składowane adresy pokazać</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Składowane adresy pokazać</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Namjetowane adresy schować</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Namjetowane adresy schować</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Składowane adresy schować</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Składowane adresy schować</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Adresy rjadować</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-hy-rAM/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-hy-rAM/strings.xml
index 8190f8d45b300647c6ac4613e4cf2f7033363ece..119887866da79d904efd7c2ac4aec70957550b5e 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-hy-rAM/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-hy-rAM/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Գաղտնաբառ</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Չպահպանել</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Չպահպանել</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Ոչ հիմա</string>
+    <string name="mozac_feature_prompt_dont_save_2">Ոչ հիմա</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Երբեք չպահպանել</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Պահպանել</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Չթարմացնել</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Չթարմացնել</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Ոչ հիմա</string>
+    <string name="mozac_feature_prompt_dont_update_2">Ոչ հիմա</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Թարմացնել</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Գաղտնաբառի դաշտը չպետք է դատարկ լինի</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Գաղտնաբառի դաշտը չպետք է դատարկ լինի</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Մուտքագրեք գաղտնաբառ</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Մուտքագրեք գաղտնաբառ</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Անհնար է պահել մուտքանունը</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Անհնար է պահել մուտքանունը</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Հնարավոր չէ պահել գաղտնաբառը</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Հնարավոր չէ պահել գաղտնաբառը</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Պահպանե՞լ մուտքանունը</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Պահպանե՞լ մուտքանունը</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Պահե՞լ գաղտնաբառը</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Պահե՞լ գաղտնաբառը</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Թարմացնե՞լ մուտքանունը:</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Թարմացնե՞լ մուտքանունը:</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Թարմացնե՞լ գաղտնաբառը:</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Թարմացնե՞լ գաղտնաբառը:</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Ավելացնե՞լ օգտվողի անունը գաղտնաբառին:</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Կայել ժամանակ</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Կառավարել մուտքանունները</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Կառավարել մուտքանունները</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Կառավարել գաղտնաբառերը</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Կառավարել գաղտնաբառերը</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Ընդլայնել առաջարկվող մուտքանունները</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ընդլայնել առաջարկվող մուտքանունները</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Ընդարձակել պահված գաղտնաբառերը</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Ընդարձակել պահված գաղտնաբառերը</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Կոծկել առաջարկվող մուտքանունները</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Կոծկել առաջարկվող մուտքանունները</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Կոծկել պահված գաղտնաբառերը</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Կոծկել պահված գաղտնաբառերը</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Առաջարկվող մուտքանուններ</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Առաջարկվող մուտքանուններ</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Պահված գաղտնաբառեր</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Պահված գաղտնաբառեր</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Առաջարկել ուժեղ գաղտնաբառ</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Առաջարկել ուժեղ գաղտնաբառ</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Առաջարկել ուժեղ գաղտնաբառ</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Օգտագործել ուժեղ գաղտնաբառ</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Օգտագործեք ուժեղ գաղտնաբառ՝ %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Օգտագործե՞լ ուժեղ գաղտնաբառ</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Պաշտպանեք ձեր հաշիվները՝ օգտագործելով ուժեղ, պատահականորեն ստեղծված գաղտնաբառ: Արագորեն մատչեք Ձեր գաղտնաբառերը՝ դրանք պահելով ձեր հաշվում:</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Օգտագործել գաղտնաբառը</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Ոչ հիմա</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Գաղտնաբառը պահպանվել է</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Գաղտնաբառը թարմացվել է</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Կրկին ուղարկել տվյալները այս կայքի համար:</string>
     <string name="mozac_feature_prompt_repost_message">Տվյալ էջի թարմացումը կարող է կրկնօրինակել վերջին գործողությունները, ինչպես օրինակ՝ վճարումը կամ մեկնաբանության կրկնակի հրապարակումը:</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Ընտրեք բանկային քարտ</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Ընտրեք բանկային քարտ</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Օգտագործել պահված քարտը</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Օգտագործել պահված քարտը</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Ընդարձակել առաջարկվող բանկային քարտերը</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ընդարձակել առաջարկվող բանկային քարտերը</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Ընդարձակել պահված քարտերը</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Ընդարձակել պահված քարտերը</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Կոծկել առաջարկվող բանկային քարտերը</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Կոծկել առաջարկվող բանկային քարտերը</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Կոծկել պահված քարտերը</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Կոծկել պահված քարտերը</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Կառավարել բանկային քարտերը</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Կառավարել բանկային քարտերը</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Կառավարել քարտերը</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Կառավարել քարտերը</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Ապահով պահե՞լ այս քարտը:</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Թարմացնե՞լ քարտի գործողության ժամկետը:</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Քարտի համարը կկոդավորվի: Անվտանգության կոդը չի պահվի:</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Քարտի համարը կկոդավորվի: Անվտանգության կոդը չի պահվի:</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s-ը գաղտնագրում է ձեր քարտի համարը: Անվտանգության ձեր կոդը չի պահպանվի:</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s-ը գաղտնագրում է ձեր քարտի համարը: Անվտանգության ձեր կոդը չի պահպանվի:</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Ընտրեք հասցե</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Ընդլայնել առաջարկվող հասցեները</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ընդլայնել առաջարկվող հասցեները</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Ընդարձակել պահված հասցեները</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Ընդարձակել պահված հասցեները</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Կոծկել առաջարկվող հասցեները</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Կոծկել առաջարկվող հասցեները</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Կոծկել պահված հասցեները</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Կոծկել պահված հասցեները</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Կառավարել հասցեները</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-ia/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-ia/strings.xml
index d81b6b52e462d82ce083913eb6046a5a6b792060..5e7b28b04610437752df44c28afb0b8a403f4005 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-ia/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-ia/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Contrasigno</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Non salvar</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Non salvar</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Non ora</string>
+    <string name="mozac_feature_prompt_dont_save_2">Non ora</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Non salvar mais</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Salvar</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Non actualisar</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Non actualisar</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Non ora</string>
+    <string name="mozac_feature_prompt_dont_update_2">Non ora</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Actualisar</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Le campo del contrasigno non debe esser vacue</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Le campo del contrasigno non debe esser vacue</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Insere un contrasigno</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Insere un contrasigno</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Impossibile salvar le credentiales</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Impossibile salvar le credentiales</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Impossibile salvar le contrasigno</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Impossibile salvar le contrasigno</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Salvar iste credentiales?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Salvar iste credentiales?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Salvar le contrasigno?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Salvar le contrasigno?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Actualisar iste credentiales?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Actualisar iste credentiales?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Actualisar le contrasigno?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Actualisar le contrasigno?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Adder le nomine de usator al contrasigno salvate?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,31 +96,47 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Adjustar le hora</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Gerer credentiales</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Gerer credentiales</string>
 
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Gerer contrasignos</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Gerer contrasignos</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Expander le credentiales suggerite</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expander le credentiales suggerite</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Expander le contrasignos salvate</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Expander le contrasignos salvate</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Collaber le credentiales suggerite</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Collaber le credentiales suggerite</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Comprimer le contrasignos salvate</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Comprimer le contrasignos salvate</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Credentiales suggerite</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Credentiales suggerite</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Contrasignos salvate</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Contrasignos salvate</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Suggerer contrasigno complexe</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Suggerer contrasigno complexe</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Suggerer contrasigno complexe</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Usar un contrasigno forte</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Usa contrasigno forte: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Usar contrasigno forte?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Protege tu contos per un forte, contrasigno aleatorimente generate. Obtene accesso rapide a tu contrasignos reservante los in tu conto.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Usar contrasigno</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Non ora</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Contrasigno salvate</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Contrasigno actualisate</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Reinviar le datos a iste sito?</string>
     <string name="mozac_feature_prompt_repost_message">Actualisar iste pagina pote duplicar activitates recente, tal como inviar un pagamento o un commento duo vices.</string>
@@ -131,42 +147,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Eliger le carta de credito</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Eliger le carta de credito</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Usar un carta salvate</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Usar un carta salvate</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Expander le cartas de credito suggerite</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expander le cartas de credito suggerite</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Expander le cartas salvate</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Expander le cartas salvate</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Collaber le cartas de credito suggerite</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Collaber le cartas de credito suggerite</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Comprimer le cartas salvate</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Comprimer le cartas salvate</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Gerer le cartas de credito</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Gerer le cartas de credito</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Gerer le cartas</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Gerer le cartas</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Securmente salveguardar iste carta?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Actualisar le data de expiration del carta?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Le numero de carta sera cryptate. Le codice de securitate non sera salvate.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Le numero de carta sera cryptate. Le codice de securitate non sera salvate.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s crypta tu numero de carta. Tu codice de securitate non sera salvate.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s crypta tu numero de carta. Tu codice de securitate non sera salvate.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Seliger adress</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Expander adresses suggerite</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expander adresses suggerite</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Expander adresses salvate</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Expander adresses salvate</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Collaber adresses suggerite</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Collaber adresses suggerite</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Collaber adresses salvate</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Collaber adresses salvate</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Gerer adresses</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-is/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-is/strings.xml
index 790b620f4d3b26595709b27909c7da29a5c772af..a60684f3e838ab7b41393fb15323c281b8b0fc8b 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-is/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-is/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Lykilorð</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Ekki vista</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Ekki vista</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Ekki núna</string>
+    <string name="mozac_feature_prompt_dont_save_2">Ekki núna</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Aldrei vista</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Vista</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Ekki uppfæra</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Ekki uppfæra</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Ekki núna</string>
+    <string name="mozac_feature_prompt_dont_update_2">Ekki núna</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Uppfæra</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Lykilorðareiturinn má ekki vera tómur</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Lykilorðareiturinn má ekki vera tómur</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Settu inn lykilorð</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Settu inn lykilorð</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Gat ekki vistað innskráningarupplýsingar</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Gat ekki vistað innskráningarupplýsingar</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Get ekki vistað lykilorð</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Get ekki vistað lykilorð</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Vista þessa innskráningu?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Vista þessa innskráningu?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Vista lykilorð?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Vista lykilorð?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Uppfæra þessa innskráningu?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Uppfæra þessa innskráningu?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Uppfæra lykilorð?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Uppfæra lykilorð?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Bæta notandanafni við vistað lykilorð?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,32 +96,48 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Stilla tíma</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Sýsla með innskráningar</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Sýsla með innskráningar</string>
 
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Sýsla með lykilorð</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Sýsla með lykilorð</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Fletta út tillögum að innskráningu</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Fletta út tillögum að innskráningu</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Fletta út vistuð lykilorð</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Fletta út vistuð lykilorð</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Fella saman tillögur að innskráningu</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Fella saman tillögur að innskráningu</string>
 
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Fella saman vistuð lykilorð</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Fella saman vistuð lykilorð</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Tillögur að innskráningu</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Tillögur að innskráningu</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Vistuð lykilorð</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Vistuð lykilorð</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Stinga upp á sterku lykilorði</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Stinga upp á sterku lykilorði</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Stinga upp á sterku lykilorði</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Notaðu sterkt lykilorð</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Notaðu sterkt lykilorð: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Nota sterkt lykilorð?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Verndaðu reikningana þína með því að nota sterkt lykilorð sem búið er til af handahófi. Hafðu lykilorðin þín innan handar með því að vista þau á reikningnum þínum.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Nota lykilorð</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Ekki núna</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Lykilorð vistað</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Lykilorð uppfært</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Senda gögn til baka á þetta vefsvæði?</string>
     <string name="mozac_feature_prompt_repost_message">Ef þú endurlest þessa síðu gæti það endurtekið nýlegar aðgerðir, eins og að senda greiðslu eða setja inn athugasemd tvisvar.</string>
@@ -132,42 +148,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Veldu greiðslukort</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Veldu greiðslukort</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Nota vistað kort</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Nota vistað kort</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Fletta út tillögum að greiðslukortum</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Fletta út tillögum að greiðslukortum</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Fletta út vistuð greiðslukort</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Fletta út vistuð greiðslukort</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Fella saman tillögur að greiðslukortum</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Fella saman tillögur að greiðslukortum</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Fella saman vistuð greiðslukort</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Fella saman vistuð greiðslukort</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Sýsla með greiðslukort</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Sýsla með greiðslukort</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Sýsla með greiðslukort</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Sýsla með greiðslukort</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Vista þetta kort á öruggan hátt?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Uppfæra gildistíma korts?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Kortanúmer verður dulritað. Öryggiskóði verður ekki vistaður.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Kortanúmer verður dulritað. Öryggiskóði verður ekki vistaður.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s dulkóðar kortanúmerið þitt. Öryggiskóðinn þinn verður ekki vistaður.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s dulkóðar kortanúmerið þitt. Öryggiskóðinn þinn verður ekki vistaður.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Veldu póstfang</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Fletta út tillögum að póstföngum</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Fletta út tillögum að póstföngum</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Fletta út vistuðum heimilisföngum</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Fletta út vistuðum heimilisföngum</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Fella saman tillögur að póstföngum</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Fella saman tillögur að póstföngum</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Fella saman vistuð heimilisföng</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Fella saman vistuð heimilisföng</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Sýsla með póstföng</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-it/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-it/strings.xml
index 55f05583930f623b897eceebbd7eb66b12fc6159..5b33c82d319f16b11fa7f4d3c8ffe2bfce86c0de 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-it/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-it/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Password</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Non salvare</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Non salvare</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Non adesso</string>
+    <string name="mozac_feature_prompt_dont_save_2">Non adesso</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Non salvare mai</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Salva</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Non aggiornare</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Non aggiornare</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Non adesso</string>
+    <string name="mozac_feature_prompt_dont_update_2">Non adesso</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Aggiorna</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">È necessario inserire una password</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">È necessario inserire una password</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Inserisci una password</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Inserisci una password</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Impossibile salvare le credenziali</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Impossibile salvare le credenziali</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Impossibile salvare la password</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Impossibile salvare la password</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Salvare queste credenziali?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Salvare queste credenziali?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Salvare la password?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Salvare la password?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Aggiornare queste credenziali?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Aggiornare queste credenziali?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Aggiornare la password?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Aggiornare la password?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Aggiungere il nome utente alle credenziali salvate?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Imposta ora</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Gestione credenziali</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Gestione credenziali</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Gestisci password</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Gestisci password</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Espandi le credenziali suggerite</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Espandi le credenziali suggerite</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Espandi le password salvate</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Espandi le password salvate</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Comprimi le credenziali suggerite</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Comprimi le credenziali suggerite</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Comprimi le password salvate</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Comprimi le password salvate</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Credenziali suggerite</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Credenziali suggerite</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Password salvate</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Password salvate</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Suggerisci password complessa</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Suggerisci password complessa</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Suggerisci password complessa</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Usa password complessa</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Utilizza password complessa: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Usare una password complessa?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Proteggi i tuoi account utilizzando una password complessa. generata in modo casuale. Accedi rapidamente alle tue password salvandole nel tuo account.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Usa password</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Non adesso</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Password salvata</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Password aggiornata</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Inviare nuovamente i dati a questo sito?</string>
     <string name="mozac_feature_prompt_repost_message">Il ricaricamento può causare la ripetizione di azioni recenti svolte sulla pagina, generando, per esempio, pagamenti o commenti duplicati.</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Seleziona carta di credito</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Seleziona carta di credito</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Utilizza carta salvata</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Utilizza carta salvata</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Espandi l’elenco delle carte di credito suggerite</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Espandi l’elenco delle carte di credito suggerite</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Espandi le carte salvate</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Espandi le carte salvate</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Comprimi l’elenco delle carte di credito suggerite</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Comprimi l’elenco delle carte di credito suggerite</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Comprimi le carte salvate</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Comprimi le carte salvate</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Gestisci carte di credito</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Gestisci carte di credito</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Gestisci carte</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Gestisci carte</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Salvare questa carta in modo sicuro?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Aggiornare la data di scadenza della carta?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Il numero della carta sarà crittato. Il codice di sicurezza non verrà salvato.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Il numero della carta sarà crittato. Il codice di sicurezza non verrà salvato.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s critta il numero della tua carta. Il codice di sicurezza non verrà salvato.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s critta il numero della tua carta. Il codice di sicurezza non verrà salvato.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Seleziona indirizzo</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Espandi gli indirizzi suggeriti</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Espandi gli indirizzi suggeriti</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Espandi gli indirizzi salvati</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Espandi gli indirizzi salvati</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Comprimi gli indirizzi suggeriti</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Comprimi gli indirizzi suggeriti</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Comprimi gli indirizzi salvati</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Comprimi gli indirizzi salvati</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Gestisci indirizzi</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-iw/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-iw/strings.xml
index 879dd4dcc260a7a7bbea1f1e9e061d6bb42cbcf7..969a8b439cbc3c981a48866d94082e8dc5bcac0a 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-iw/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-iw/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">ססמה</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">לא לשמור</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">לא לשמור</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">לא כעת</string>
+    <string name="mozac_feature_prompt_dont_save_2">לא כעת</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">לעולם לא לשמור</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">לשמור</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">לא לעדכן</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">לא לעדכן</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">לא כעת</string>
+    <string name="mozac_feature_prompt_dont_update_2">לא כעת</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">עדכון</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">שדה הססמה לא יכול להישאר ריק</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">שדה הססמה לא יכול להישאר ריק</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">נא להכניס ססמה</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">נא להכניס ססמה</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">לא ניתן לשמור את הכניסה</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">לא ניתן לשמור את הכניסה</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">לא ניתן לשמור את הססמה</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">לא ניתן לשמור את הססמה</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">לשמור כניסה זו?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">לשמור כניסה זו?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">לשמור את הססמה?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">לשמור את הססמה?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">לעדכן כניסה זו?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">לעדכן כניסה זו?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">לעדכן את הססמה?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">לעדכן את הססמה?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">להוסיף שם משתמש לססמה השמורה?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">הגדרת זמן</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">ניהול כניסות</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">ניהול כניסות</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">ניהול ססמאות</string>
+    <string name="mozac_feature_prompts_manage_logins_2">ניהול ססמאות</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">הרחבת הכניסות המוצעות</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">הרחבת הכניסות המוצעות</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">הרחבת ססמאות שמורות</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">הרחבת ססמאות שמורות</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">צמצום הכניסות המוצעות</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">צמצום הכניסות המוצעות</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">צמצום ססמאות שמורות</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">צמצום ססמאות שמורות</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">כניסות מוצעות</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">כניסות מוצעות</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">ססמאות שמורות</string>
+    <string name="mozac_feature_prompts_saved_logins_2">ססמאות שמורות</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">קבלת הצעה לססמה חזקה</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">קבלת הצעה לססמה חזקה</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">קבלת הצעה לססמה חזקה</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">שימוש בססמה חזקה</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">שימוש בססמה חזקה: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">להשתמש בססמה חזקה?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">כדאי להגן על החשבונות שלך על־ידי שימוש  בססמה חזקה רנדומלית. ניתן לקבל גישה מהירה לססמאות שלך על־ידי שמירתן בחשבון שלך.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">שימוש בססמה</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">לא כעת</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">הססמה נשמרה</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">הססמה עודכנה</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">לשלוח את הנתונים לאתר הזה שוב?</string>
     <string name="mozac_feature_prompt_repost_message">רענון העמוד הזה עשוי להוביל לשכפול הפעולות האחרונות, כגון ביצוע תשלום או פרסום תגובה פעמיים.</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">בחירת כרטיס אשראי</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">בחירת כרטיס אשראי</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">שימוש בכרטיס השמור</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">שימוש בכרטיס השמור</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">הרחבת כרטיסי האשראי המוצעים</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">הרחבת כרטיסי האשראי המוצעים</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">הרחבת כרטיסים שמורים</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">הרחבת כרטיסים שמורים</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">צמצום כרטיסי האשראי המוצעים</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">צמצום כרטיסי האשראי המוצעים</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">צמצום כרטיסים שמורים</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">צמצום כרטיסים שמורים</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">ניהול כרטיסי אשראי</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">ניהול כרטיסי אשראי</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">ניהול כרטיסים</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">ניהול כרטיסים</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">לשמור את הכרטיס הזה באופן מאובטח?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">לעדכן את תאריך התפוגה של הכרטיס?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">מספר הכרטיס יוצפן. קוד האבטחה לא יישמר.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">מספר הכרטיס יוצפן. קוד האבטחה לא יישמר.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">‏%s מצפין את מספר הכרטיס שלך. קוד האבטחה שלך לא יישמר.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">‏%s מצפין את מספר הכרטיס שלך. קוד האבטחה שלך לא יישמר.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">בחירת כתובת</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">הרחבת הכתובות המוצעות</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">הרחבת הכתובות המוצעות</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">הרחבת כתובות דוא״ל</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">הרחבת כתובות דוא״ל</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">צמצום הכתובות המוצעות</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">צמצום הכתובות המוצעות</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">צמצום כתובות דוא״ל</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">צמצום כתובות דוא״ל</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">ניהול כתובות</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-ja/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-ja/strings.xml
index 9b0ba18b329c6871c91cc185efc9f8295742d13b..48001c3cda7dadcde438d87446c46d150f7d37e2 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-ja/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-ja/strings.xml
@@ -25,9 +25,9 @@
     <string name="mozac_feature_prompt_password_hint">パスワード</string>
 
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">保存しない</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">保存しない</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">後で</string>
+    <string name="mozac_feature_prompt_dont_save_2">後で</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">保存しない</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -35,27 +35,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">保存する</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">更新しない</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">更新しない</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">後で</string>
+    <string name="mozac_feature_prompt_dont_update_2">後で</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">更新</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">パスワードを入力してください</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">パスワードを入力してください</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">パスワードを入力してください</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">パスワードを入力してください</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">ログイン情報を保存できません</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">ログイン情報を保存できません</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">パスワードを保存できません</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">パスワードを保存できません</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">このログイン情報を保存しますか?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">このログイン情報を保存しますか?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">パスワードを保存しますか?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">パスワードを保存しますか?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">このログイン情報を更新しますか?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">このログイン情報を更新しますか?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">パスワードを更新しますか?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">パスワードを更新しますか?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">保存されたパスワードにユーザー名を追加しますか?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -108,30 +108,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">時刻の設定</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">ログイン情報の管理</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">ログイン情報の管理</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">パスワードを管理</string>
+    <string name="mozac_feature_prompts_manage_logins_2">パスワードを管理</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">提案されたログイン情報を展開</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">提案されたログイン情報を展開</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">保存したパスワードを展開</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">保存したパスワードを展開</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">提案されたログイン情報を折りたたむ</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">提案されたログイン情報を折りたたむ</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">保存したパスワードを折りたたむ</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">保存したパスワードを折りたたむ</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">提案されたログイン情報</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">提案されたログイン情報</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">保存されたパスワード</string>
+    <string name="mozac_feature_prompts_saved_logins_2">保存されたパスワード</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">強固なパスワードを提案する</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">強固なパスワードを提案する</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">強固なパスワードを提案する</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">強固なパスワードを使用する</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">強固なパスワードを使用してください: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">強固なパスワードを使用しますか?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">強固でランダムに生成されたパスワードを使用してアカウントを保護しましょう。そのパスワードをアカウントに保存しておけば、すぐにアクセスできます。</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">このパスワードを使用</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">後で</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">パスワードを保存しました</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">パスワードを更新しました</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">このサイトにデータを再送信しますか?</string>
     <string name="mozac_feature_prompt_repost_message">このページを更新すると、支払いの送信やコメントの投稿が 2 回行われるなど、直前の操作が重複する可能性があります。</string>
@@ -142,42 +158,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">クレジットカードを選択</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">クレジットカードを選択</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">保存したカード情報を使用</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">保存したカード情報を使用</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">提案されたクレジットカード情報を展開する</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">提案されたクレジットカード情報を展開する</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">保存したカード情報を展開</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">保存したカード情報を展開</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">提案されたクレジットカード情報を折りたたむ</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">提案されたクレジットカード情報を折りたたむ</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">保存したカード情報を折りたたむ</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">保存したカード情報を折りたたむ</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">クレジットカードを管理</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">クレジットカードを管理</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">カード情報を管理</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">カード情報を管理</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">このカードの情報を安全に保存しますか?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">カードの有効期限を更新しますか?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">カード番号は暗号化されます。セキュリティコードは保存されません。</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">カード番号は暗号化されます。セキュリティコードは保存されません。</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s がカード番号を暗号化します。セキュリティコードは保存しません。</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s がカード番号を暗号化します。セキュリティコードは保存しません。</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">アドレスの選択</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">提案されたアドレス情報を展開する</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">提案されたアドレス情報を展開する</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">保存したアドレス情報を展開</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">保存したアドレス情報を展開</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">提案されたアドレス情報を折りたたむ</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">提案されたアドレス情報を折りたたむ</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">保存したアドレス情報を折りたたむ</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">保存したアドレス情報を折りたたむ</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">アドレスの管理</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-kk/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-kk/strings.xml
index 2dc4c617a54d35fb2181fc6faa2aa3727517ffb5..45c83005eb8a0640081ba19833d51f4c1c98d23d 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-kk/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-kk/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Пароль</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Сақтамау</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Сақтамау</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Қазір емес</string>
+    <string name="mozac_feature_prompt_dont_save_2">Қазір емес</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Ешқашан сақтамау</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Сақтау</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Жаңартпау</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Жаңартпау</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Қазір емес</string>
+    <string name="mozac_feature_prompt_dont_update_2">Қазір емес</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Жаңарту</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Пароль өрісі бос болмауы тиіс</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Пароль өрісі бос болмауы тиіс</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Парольді енгізіңіз</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Парольді енгізіңіз</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Логинді сақтау мүмкін емес</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Логинді сақтау мүмкін емес</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Парольді сақтау мүмкін емес</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Парольді сақтау мүмкін емес</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Бұл логинді сақтау керек пе?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Бұл логинді сақтау керек пе?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Парольді сақтау керек пе?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Парольді сақтау керек пе?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Бұл логинді жаңарту керек пе?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Бұл логинді жаңарту керек пе?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Парольді жаңарту керек пе?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Парольді жаңарту керек пе?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Пайдаланушы атын сақталған парольге қосу керек пе?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Уақытты орнату</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Логиндерді басқару</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Логиндерді басқару</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Парольдерді басқару</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Парольдерді басқару</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Ұсынылған логиндерді жазық қылу</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ұсынылған логиндерді жазық қылу</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Сақталған парольдерді жазық қылу</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Сақталған парольдерді жазық қылу</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Ұсынылған логиндерді қайыру</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ұсынылған логиндерді қайыру</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Сақталған парольдерді бүктеу</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Сақталған парольдерді бүктеу</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Ұсынылған логиндер</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Ұсынылған логиндер</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Сақталған парольдер</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Сақталған парольдер</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Мықты парольді ұсыну</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Мықты парольді ұсыну</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Мықты парольді ұсыну</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Қатаң парольді қолдану</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Мықты парольді қолдану: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Қатаң парольді қолдану керек пе?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Қатаң, кездейсоқ жасалған парольді пайдалану арқылы тіркелгілеріңізді қорғаңыз. Парольдерді тіргіңізге сақтау арқылы жылдам қол жеткізіңіз.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Парольді қолдану</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Қазір емес</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Пароль сақталды</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Пароль жаңартылды</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Осы сайтқа деректерді қайта жіберу керек пе?</string>
     <string name="mozac_feature_prompt_repost_message">Бұл парақты жаңарту төлемдерді жіберу немесе пікірді екі рет жіберу сияқты соңғы әрекеттерді қайталауы мүмкін.</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Несиелік картаны таңдау</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Несиелік картаны таңдау</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Сақталған картаны пайдалану</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Сақталған картаны пайдалану</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Ұсынылған несиелік карталарды жаю</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ұсынылған несиелік карталарды жаю</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Сақталған карталарды жазық қылу</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Сақталған карталарды жазық қылу</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Ұсынылған несиелік карталарды жию</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ұсынылған несиелік карталарды жию</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Сақталған карталарды бүктеу</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Сақталған карталарды бүктеу</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Несиелік карталарды басқару</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Несиелік карталарды басқару</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Карталарды басқару</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Карталарды басқару</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Бұл картаны қауіпсіз сақтау керек пе?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Картаның жарамдылық мерзімін жаңарту керек пе?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Карта нөмірі шифрленеді. Қауіпсіздік коды сақталмайды.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Карта нөмірі шифрленеді. Қауіпсіздік коды сақталмайды.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%sкартаңыздың нөмірін шифрлейді. Қауіпсіздік кодыңыз сақталмайтын болады.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%sкартаңыздың нөмірін шифрлейді. Қауіпсіздік кодыңыз сақталмайтын болады.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Адресті таңдау</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Ұсынылған адрестерді жазық қылу</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ұсынылған адрестерді жазық қылу</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Сақталған адрестерді жазық қылу</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Сақталған адрестерді жазық қылу</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Ұсынылған адрестерді бүктеу</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Ұсынылған адрестерді бүктеу</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Сақталған адрестерді бүктеу</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Сақталған адрестерді бүктеу</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Адрестерді басқару</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-ko/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-ko/strings.xml
index 69b227b800925033aebb659847d9a88b429bb356..e0e6d24958f7198ba36e05d996f2399a30dc99a2 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-ko/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-ko/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">비밀번호</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">저장 안 함</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">저장 안 함</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">나중에</string>
+    <string name="mozac_feature_prompt_dont_save_2">나중에</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">저장 안 함</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">저장</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">업데이트 안 함</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">업데이트 안 함</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">나중에</string>
+    <string name="mozac_feature_prompt_dont_update_2">나중에</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">업데이트</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">비밀번호 필드는 비워 둘 수 없습니다</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">비밀번호 필드는 비워 둘 수 없습니다</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">비밀번호 입력</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">비밀번호 입력</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">로그인을 저장할 수 없음</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">로그인을 저장할 수 없음</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">비밀번호를 저장할 수 없음</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">비밀번호를 저장할 수 없음</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">이 로그인을 저장하시겠습니까?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">이 로그인을 저장하시겠습니까?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">비밀번호를 저장하시겠습니까?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">비밀번호를 저장하시겠습니까?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">이 로그인을 업데이트하시겠습니까?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">이 로그인을 업데이트하시겠습니까?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">비밀번호를 업데이트하시겠습니까?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">비밀번호를 업데이트하시겠습니까?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">저장된 비밀번호에 사용자 이름을 추가하시겠습니까?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">시간 설정</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">로그인 관리</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">로그인 관리</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">비밀번호 관리</string>
+    <string name="mozac_feature_prompts_manage_logins_2">비밀번호 관리</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">제안된 로그인 펼치기</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">제안된 로그인 펼치기</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">저장된 비밀번호 펼치기</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">저장된 비밀번호 펼치기</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">제안된 로그인 접기</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">제안된 로그인 접기</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">저장된 비밀번호 접기</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">저장된 비밀번호 접기</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">제안된 로그인</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">제안된 로그인</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">저장된 비밀번호</string>
+    <string name="mozac_feature_prompts_saved_logins_2">저장된 비밀번호</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">강력한 비밀번호 제안</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">강력한 비밀번호 제안</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">강력한 비밀번호 제안</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">강력한 비밀번호 사용</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">강력한 비밀번호 사용: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">강력한 비밀번호를 사용하시겠습니까?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">무작위로 생성된 강력한 비밀번호를 사용하여 계정을 보호하세요. 비밀번호를 계정에 저장하여 비밀번호에 빠르게 액세스하세요.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">비밀번호 사용</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">나중에</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">비밀번호 저장됨</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">비밀번호 업데이트됨</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">이 사이트로 데이터를 다시 보내시겠습니까?</string>
     <string name="mozac_feature_prompt_repost_message">이 페이지를 새로 고침하면 결제를 두 번 보내거나 댓글을 두 번 게시하는 등 최근 작업이 중복될 수 있습니다.</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">신용 카드 선택</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">신용 카드 선택</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">저장된 카드 사용</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">저장된 카드 사용</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">제안된 신용 카드 펼치기</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">제안된 신용 카드 펼치기</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">저장된 비밀번호 펼치기</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">저장된 비밀번호 펼치기</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">제안된 신용 카드 접기</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">제안된 신용 카드 접기</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">저장된 비밀번호 접기</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">저장된 비밀번호 접기</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">신용 카드 관리</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">신용 카드 관리</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">카드 관리</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">카드 관리</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">이 카드를 안전하게 저장하시겠습니까?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">카드 유효 기간을 업데이트하시겠습니까?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">카드 번호는 암호화됩니다. 보안 코드는 저장되지 않습니다.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">카드 번호는 암호화됩니다. 보안 코드는 저장되지 않습니다.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s는 카드 번호를 암호화합니다. 보안 코드는 저장되지 않습니다.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s는 카드 번호를 암호화합니다. 보안 코드는 저장되지 않습니다.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">주소 선택</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">제안된 주소 펼치기</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">제안된 주소 펼치기</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">저장된 주소 펼치기</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">저장된 주소 펼치기</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">제안된 주소 접기</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">제안된 주소 접기</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">저장된 주소 접기</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">저장된 주소 접기</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">주소 관리</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..50b1e4d2df4fb47ca0be29553ba917fc1f6fe0f8
--- /dev/null
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-meh/strings.xml
@@ -0,0 +1,186 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:tools="http://schemas.android.com/tools" xmlns:moz="http://mozac.org/tools">
+    <!-- Text for confirmation for a positive action in dialog  -->
+    <string name="mozac_feature_prompts_ok">Kuvi</string>
+    <!-- Text for confirmation for a negative action in dialog.  -->
+    <string name="mozac_feature_prompts_cancel">Nkuvi-ka</string>
+    <!-- Text for a positive button, when an user selects a date in date/time picker. -->
+    <string name="mozac_feature_prompts_set_date">Establecer</string>
+    <!-- Text for a button that clears the selected input in the date/time picker. -->
+    <string name="mozac_feature_prompts_clear">Sno</string>
+    <!-- Text for the title of an authentication dialog. -->
+    <string name="mozac_feature_prompt_sign_in">Kajie´e sesión</string>
+    <!-- Text for username field in an authentication dialog. -->
+    <string name="mozac_feature_prompt_username_hint">Sɨvu ñɨvu</string>
+    <!-- Text for password field in an authentication dialog. -->
+    <string name="mozac_feature_prompt_password_hint">Contraseña</string>
+    <!-- Negative confirmation that we should not save the new or updated login -->
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Nchuva´a</string>
+    <!-- Negative confirmation that we should not save the new or updated login -->
+    <string name="mozac_feature_prompt_dont_save_2">Nkuvi ntañu´u</string>
+    <!-- Negative confirmation that we should never save a login for this site -->
+    <string name="mozac_feature_prompt_never_save">Nchuva\'a ni\'i íchi</string>
+    <!-- Negative confirmation that we should not save a credit card for this site -->
+    <string name="mozac_feature_prompt_not_now">Nkuvi ntañu´u</string>
+    <!-- Positive confirmation that we should save the new or updated login -->
+    <string name="mozac_feature_prompt_save_confirmation">Chuva´a</string>
+    <!-- Negative confirmation that we should not save the updated login -->
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Nsa actualizar</string>
+    <!-- Negative confirmation that we should not save the updated login -->
+    <string name="mozac_feature_prompt_dont_update_2">Nkuvi ntañu´u</string>
+    <!-- Positive confirmation that we should save the updated login -->
+    <string name="mozac_feature_prompt_update_confirmation">Actualizar</string>
+    <!-- Error text displayed underneath the password field when it is in an error case -->
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Campo contraseña nkuvi koo kino sukua</string>
+    <!-- Error text displayed underneath the password field when it is in an error case -->
+    <string name="mozac_feature_prompt_error_empty_password_2">Chu\'un contraseña</string>
+    <!-- Error text displayed underneath the login field when it is in an error case -->
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Nkuvi chuva´a tutu nátava</string>
+    <!-- Error text displayed underneath the password field when it is in an error case -->
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Ntu kuvi chuva\'a contraseña</string>
+    <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">¿Chuva\'a nuu kajie´e sesión ya´a?</string>
+    <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
+    <string name="mozac_feature_prompt_login_save_headline_2">Chuva\'a contraseña?</string>
+    <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">¿Naxi\'ña nuu kajie´e sesión ya´a?</string>
+    <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
+    <string name="mozac_feature_prompt_login_update_headline_2">Naxi\'ña contraseña?</string>
+    <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
+    <string name="mozac_feature_prompt_login_add_username_headline">¿Tee sivɨ ñivɨ nu contraseña nchuva\'a?</string>
+    <!-- Text for a label for the field when prompt requesting a text is shown. -->
+    <!-- For more info take a look here https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt -->
+    <string name="mozac_feature_prompts_content_description_input_label">Etiqueta sa chu\'unu iin campo de entrada de texto</string>
+    <!-- Title of a color picker dialog, this text is shown above a color picker. -->
+    <string name="mozac_feature_prompts_choose_a_color">Kají iin teku</string>
+    <!-- Text of a confirm button in dialog requesting to open a new window. -->
+    <string name="mozac_feature_prompts_allow">Kuvi</string>
+    <!-- Text of a negative button in dialog requesting to open a new window. -->
+    <string name="mozac_feature_prompts_deny">Nkuvi jia´a</string>
+    <!-- Title of the dialog shown when a user is leaving a website and there is still data not saved yet. -->
+    <string name="mozac_feature_prompt_before_unload_dialog_title">¿A kuvinu sá´ánu ya´a?</string>
+
+    <!-- Body text of the dialog shown when a user is leaving a website and there is still data not saved yet. -->
+    <string name="mozac_feature_prompt_before_unload_dialog_body">¿A kuvinu kenenu nu nuu ya\'a? Da datos nchu\'unu kuvi kɨna</string>
+    <!-- Stay button of the dialog shown when a user is leaving a website and there is still data not saved yet, this indicates that the user wants to stay in the website. -->
+    <string name="mozac_feature_prompts_before_unload_stay">Kino nuu sitio</string>
+    <!-- Leave button of the dialog shown when a user is leaving a website and there is still data not saved yet, this indicates that the user wants to leave in the website. -->
+    <string name="mozac_feature_prompts_before_unload_leave">Kene nuu sitio</string>
+    <!-- Title of the month chooser dialog. -->
+    <string name="mozac_feature_prompts_set_month">Kaji iin yoo</string>
+    <!-- January (short description), used on the month chooser dialog. -->
+    <string name="mozac_feature_prompts_jan">Ene</string>
+    <!-- February month of the year (short description), used on the month chooser dialog. -->
+    <string name="mozac_feature_prompts_feb">Feb</string>
+    <!-- March month of the year (short description), used on the month chooser dialog. -->
+    <string name="mozac_feature_prompts_mar">Mar</string>
+    <!-- April month of the year (short description), used on the month chooser dialog. -->
+    <string name="mozac_feature_prompts_apr">Abr</string>
+    <!-- May month of the year (short description), used on the month chooser dialog. -->
+    <string name="mozac_feature_prompts_may">May</string>
+    <!-- June month of the year (short description), used on the month chooser dialog. -->
+    <string name="mozac_feature_prompts_jun">Jun</string>
+    <!-- July month of the year (short description), used on the month chooser dialog. -->
+    <string name="mozac_feature_prompts_jul">Jul</string>
+    <!-- August month of the year (short description), used on the month chooser dialog. -->
+    <string name="mozac_feature_prompts_aug">Ago</string>
+    <!-- September month of the year (short description), used on the month chooser dialog. -->
+    <string name="mozac_feature_prompts_sep">Sep</string>
+    <!-- October month of the year (short description), used on the month chooser dialog. -->
+    <string name="mozac_feature_prompts_oct">Oct</string>
+    <!-- November month of the year (short description), used on the month chooser dialog. -->
+    <string name="mozac_feature_prompts_nov">Nov</string>
+    <!-- December month of the year (short description), used on the month chooser dialog. -->
+    <string name="mozac_feature_prompts_dec">Dic</string>
+    <!-- Title of the time picker dialog. -->
+    <string name="mozac_feature_prompts_set_time">Tee hora</string>
+    <!-- Option in expanded select login prompt that links to login settings -->
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Ke\'i nuu kajie´e sesión</string>
+    <!-- Option in expanded select password prompt that links to password settings -->
+    <string name="mozac_feature_prompts_manage_logins_2">Tetiñu da contraseñas</string>
+    <!-- Content description for expanding the saved logins options in the select login prompt -->
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Sá´á ka\'nu da nuu kajie\'e sesión sugeridos</string>
+    <!-- Content description for expanding the saved passwords options in the select password prompt -->
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Sá\'á ka\'nu nu nchuva\'a contraseñas</string>
+    <!-- Content description for collapsing the saved logins options in the select login prompt -->
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Sá´á luli da nuu kajie\'e sesión sugeridos</string>
+    <!-- Content description for collapsing the saved passwords options in the select password prompt -->
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Sá\'á luli nu nchuva\'a contraseñas</string>
+    <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Nuu kajie´e sesión sugeridos</string>
+    <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
+    <string name="mozac_feature_prompts_saved_logins_2">Da contraseñas nchuva\'a</string>
+
+    <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_content_description">Sá\'á iin contraseña va\'a</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password">Sá\'á iin contraseña va\'a</string>
+
+    <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_message">Ni\'in iin contraseña nakui: %1$s</string>
+
+    <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
+    <string name="mozac_feature_prompt_repost_title">¿Nachu\'un tuku datos nu nuu ya\'a?</string>
+    <string name="mozac_feature_prompt_repost_message">De nachu\'unu tuku página ya\'a kuvi sa duplicar acciones a nsá\'ánu, kua chu\'un íchi xu\'un a xíín tee uvi ichi iin comentario.</string>
+    <!-- Pressing this will dismiss the dialog and reload the page sending again the previous data -->
+    <string name="mozac_feature_prompt_repost_positive_button_text">Nachu\'un tuku datos</string>
+    <!-- Pressing this will dismiss the dialog and not refresh the webpage -->
+    <string name="mozac_feature_prompt_repost_negative_button_text">Nkuvi-ka</string>
+
+    <!-- Credit Card Autofill -->
+    <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Kaji tarjeta crédito</string>
+    <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
+    <string name="mozac_feature_prompts_select_credit_card_2">Ni\'i tarjeta nchuva\'a</string>
+    <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Sá´á ka\'nu da tarjetas crédito sugeridas</string>
+    <!-- Content description for expanding the saved card options in the select card prompt. -->
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Sá\'á ka\'nu nu nchuva\'a daa tarjetas</string>
+    <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Chiyu\'u daa tarjetas crédito sugeridas</string>
+    <!-- Content description for collapsing the saved card options in the select prompt. -->
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Sá\'á luli nu nchuva\'a da tarjetas</string>
+    <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Ke\'i daa tarjetas crédito</string>
+    <!-- Option in the expanded select card prompt that links to cards settings. -->
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Ke\'i daa tarjetas</string>
+
+    <!-- Text for the title of a save credit card dialog. -->
+    <string name="mozac_feature_prompts_save_credit_card_prompt_title">¿Chuva\'a tarjeta de forma segura?</string>
+    <!-- Text for the title of an update credit card dialog. -->
+    <string name="mozac_feature_prompts_update_credit_card_prompt_title">¿Natee fecha nɨ\'ɨ tarjeta?</string>
+
+    <!-- Subtitle text displayed under the title of the save credit card dialog. -->
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">El número de tarjeta se encriptará. El código de seguridad no se guardará.</string>
+
+    <!-- Address Autofill -->
+    <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
+    <string name="mozac_feature_prompts_select_address_2">Kaji dirección</string>
+
+    <!-- Content description for expanding the select addresses options in the select address prompt. -->
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expandir direcciones sugeridas</string>
+    <!-- Content description for expanding the saved addresses options in the select address prompt. -->
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Sá\'á ka\'nu nu nchuva\'a daa nuu</string>
+    <!-- Content description for collapsing the select address options in the select address prompt. -->
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Chiyu\'u daa nuu sugeridas</string>
+    <!-- Content description for collapsing the saved address options in the select address prompt. -->
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Sá\'á luli nu nchuva\'a da nuu</string>
+    <!-- Text for the manage addresses button. -->
+    <string name="mozac_feature_prompts_manage_address">Ke\'i daa direcciones</string>
+
+    <!-- Federated Credential Management prompts -->
+    <!--Content description for the Account picture in the Select Account FedCM prompt -->
+    <string name="mozac_feature_prompts_account_picture">Imagen de la cuenta</string>
+    <!-- Title of the Identity Credential provider dialog chooser. -->
+    <string name="mozac_feature_prompts_identity_credentials_choose_provider">Kaji iin proveedor daa nuu kaji\'e sesión</string>
+    <!-- Title of an account picker dialog for identity credentials. The %1$s will be replaced with the name of the provider -->
+    <string name="mozac_feature_prompts_identity_credentials_choose_account_for_provider">Kivɨ jii iin cuenta %1$s</string>
+    <!-- Title of the Identity Credential privacy policy dialog title. The %1$s will be replaced with the name of the provider. -->
+    <string name="mozac_feature_prompts_identity_credentials_privacy_policy_title">Ni\'i %1$s kua proveedor daa nuu kajie\'e sesión</string>
+    <!-- Title of the Identity Credential privacy policy dialog description. The %1$s will be replaced with the name of the provider, %2$s will be replaced with the account, %3$s will be replaced with the privacy policy url and  %4$s will be replaced with the terms of service. -->
+    <string name="mozac_feature_prompts_identity_credentials_privacy_policy_description"><![CDATA[De kajie\'enu sesión nu %1$s jíí iin cuenta %2$s naja satiñu ya\'a vaji <a href="%3$s">Tutu xitu nejika kumio</a> y <a href="%4$s">Tutu xitu nejika kumio</a>]]></string>
+    <!-- Text for the positive button of the Identity Credential dialogs. -->
+    <string name="mozac_feature_prompts_identity_credentials_continue">Kɨ´ɨ</string>
+    <!-- Text for the cancel button of the Identity Credential dialogs. -->
+    <string name="mozac_feature_prompts_identity_credentials_cancel">Nkuvi-ka</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-nn-rNO/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-nn-rNO/strings.xml
index 15d975b4eba0a26889a8d69d2417cde4ae78a113..7dd600af54f3c4f6d1d85091e5064912cc79af8f 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-nn-rNO/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-nn-rNO/strings.xml
@@ -116,10 +116,26 @@
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Føreslå sterkt passord</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Føreslå sterkt passord</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Føreslå sterkt passord</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Bruk sterkt passord</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Bruk sterkt passord: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Bruke sterkt passord?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Beskytt kontoen din ved å bruke eit sterkt, tilfeldig generert passord. Få rask tilgang til passorda dine ved å lagre det i kontoen din.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Bruk passord</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Ikkje no</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Passord lagra</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Passord oppdatert</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Sende data på nytt til denne nettstaden?</string>
     <string name="mozac_feature_prompt_repost_message">Oppdatering av denne sida kan duplisere nylege handlingar, til dømes å sende ei betaling eller leggje igjen ein kommentar to gongar.</string>
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-pa-rIN/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-pa-rIN/strings.xml
index 8cc587826d490bc3c8811117b6fd4c7541c7f24d..eb993cf5b4bbcfea41fb9a1167cde778afa1921c 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-pa-rIN/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-pa-rIN/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">ਪਾਸਵਰਡ</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">ਨਾ ਸੰਭਾਲੋ</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">ਨਾ ਸੰਭਾਲੋ</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">ਹੁਣੇ ਨਹੀਂ</string>
+    <string name="mozac_feature_prompt_dont_save_2">ਹੁਣੇ ਨਹੀਂ</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">ਕਦੇ ਨਾ ਸੰਭਾਲੋ</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">ਸੰਭਾਲੋ</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">ਅੱਪਡੇਟ ਨਾ ਕਰੋ</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">ਅੱਪਡੇਟ ਨਾ ਕਰੋ</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">ਹੁਣੇ ਨਹੀਂ</string>
+    <string name="mozac_feature_prompt_dont_update_2">ਹੁਣੇ ਨਹੀਂ</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">ਅੱਪਡੇਟ ਕਰੋ</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">ਪਾਸਵਰਡ ਖੇਤਰ ਖਾਲੀ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">ਪਾਸਵਰਡ ਖੇਤਰ ਖਾਲੀ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">ਪਾਸਵਰਡ ਦਿਓ</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">ਪਾਸਵਰਡ ਦਿਓ</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">ਲਾਗਇਨ ਸੰਭਾਲਣ ਲਈ ਅਸਮਰੱਥ</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">ਲਾਗਇਨ ਸੰਭਾਲਣ ਲਈ ਅਸਮਰੱਥ</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">ਪਾਸਵਰਡ ਸੰਭਾਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">ਪਾਸਵਰਡ ਸੰਭਾਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">ਇਹ ਲਾਗਇਨ ਸੰਭਾਲਣਾ ਹੈ?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">ਇਹ ਲਾਗਇਨ ਸੰਭਾਲਣਾ ਹੈ?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">ਪਾਸਵਰਡ ਸੰਭਾਲਣਾ ਹੈ?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">ਪਾਸਵਰਡ ਸੰਭਾਲਣਾ ਹੈ?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">ਇਹ ਲਾਗਇਨ ਅੱਪਡੇਟ ਕਰਨਾ ਹੈ?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">ਇਹ ਲਾਗਇਨ ਅੱਪਡੇਟ ਕਰਨਾ ਹੈ?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">ਪਾਸਵਰਡ ਅੱਪਡੇਟ ਕਰਨਾ ਹੈ?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">ਪਾਸਵਰਡ ਅੱਪਡੇਟ ਕਰਨਾ ਹੈ?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">ਵਰਤੋਂਕਾਰ-ਨਾਂ ਨੂੰ ਸੰਭਾਲੇ ਪਾਸਵਰਡ ਵਿੱਚ ਜੋੜਨਾ ਹੈ?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">ਸਮਾਂ ਸੈੱਟ ਕਰੋ</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">ਲਾਗਇਨਾਂ ਦਾ ਇੰਤਜ਼ਾਮ</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">ਲਾਗਇਨਾਂ ਦਾ ਇੰਤਜ਼ਾਮ</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">ਪਾਸਵਰਡਾਂ ਦਾ ਇੰਤਜ਼ਾਮ</string>
+    <string name="mozac_feature_prompts_manage_logins_2">ਪਾਸਵਰਡਾਂ ਦਾ ਇੰਤਜ਼ਾਮ</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">ਸੁਝਾਏ ਲਾਗਇਨ ਫੈਲਾਓ</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">ਸੁਝਾਏ ਲਾਗਇਨ ਫੈਲਾਓ</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">ਸੰਭਾਲੇ ਹੋਏ ਪਾਸਵਰਡਾਂ ਨੂੰ ਫੈਲਾਓ</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">ਸੰਭਾਲੇ ਹੋਏ ਪਾਸਵਰਡਾਂ ਨੂੰ ਫੈਲਾਓ</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">ਸੁਝਾਏ ਲਾਗਇਨ ਸਮੇਟੋ</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">ਸੁਝਾਏ ਲਾਗਇਨ ਸਮੇਟੋ</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">ਸੰਭਾਲੇ ਹੋਏ ਪਾਸਵਰਡਾਂ ਨੂੰ ਸਮੇਟੋ</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">ਸੰਭਾਲੇ ਹੋਏ ਪਾਸਵਰਡਾਂ ਨੂੰ ਸਮੇਟੋ</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">ਸੁਝਾਏ ਗਏ ਲਾਗਇਨ</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">ਸੁਝਾਏ ਗਏ ਲਾਗਇਨ</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">ਸੰਭਾਲੇ ਹੋਏ ਪਾਸਵਰਡ</string>
+    <string name="mozac_feature_prompts_saved_logins_2">ਸੰਭਾਲੇ ਹੋਏ ਪਾਸਵਰਡ</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">ਮਜ਼ਬੂਤ ਪਾਸਵਰਡ ਲਈ ਸੁਝਾਅ</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">ਮਜ਼ਬੂਤ ਪਾਸਵਰਡ ਲਈ ਸੁਝਾਅ</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">ਮਜ਼ਬੂਤ ਪਾਸਵਰਡ ਲਈ ਸੁਝਾਅ</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">ਮਜ਼ਬੂਤ ਪਾਸਵਰਡ ਵਰਤੋਂ</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">ਮਜ਼ਬੂਤ ਪਾਸਵਰਡ ਨੂੰ ਵਰਤੋਂ: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">ਮਜ਼ਬੂਤ ਪਾਸਵਰਡ ਵਰਤਣਾ ਹੈ?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">ਆਪਣੇ ਖਾਤਿਆਂ ਨੂੰ ਮਜ਼ਬੂਤ, ਰਲਵੇਂ ਮਿਲਵੇਂ ਤਿਆਰ ਕੀਤੇ ਪਾਸਵਰਡ ਨੂੰ ਵਰਤ ਕੇ ਸੁਰੱਖਿਅਤ ਕਰੋ। ਆਪਣੇ ਪਾਸਵਰਡਾਂ ਨੂੰ ਆਪਣੇ ਖਾਤੇ ਵਿੱਚ ਸੰਭਾਲ ਕੇ ਫ਼ੌਰਨ ਲਵੋ।</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">ਪਾਸਵਰਡ ਨੂੰ ਵਰਤੋਂ</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">ਹੁਣੇ ਨਹੀਂ</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">ਪਾਸਵਰਡ ਸੰਭਾਲਿਆ</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">ਪਾਸਵਰਡ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">ਇਸ ਸਾਈਟ ਲਈ ਡਾਟਾ ਮੁੜ-ਭੇਜਣਾ ਹੈ?</string>
     <string name="mozac_feature_prompt_repost_message">ਇਸ ਸਫ਼ੇ ਨੂੰ ਮੁੜ-ਤਾਜ਼ਾ ਕਰਨ ਨਾਲ ਤਾਜ਼ਾ ਕਾਰਵਾਈਆਂ ਨੂੰ ਦੁਹਰਾਇਆ ਜਾਵੇਗਾ 
@@ -131,42 +147,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">ਕਰੈਡਿਟ ਕਾਰਡ ਚੁਣੋ</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">ਕਰੈਡਿਟ ਕਾਰਡ ਚੁਣੋ</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">ਸੰਭਾਲੇ ਕਾਰਡ ਨੂੰ ਵਰਤੋਂ</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">ਸੰਭਾਲੇ ਕਾਰਡ ਨੂੰ ਵਰਤੋਂ</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">ਸੁਝਾਏ ਗਏ ਕਰੈਡਿਟ ਕਾਰਡ ਨੂੰ ਫੈਲਾਓ</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">ਸੁਝਾਏ ਗਏ ਕਰੈਡਿਟ ਕਾਰਡ ਨੂੰ ਫੈਲਾਓ</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">ਸੰਭਾਲੇ ਹੋਏ ਕਾਰਡਾਂ ਨੂੰ ਫੈਲਾਓ</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">ਸੰਭਾਲੇ ਹੋਏ ਕਾਰਡਾਂ ਨੂੰ ਫੈਲਾਓ</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">ਸੁਝਾਏ ਗਏ ਕਰੈਡਿਟ ਕਾਰਡ ਨੂੰ ਸਮੇਟੋ</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">ਸੁਝਾਏ ਗਏ ਕਰੈਡਿਟ ਕਾਰਡ ਨੂੰ ਸਮੇਟੋ</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">ਸੰਭਾਲੇ ਹੋਏ ਕਾਰਡਾਂ ਨੂੰ ਸਮੇਟੋ</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">ਸੰਭਾਲੇ ਹੋਏ ਕਾਰਡਾਂ ਨੂੰ ਸਮੇਟੋ</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">ਕਰੈਡਿਟ ਕਾਰਡਾਂ ਦਾ ਇੰਤਜ਼ਾਮ ਕਰੋ</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">ਕਰੈਡਿਟ ਕਾਰਡਾਂ ਦਾ ਇੰਤਜ਼ਾਮ ਕਰੋ</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">ਕਾਰਡਾਂ ਦਾ ਇੰਤਜ਼ਾਮ ਕਰੋ</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">ਕਾਰਡਾਂ ਦਾ ਇੰਤਜ਼ਾਮ ਕਰੋ</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">ਇਹ ਕਾਰਡ ਨੂੰ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਸੰਭਾਲਣਾ ਹੈ?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">ਕਾਰਡ ਦੀ ਮਿਆਦ ਪੁੱਗਣ ਦੀ ਤਾਰੀਖ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨਾ ਹੈ?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">ਕਾਰਡ ਨੰਬਰ ਨੂੰ ਇੰਕ੍ਰਿਪਟ ਕੀਤਾ ਜਾਵੇਗਾ। ਸੁਰੱਖਿਆ ਕੋਡ ਸੰਭਾਲਿਆ ਨਹੀਂ ਜਾਵੇਗਾ।</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">ਕਾਰਡ ਨੰਬਰ ਨੂੰ ਇੰਕ੍ਰਿਪਟ ਕੀਤਾ ਜਾਵੇਗਾ। ਸੁਰੱਖਿਆ ਕੋਡ ਸੰਭਾਲਿਆ ਨਹੀਂ ਜਾਵੇਗਾ।</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s ਤੁਹਾਡੇ ਕਾਰਡ ਨੂੰ ਇੰਕ੍ਰਿਪਟ ਕਰਦਾ ਹੈ। ਤੁਹਾਡੇ ਸੁਰੱਖਿਆ ਕੋਡ ਨੂੰ ਸੰਭਾਲਿਆ ਨਹੀਂ ਜਾਵੇਗਾ।</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s ਤੁਹਾਡੇ ਕਾਰਡ ਨੂੰ ਇੰਕ੍ਰਿਪਟ ਕਰਦਾ ਹੈ। ਤੁਹਾਡੇ ਸੁਰੱਖਿਆ ਕੋਡ ਨੂੰ ਸੰਭਾਲਿਆ ਨਹੀਂ ਜਾਵੇਗਾ।</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">ਸਿਰਨਾਵਾਂ ਚੁਣੋ</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">ਸੁਝਾਏ ਸਿਰਨਾਵਿਆਂ ਨੂੰ ਫੈਲਾਓ</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">ਸੁਝਾਏ ਸਿਰਨਾਵਿਆਂ ਨੂੰ ਫੈਲਾਓ</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">ਸੰਭਾਲੇ ਹੋਏ ਸਿਰਨਾਵਿਆਂ ਨੂੰ ਫੈਲਾਓ</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">ਸੰਭਾਲੇ ਹੋਏ ਸਿਰਨਾਵਿਆਂ ਨੂੰ ਫੈਲਾਓ</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">ਸੁਝਾਏ ਸਿਰਨਾਵਿਆਂ ਨੂੰ ਸਮੇਟੋ</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">ਸੁਝਾਏ ਸਿਰਨਾਵਿਆਂ ਨੂੰ ਸਮੇਟੋ</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">ਸੰਭਾਲੇ ਹੋਏ ਸਿਰਨਾਵਿਆਂ ਨੂੰ ਸਮੇਟੋ</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">ਸੰਭਾਲੇ ਹੋਏ ਸਿਰਨਾਵਿਆਂ ਨੂੰ ਸਮੇਟੋ</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">ਸਿਰਨਾਵਿਆਂ ਦਾ ਇੰਤਜ਼ਾਮ ਕਰੋ</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-pt-rBR/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-pt-rBR/strings.xml
index de8cab92f637790b4e5ba82033deb1d6fa7e06c4..6f13ebaf5ee1dbaa139beb81b0cc9ff1f498ac8b 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-pt-rBR/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-pt-rBR/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Senha</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Não salvar</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Não salvar</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Agora não</string>
+    <string name="mozac_feature_prompt_dont_save_2">Agora não</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Nunca salvar</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Salvar</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Não atualizar</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Não atualizar</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Agora não</string>
+    <string name="mozac_feature_prompt_dont_update_2">Agora não</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Atualizar</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">O campo da senha não deve ficar vazio</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">O campo da senha não deve ficar vazio</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Digite uma senha</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Digite uma senha</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Não foi possível salvar a conta</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Não foi possível salvar a conta</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Não foi possível salvar a senha</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Não foi possível salvar a senha</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Salvar esta conta?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Salvar esta conta?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Salvar senha?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Salvar senha?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Atualizar esta conta?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Atualizar esta conta?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Atualizar senha?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Atualizar senha?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Adicionar nome de usuário à senha salva?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,47 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Ajustar hora</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Gerenciar contas</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Gerenciar contas</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Gerenciar senhas</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Gerenciar senhas</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Expandir sugestão de contas</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expandir sugestão de contas</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Expandir senhas salvas</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Expandir senhas salvas</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Recolher sugestão de contas</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Recolher sugestão de contas</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Recolher senhas salvas</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Recolher senhas salvas</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Sugestão de contas</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Sugestão de contas</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Senhas salvas</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Senhas salvas</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Sugerir senha forte</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Sugerir senha forte</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Sugerir senha forte</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Use uma senha forte</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Usar senha forte: %1$s</string>
 
+
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Usar senha forte?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Proteja suas contas usando uma senha forte gerada aleatoriamente. Tenha acesso rápido às suas senhas, salvando na sua conta.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Usar senha</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Agora não</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Senha salva</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Senha atualizada</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Reenviar dados para este site?</string>
     <string name="mozac_feature_prompt_repost_message">Atualizar esta página pode duplicar ações recentes, como enviar um pagamento ou publicar um comentário duas vezes.</string>
@@ -130,42 +147,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Selecionar cartão de crédito</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Selecionar cartão de crédito</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Usar cartão salvo</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Usar cartão salvo</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Expandir sugestões de cartão de crédito</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expandir sugestões de cartão de crédito</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Expandir cartões salvos</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Expandir cartões salvos</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Recolher sugestões de cartão de crédito</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Recolher sugestões de cartão de crédito</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Recolher cartões salvos</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Recolher cartões salvos</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Gerenciar cartões de crédito</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Gerenciar cartões de crédito</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Gerenciar cartões</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Gerenciar cartões</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Salvar este cartão com segurança?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Atualizar data de validade do cartão?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">O número do cartão será criptografado. O código de segurança não será salvo.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">O número do cartão será criptografado. O código de segurança não será salvo.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">O %s criptografa o número do seu cartão. O código de segurança não é salvo.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">O %s criptografa o número do seu cartão. O código de segurança não é salvo.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Selecionar endereço</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Expandir endereços sugeridos</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expandir endereços sugeridos</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Expandir endereços salvos</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Expandir endereços salvos</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Recolher endereços sugeridos</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Recolher endereços sugeridos</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Recolher endereços salvos</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Recolher endereços salvos</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Gerenciar endereços</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-pt-rPT/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-pt-rPT/strings.xml
index 42564fdfe1f2ba8e207dd48ffc32c0cd6397880d..877d3355b5a00930cae479cb38131d6ad446a56d 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-pt-rPT/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-pt-rPT/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Palavra-passe</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Não guardar</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Não guardar</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Agora não</string>
+    <string name="mozac_feature_prompt_dont_save_2">Agora não</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Nunca guardar</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Guardar</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Não atualizar</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Não atualizar</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Agora não</string>
+    <string name="mozac_feature_prompt_dont_update_2">Agora não</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Atualizar</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">O campo de palavra-passe não deve estar vazio</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">O campo de palavra-passe não deve estar vazio</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Introduza uma palavra-passe</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Introduza uma palavra-passe</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Não foi possível guardar a credencial</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Não foi possível guardar a credencial</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Não foi possível guardar a palavra-passe</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Não foi possível guardar a palavra-passe</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Guardar esta credencial?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Guardar esta credencial?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Guardar palavra-passe?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Guardar palavra-passe?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Atualizar esta credencial?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Atualizar esta credencial?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Atualizar palavra-passe?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Atualizar palavra-passe?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Adicionar nome de utilizador à palavra-passe guardada?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,31 +96,47 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Definir hora</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Gerir credenciais</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Gerir credenciais</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Gerir palavras-passes</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Gerir palavras-passes</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Expandir credenciais sugeridas</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expandir credenciais sugeridas</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Expandir palavras-passe guardadas</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Expandir palavras-passe guardadas</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Colapsar credenciais sugeridas</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Colapsar credenciais sugeridas</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Colapsar palavras-passe guardadas</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Colapsar palavras-passe guardadas</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Credenciais sugeridas</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Credenciais sugeridas</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Palavras-passe guardadas</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Palavras-passe guardadas</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Sugerir palavra-passe forte</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Sugerir palavra-passe forte</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Sugerir palavra-passe forte</string>
 
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Utilizar palavra-passe forte</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Utilizar palavra-passe forte: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Utilizar uma palavra-passe forte?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Proteja as suas contas utilizando uma palavra-passe forte e gerada aleatoriamente. Obtenha acesso rápido às suas palavras-passe, guardando-as na sua conta.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Utilizar palavra-passe</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Agora não</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Palavra-passe guardada</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Palavra-passe atualizada</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Reenviar dados para este site?</string>
     <string name="mozac_feature_prompt_repost_message">Atualizar esta página pode duplicar ações recentes, tais como enviar um pagamento ou publicar novamente um comentário. </string>
@@ -131,42 +147,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Selecionar cartão de crédito</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Selecionar cartão de crédito</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Utilizar cartão guardado</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Utilizar cartão guardado</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Expandir os cartões de créditos sugeridos</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expandir os cartões de créditos sugeridos</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Expandir cartões guardados</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Expandir cartões guardados</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Colapsar os cartões de crédito sugeridos</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Colapsar os cartões de crédito sugeridos</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Colapsar cartões guardados</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Colapsar cartões guardados</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Gerir cartões de crédito</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Gerir cartões de crédito</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Gerir cartões</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Gerir cartões</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Guardar este cartão com segurança?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Atualizar a data de validade do cartão?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">O número do cartão será encriptado. O código de segurança não será guardado.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">O número do cartão será encriptado. O código de segurança não será guardado.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">O %s encripta o número do seu cartão. O seu código de segurança não será guardado.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">O %s encripta o número do seu cartão. O seu código de segurança não será guardado.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Selecionar endereço</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Expandir endereços sugeridos</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expandir endereços sugeridos</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Expandir endereços guardados</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Expandir endereços guardados</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Colapsar endereços sugeridas</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Colapsar endereços sugeridas</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Colapsar endereços guardados</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Colapsar endereços guardados</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Gerir endereços</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-rm/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-rm/strings.xml
index 2b7976fc1042655b2e1ee4e0e20005c6a8318782..9c7d8ee852d359e805483e76380d5c93b896d0e4 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-rm/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-rm/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Pled-clav</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Betg memorisar</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Betg memorisar</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Betg ussa</string>
+    <string name="mozac_feature_prompt_dont_save_2">Betg ussa</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Mai memorisar</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Memorisar</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Betg actualisar</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Betg actualisar</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Betg ussa</string>
+    <string name="mozac_feature_prompt_dont_update_2">Betg ussa</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Actualisar</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Il champ dal pled-clav na dastga betg esser vid</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Il champ dal pled-clav na dastga betg esser vid</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Endatar in pled-clav</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Endatar in pled-clav</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Impussibel da memorisar las datas d\'annunzia</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Impussibel da memorisar las datas d\'annunzia</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Impussibel da memorisar il pled-clav</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Impussibel da memorisar il pled-clav</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Memorisar questa infurmaziun d\'annunzia?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Memorisar questa infurmaziun d\'annunzia?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Memorisar il pled-clav?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Memorisar il pled-clav?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Actualisar questa infurmaziun d\'annunzia?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Actualisar questa infurmaziun d\'annunzia?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Actualisar il pled-clav?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Actualisar il pled-clav?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Agiuntar in num d\'utilisader al pled-clav memorisà?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Drizzar l\'ura</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Administrar las datas d\'annunzia</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Administrar las datas d\'annunzia</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Administrar ils pleds-clav</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Administrar ils pleds-clav</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Expander las datas d\'annunzia proponidas</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expander las datas d\'annunzia proponidas</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Extender ils pleds-clav memorisads</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Extender ils pleds-clav memorisads</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Reducir las datas d\'annunzia proponidas</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Reducir las datas d\'annunzia proponidas</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Reducir ils pleds-clav memorisads</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Reducir ils pleds-clav memorisads</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Datas d\'annunzia proponidas</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Datas d\'annunzia proponidas</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Pleds-clav memorisads</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Pleds-clav memorisads</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Proponer in ferm pled-clav</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Proponer in ferm pled-clav</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Proponer in ferm pled-clav</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Utilisescha in ferm pled-clav</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Utilisar in ferm pled-clav: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Utilisar in ferm pled-clav?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Protegia tes contos cun utilisar in ferm pled-clav generà a moda casuala. Acceda svelt a tes pleds-clav cun als memorisar en tes conto.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Utilisar quest pled-clav</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Betg ussa</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Memorisà il pled-clav</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Actualisà il pled-clav</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Anc ina giada trametter las datas a questa website?</string>
     <string name="mozac_feature_prompt_repost_message">Cun actualisar questa pagina vegnan eventualmain duplitgadas acziuns recentas (sco far in pajament u publitgar duas giadas in commentari).</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Tscherner ina carta da credit</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Tscherner ina carta da credit</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Utilisar ina carta memorisada</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Utilisar ina carta memorisada</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Expander las cartas da credit proponidas</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expander las cartas da credit proponidas</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Extender las cartas memorisadas</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Extender las cartas memorisadas</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Reducir las cartas da credit proponidas</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Reducir las cartas da credit proponidas</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Reducir las cartas memorisadas</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Reducir las cartas memorisadas</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Administrar las cartas da credit</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Administrar las cartas da credit</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Administrar las cartas</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Administrar las cartas</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Memorisar questa carta a moda segira?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Actualisar la data da scadenza da la carta?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Il numer da la carta vegn criptà. Il code da segirezza na vegn betg memorisà.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Il numer da la carta vegn criptà. Il code da segirezza na vegn betg memorisà.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s criptescha il numer da tia carta. Tes code da segirezza na vegn betg memorisà.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s criptescha il numer da tia carta. Tes code da segirezza na vegn betg memorisà.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Tscherner l\'adressa</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Expander las adressas proponidas</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expander las adressas proponidas</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Extender las adressas proponidas</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Extender las adressas proponidas</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Cumprimer las adressas proponidas</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Cumprimer las adressas proponidas</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Reducir las adressas memorisadas</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Reducir las adressas memorisadas</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Administrar las adressas</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-ru/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-ru/strings.xml
index ca198e6cd5d043a2e9b542946148fb11c0f2d51c..76638b759d8f7c90b50e4bcb34dd2c6a472bcab3 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-ru/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-ru/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Пароль</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Не сохранять</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Не сохранять</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Не сейчас</string>
+    <string name="mozac_feature_prompt_dont_save_2">Не сейчас</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Никогда не сохранять</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Сохранить</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Не обновлять</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Не обновлять</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Не сейчас</string>
+    <string name="mozac_feature_prompt_dont_update_2">Не сейчас</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Обновить</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Поле пароля не может быть пустым</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Поле пароля не может быть пустым</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Введите пароль</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Введите пароль</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Не удалось сохранить логин</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Не удалось сохранить логин</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Не удалось сохранить пароль</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Не удалось сохранить пароль</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Сохранить этот логин?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Сохранить этот логин?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Сохранить пароль?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Сохранить пароль?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Обновить этот логин?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Обновить этот логин?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Обновить пароль?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Обновить пароль?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Добавить имя пользователя к сохранённому паролю?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,31 +96,47 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Установка времени</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Управление паролями</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Управление паролями</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Управление паролями</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Управление паролями</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Развернуть предлагаемые пароли</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Развернуть предлагаемые пароли</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Развернуть сохранённые пароли</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Развернуть сохранённые пароли</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Свернуть предлагаемые пароли</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Свернуть предлагаемые пароли</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Свернуть сохранённые пароли</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Свернуть сохранённые пароли</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Предлагаемые пароли</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Предлагаемые пароли</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Сохранённые пароли</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Сохранённые пароли</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Предложить надежный пароль</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Предложить надежный пароль</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Предложить надежный пароль</string>
 
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Используйте надежный пароль</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Используйте надежный пароль: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Использовать надёжный пароль?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Защитите свои аккаунты с помощью надёжных, сгенерированных случайным образом паролей. Получите быстрый доступ к своим паролям, сохранив их в своем аккаунте.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Использовать пароль</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Не сейчас</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Пароль сохранён</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Пароль изменён</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Отправить данные на этот сайт снова?</string>
     <string name="mozac_feature_prompt_repost_message">Обновление этой страницы может повторить последние выполненные действия, например, снова отправив платёж или комментарий.</string>
@@ -131,42 +147,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Выберите банковскую карту</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Выберите банковскую карту</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Использовать сохранённую карту</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Использовать сохранённую карту</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Развернуть предлагаемые банковские карты</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Развернуть предлагаемые банковские карты</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Развернуть сохранённые карты</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Развернуть сохранённые карты</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Свернуть предлагаемые банковские карты</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Свернуть предлагаемые банковские карты</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Свернуть сохранённые карты</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Свернуть сохранённые карты</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Управление банковскими картами</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Управление банковскими картами</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Управление картами</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Управление картами</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Сохранить надёжно эту карту?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Обновить срок действия карты?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Номер карты будет зашифрован. Код безопасности не будет сохранён.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Номер карты будет зашифрован. Код безопасности не будет сохранён.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s шифрует номер вашей карты. Ваш код безопасности не будет сохранён.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s шифрует номер вашей карты. Ваш код безопасности не будет сохранён.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Выберите адрес</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Развернуть предлагаемые адреса</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Развернуть предлагаемые адреса</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Развернуть сохранённые адреса</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Развернуть сохранённые адреса</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Свернуть предлагаемые адреса</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Свернуть предлагаемые адреса</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Свернуть сохранённые адреса</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Свернуть сохранённые адреса</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Управление адресами</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-sat/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-sat/strings.xml
index b915c490cee2723fbdcd99f6841408cfdd24582b..088e2ff53b58b7affafa4581ac15913891da094a 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-sat/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-sat/strings.xml
@@ -116,10 +116,16 @@
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">ᱟᱸᱴ ᱫᱟᱫᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱵᱟᱛᱟᱣ ᱢᱮ …</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">ᱟᱸᱴ ᱫᱟᱫᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱵᱟᱛᱟᱣ ᱢᱮ …</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">ᱟᱸᱴ ᱫᱟᱫᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱵᱟᱛᱟᱣ ᱢᱮ …</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">ᱟᱸᱴᱷ ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱵᱮᱵᱷᱟᱨ ᱢᱮ ᱺ %1$s</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">ᱟᱹᱴ ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱵᱮᱵᱷᱟᱨ ᱢᱮ ᱺ %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">ᱟᱸᱴᱷ ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱵᱮᱵᱷᱟᱨ ᱟ ᱥᱮ ?</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">ᱱᱚᱶᱟ ᱥᱟᱭᱤᱴ ᱞᱟᱹᱜᱤᱫ ᱰᱟᱴᱟ ᱫᱩᱦᱲᱟᱹ ᱵᱷᱮᱡᱟᱭ ᱟᱢ‌ ᱥᱮ?</string>
     <string name="mozac_feature_prompt_repost_message">ᱥᱟᱦᱴᱟ ᱨᱤᱯᱷᱨᱮᱥ ᱞᱮᱠᱷᱟᱱ ᱱᱤᱛᱚᱜᱟᱜ ᱠᱟᱹᱢᱤ ᱠᱚ ᱰᱩᱯᱞᱤᱠᱮᱴ ᱫᱟᱲᱮᱭᱟᱜᱼᱟᱭ, ᱡᱮᱢᱚᱱ ᱯᱩᱭᱥᱟᱹ ᱵᱷᱮᱡᱟ ᱠᱚ ᱟᱨ ᱵᱟᱝ ᱠᱚᱢᱮᱴ ᱠᱚ ᱵᱟᱨ ᱡᱮᱠᱷᱟ ᱵᱷᱮᱡᱟ ᱠᱚ ᱾</string>
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-sk/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-sk/strings.xml
index b0d1818daa64ed999722c695b4173f2382012f79..6c1ef9e0c5dc31d7932276c4c824c22e1c054780 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-sk/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-sk/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Heslo</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Neuložiť</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Neuložiť</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Teraz nie</string>
+    <string name="mozac_feature_prompt_dont_save_2">Teraz nie</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Nikdy neukladať</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Uložiť</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Neaktualizovať</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Neaktualizovať</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Teraz nie</string>
+    <string name="mozac_feature_prompt_dont_update_2">Teraz nie</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Aktualizovať</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Pole s heslom nesmie byť prázdne</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Pole s heslom nesmie byť prázdne</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Zadajte heslo</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Zadajte heslo</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Prihlasovacie údaje sa nepodarilo uložiť</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Prihlasovacie údaje sa nepodarilo uložiť</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Heslo nie je možné uložiť</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Heslo nie je možné uložiť</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Chcete uložiť tieto prihlasovacie údaje?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Chcete uložiť tieto prihlasovacie údaje?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Uložiť heslo?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Uložiť heslo?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Chcete aktualizovať tieto prihlasovacie údaje?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Chcete aktualizovať tieto prihlasovacie údaje?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Aktualizovať heslo?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Aktualizovať heslo?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Chcete k uloženému heslu pridať používateľské meno?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,48 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Nastaviť čas</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Spravovať prihlasovacie údaje</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Spravovať prihlasovacie údaje</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Spravovať heslá</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Spravovať heslá</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Rozbaliť navrhované prihlasovacie údaje</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Rozbaliť navrhované prihlasovacie údaje</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Rozbaliť uložené heslá</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Rozbaliť uložené heslá</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Zbaliť navrhované prihlasovacie údaje</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Zbaliť navrhované prihlasovacie údaje</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Zbaliť uložené heslá</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Zbaliť uložené heslá</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Navrhované prihlasovacie údaje</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Navrhované prihlasovacie údaje</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Uložené heslá</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Uložené heslá</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Navrhnúť silné heslo</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Navrhnúť silné heslo</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Navrhnúť silné heslo</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Použitie silného hesla</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Použiť silné heslo: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Použiť silné heslo?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Chráňte svoje účty pomocou silného, náhodne generovaného hesla. Získajte rýchly prístup k svojim heslám tým, že si ich uložíte do svojho účtu.</string>
+
+
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Použiť heslo</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Teraz nie</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Heslo bolo uložené</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Heslo bolo aktualizované</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Znova odoslať údaje tejto stránke?</string>
     <string name="mozac_feature_prompt_repost_message">Obnovením tejto stránky môžete zopakovať posledné akcie, ako je odosielanie platby alebo opätovné uverejnenie komentára.</string>
@@ -130,42 +148,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Vyberte platobnú kartu</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Vyberte platobnú kartu</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Použiť uloženú kartu</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Použiť uloženú kartu</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Rozbaliť navrhované platobné karty</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Rozbaliť navrhované platobné karty</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Rozbaliť uložené karty</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Rozbaliť uložené karty</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Zbaliť navrhované platobné karty</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Zbaliť navrhované platobné karty</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Zbaliť uložené karty</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Zbaliť uložené karty</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Spravovať platobné karty</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Spravovať platobné karty</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Spravovať karty</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Spravovať karty</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Bezpečne uložiť túto kartu?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Aktualizovať dátum vypršania platnosti karty?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Číslo karty bude zašifrované. Bezpečnostný kód sa neuloží.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Číslo karty bude zašifrované. Bezpečnostný kód sa neuloží.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s zašifruje číslo vašej karty. Váš bezpečnostný kód sa neuloží.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s zašifruje číslo vašej karty. Váš bezpečnostný kód sa neuloží.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Vyberte adresu</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Rozbaliť navrhované adresy</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Rozbaliť navrhované adresy</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Rozbaliť uložené adresy</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Rozbaliť uložené adresy</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Zbaliť navrhované adresy</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Zbaliť navrhované adresy</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Zbaliť uložené adresy</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Zbaliť uložené adresy</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Spravovať adresy</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-sv-rSE/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-sv-rSE/strings.xml
index a4c4cb0a83059acabc19160ae10ad985e6976ea5..0ba7abcc58f9163ae71e374ce2fab4be7b17bb92 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-sv-rSE/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-sv-rSE/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Lösenord</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Spara inte</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Spara inte</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Inte nu</string>
+    <string name="mozac_feature_prompt_dont_save_2">Inte nu</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Spara aldrig</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Spara</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Uppdatera inte</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Uppdatera inte</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Inte nu</string>
+    <string name="mozac_feature_prompt_dont_update_2">Inte nu</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Uppdatera</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Lösenordsfältet får inte vara tomt</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Lösenordsfältet får inte vara tomt</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Ange ett lösenord</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Ange ett lösenord</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Kunde inte spara inloggningsuppgifter</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Kunde inte spara inloggningsuppgifter</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Det går inte att spara lösenordet</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Det går inte att spara lösenordet</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Spara den här inloggningen?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Spara den här inloggningen?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Spara lösenord?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Spara lösenord?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Vill du uppdatera den här inloggningen?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Vill du uppdatera den här inloggningen?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Uppdatera lösenord?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Uppdatera lösenord?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Lägg till användarnamn till det sparade lösenordet?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Ange tid</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Hantera inloggningar</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Hantera inloggningar</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Hantera lösenord</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Hantera lösenord</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Expandera föreslagna inloggningar</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expandera föreslagna inloggningar</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Expandera sparade lösenord</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Expandera sparade lösenord</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Komprimera föreslagna inloggningar</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Komprimera föreslagna inloggningar</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Komprimera sparade lösenord</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Komprimera sparade lösenord</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Föreslagna inloggningar</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Föreslagna inloggningar</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Sparade lösenord</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Sparade lösenord</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Föreslå ett starkt lösenord</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Föreslå ett starkt lösenord</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Föreslå ett starkt lösenord</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Använd ett starkt lösenord</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Använd starkt lösenord: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Använd ett starkt lösenord?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Skydda dina konton med ett starkt, slumpmässigt skapat lösenord. Få snabb åtkomst till dina lösenord genom att spara det på ditt konto.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Använd lösenord</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Inte nu</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Lösenord sparat</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Lösenord uppdaterat</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Skicka data igen till den här webbplatsen?</string>
     <string name="mozac_feature_prompt_repost_message">Uppdatering av den här sidan kan duplicera senaste åtgärder, till exempel att skicka en betalning eller lägga upp en kommentar två gånger.</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Välj kreditkort</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Välj kreditkort</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Använd sparat kort</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Använd sparat kort</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Expandera föreslagna kreditkort</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expandera föreslagna kreditkort</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Expandera sparade kort</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Expandera sparade kort</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Komprimera föreslagna kreditkort</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Komprimera föreslagna kreditkort</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Komprimera sparade kort</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Komprimera sparade kort</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Hantera kreditkort</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Hantera kreditkort</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Hantera kort</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Hantera kort</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Vill du spara det här kortet säkert?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Uppdatera kortets utgångsdatum?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Kortnummer kommer att krypteras. Säkerhetskoden kommer inte att sparas.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Kortnummer kommer att krypteras. Säkerhetskoden kommer inte att sparas.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s krypterar ditt kortnummer. Din säkerhetskod kommer inte att sparas.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s krypterar ditt kortnummer. Din säkerhetskod kommer inte att sparas.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Välj adress</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Expandera föreslagna adresser</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Expandera föreslagna adresser</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Expandera sparade adresser</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Expandera sparade adresser</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Komprimera föreslagna adresser</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Komprimera föreslagna adresser</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Komprimera sparade adresser</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Komprimera sparade adresser</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Hantera adresser</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-tr/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-tr/strings.xml
index 868387a03497679a26a9362cfc8ace98ace4483b..8aa4d195efc39c60b163e1e8a8127fa26e560817 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-tr/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-tr/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Parola</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Kaydetme</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Kaydetme</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Şimdi değil</string>
+    <string name="mozac_feature_prompt_dont_save_2">Şimdi değil</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Asla kaydetme</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Kaydet</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Güncelleme</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Güncelleme</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Şimdi değil</string>
+    <string name="mozac_feature_prompt_dont_update_2">Şimdi değil</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Güncelle</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Parola alanı boş olmamalıdır</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Parola alanı boş olmamalıdır</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Parola girin</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Parola girin</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Hesap kaydedilemedi</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Hesap kaydedilemedi</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Parola kaydedilemedi</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Parola kaydedilemedi</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Bu hesap kaydedilsin mi?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Bu hesap kaydedilsin mi?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Parola kaydedilsin mi?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Parola kaydedilsin mi?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Bu hesap güncellensin mi?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Bu hesap güncellensin mi?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Parola güncellensin mi?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Parola güncellensin mi?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Kayıtlı parolaya kullanıcı adı eklensin mi?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Zamanı ayarla</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Hesapları yönet</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Hesapları yönet</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Parolaları yönet</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Parolaları yönet</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Önerilen hesapları genişlet</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Önerilen hesapları genişlet</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Kayıtlı parolaları genişlet</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Kayıtlı parolaları genişlet</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Önerilen hesapları daralt</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Önerilen hesapları daralt</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Kayıtlı parolaları daralt</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Kayıtlı parolaları daralt</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Önerilen hesaplar</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Önerilen hesaplar</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Kayıtlı parolalar</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Kayıtlı parolalar</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Güçlü parola öner</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Güçlü parola öner</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Güçlü parola öner</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Güçlü bir parola kullan</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Güçlü parola kullan: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Güçlü bir parola kullanılsın mı?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Güçlü, rastgele oluşturulmuş bir parola kullanarak hesaplarınızı koruyun. Parolalarınızı hesabınıza kaydederek hızlıca erişin.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Parolayı kullan</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Şimdi değil</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Parola kaydedildi</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Parola güncellendi</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Veriler siteye yeniden gönderilsin mi?</string>
     <string name="mozac_feature_prompt_repost_message">Bu sayfayı tazelemek, son yaptığınız eylemleri (örn. ödeme yapma veya yorum gönderme) tekrarlayabilir.</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Kredi kartı seç</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Kredi kartı seç</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Kayıtlı kartı kullan</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Kayıtlı kartı kullan</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Önerilen kredi kartlarını genişlet</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Önerilen kredi kartlarını genişlet</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Kayıtlı kartları genişlet</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Kayıtlı kartları genişlet</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Önerilen kredi kartlarını daralt</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Önerilen kredi kartlarını daralt</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Kayıtlı kartları daralt</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Kayıtlı kartları daralt</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Kredi kartlarını yönet</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Kredi kartlarını yönet</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Kartları yönet</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Kartları yönet</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Bu kart güvenli bir şekilde kaydedilsin mi?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Kartın son kullanma tarihi güncellensin mi?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Kart numarası şifrelenecektir. Güvenlik kodu kaydedilmeyecektir.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Kart numarası şifrelenecektir. Güvenlik kodu kaydedilmeyecektir.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s kart numaranızı şifreler. Güvenlik kodunuz kaydedilmez.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s kart numaranızı şifreler. Güvenlik kodunuz kaydedilmez.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Adres seçin</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Önerilen adresleri genişlet</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Önerilen adresleri genişlet</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Kayıtlı adresleri genişlet</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Kayıtlı adresleri genişlet</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Önerilen adresleri daralt</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Önerilen adresleri daralt</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Kayıtlı adresleri daralt</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Kayıtlı adresleri daralt</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Adresleri yönet</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-ug/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-ug/strings.xml
index e044589822806174451bf065f55d9a21106e382b..8f9dd5e7c9331dce3a8312ecc315618d219fbbd8 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-ug/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-ug/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">پارول</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">ساقلىما</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">ساقلىما</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">ھازىر ئەمەس</string>
+    <string name="mozac_feature_prompt_dont_save_2">ھازىر ئەمەس</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">ھەرگىز ساقلىما</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">ساقلا</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">يېڭىلانمىسۇن</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">يېڭىلانمىسۇن</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">ھازىر ئەمەس</string>
+    <string name="mozac_feature_prompt_dont_update_2">ھازىر ئەمەس</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">يېڭىلاش</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">ئىم بۆلىكى بوش قالمايدۇ</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">ئىم بۆلىكى بوش قالمايدۇ</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">ئىم كىرگۈزۈلىدۇ</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">ئىم كىرگۈزۈلىدۇ</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">كىرىش ئۇچۇرىنى ساقلىيالمايدۇ</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">كىرىش ئۇچۇرىنى ساقلىيالمايدۇ</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">ئىم ساقلىيالمايدۇ</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">ئىم ساقلىيالمايدۇ</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">بۇ كىرىشنى ساقلامدۇ؟</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">بۇ كىرىشنى ساقلامدۇ؟</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">ئىم ساقلامدۇ؟</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">ئىم ساقلامدۇ؟</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">بۇ كىرىشنى يېڭىلامدۇ؟</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">بۇ كىرىشنى يېڭىلامدۇ؟</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">ئىم يېڭىلامدۇ؟</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">ئىم يېڭىلامدۇ؟</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">ساقلانغان ئىمغا ئىشلەتكۈچى ئاتىنى قوشامدۇ؟</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -98,30 +98,48 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">ۋاقىت تەڭشىكى</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">كىرىشنى باشقۇرۇش</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">كىرىشنى باشقۇرۇش</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">ئىم باشقۇرۇش</string>
+    <string name="mozac_feature_prompts_manage_logins_2">ئىم باشقۇرۇش</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">تەۋسىيە كىرىشنى كېڭەيتىدۇ</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">تەۋسىيە كىرىشنى كېڭەيتىدۇ</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">ساقلىغان ئىمنى ياي</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">ساقلىغان ئىمنى ياي</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">تەۋسىيە كىرىشنى يىغ</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">تەۋسىيە كىرىشنى يىغ</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">ساقلىغان ئىمنى يىغ</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">ساقلىغان ئىمنى يىغ</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">تەۋسىيە كىرىش</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">تەۋسىيە كىرىش</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">ساقلانغان ئىم</string>
+    <string name="mozac_feature_prompts_saved_logins_2">ساقلانغان ئىم</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">كۈچلۈك ئىم تەۋسىيە قىلىنىدۇ</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">كۈچلۈك ئىم تەۋسىيە قىلىنىدۇ</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">كۈچلۈك ئىم تەۋسىيە قىلىنىدۇ</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">كۈچلۈك ئىم ئىشلىتىش</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">كۈچلۈك ئىم ئىشلىتىش: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">كۈچلۈك ئىم ئىشلىتەمدۇ؟</string>
+
+
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">كۈچلۈك، ئىختىيارى ھاسىل قىلىنغان ئىم ئارقىلىق ھېساباتىڭىزنى قوغداڭ. ئىمنى ھېساباتىڭىزغا ساقلاپ تېز زىيارەت قىلىڭ.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">ئىم ئىشلىتىش</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">ھازىر ئەمەس</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">ئىم ساقلاندى</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">ئىم يېڭىلاندى</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">بۇ بېكەتكە سانلىق مەلۇماتنى قايتا يوللامدۇ؟</string>
     <string name="mozac_feature_prompt_repost_message">بۇ بەت يېڭىلانسا چىقىم قىلىش ياكى ئىنكاسنى ئىككى قېتىم يوللاشقا ئوخشاش يېقىنقى مەشغۇلاتلارنى كۆپەيتىدۇ.</string>
@@ -132,43 +150,43 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">ئىناۋەتلىك كارتا تاللىنىدۇ</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">ئىناۋەتلىك كارتا تاللىنىدۇ</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">ساقلانغان كارتىنى ئىشلەت</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">ساقلانغان كارتىنى ئىشلەت</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">تەۋسىيە قىلىنغان ئىناۋەتلىك كارتىنى كېڭەيتىدۇ</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">تەۋسىيە قىلىنغان ئىناۋەتلىك كارتىنى كېڭەيتىدۇ</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">ساقلانغان كارتىنى ياي</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">ساقلانغان كارتىنى ياي</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">تەۋسىيە قىلىنغان ئىناۋەتلىك كارتىنى يىغىدۇ</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">تەۋسىيە قىلىنغان ئىناۋەتلىك كارتىنى يىغىدۇ</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">ساقلانغان كارتىنى يىغ</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">ساقلانغان كارتىنى يىغ</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">ئىناۋەتلىك كارتا باشقۇرۇش</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">ئىناۋەتلىك كارتا باشقۇرۇش</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">كارتا باشقۇرۇش</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">كارتا باشقۇرۇش</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">بۇ كارتىنى بىخەتەر ساقلامدۇ؟</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">كارتىنىڭ مۇددىتى توشۇش قەرەلىنى يېڭىلامدۇ؟</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">كارتا نومۇرى شىفىرلىنىدۇ. بىخەتەرلىك كودى ساقلانمايدۇ.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">كارتا نومۇرى شىفىرلىنىدۇ. بىخەتەرلىك كودى ساقلانمايدۇ.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s كارتا نومۇرىڭىزنى شىفىرلايدۇ. بىخەتەرلىك كودىڭىز ساقلانمايدۇ.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s كارتا نومۇرىڭىزنى شىفىرلايدۇ. بىخەتەرلىك كودىڭىز ساقلانمايدۇ.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">ئادرېس تاللىنىدۇ</string>
 
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">تەۋسىيە ئادرېسنى كېڭەيتىدۇ</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">تەۋسىيە ئادرېسنى كېڭەيتىدۇ</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">ساقلانغان ئادرېسنى ياي</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">ساقلانغان ئادرېسنى ياي</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">تەۋسىيە ئادرېسنى يىغىدۇ</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">تەۋسىيە ئادرېسنى يىغىدۇ</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">ساقلانغان ئادرېسنى يىغ</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">ساقلانغان ئادرېسنى يىغ</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">ئادرېس باشقۇرۇش</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-vi/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-vi/strings.xml
index c3ade7b30b5788cfff1ab8b0ed245ec5ccb7aee6..b94b26c4ac78ba87f0f4cf48f280b9eb9800ba6d 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-vi/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-vi/strings.xml
@@ -17,9 +17,9 @@
     <!-- Text for password field in an authentication dialog. -->
     <string name="mozac_feature_prompt_password_hint">Mật khẩu</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">Không lưu</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">Không lưu</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">Không phải bây giờ</string>
+    <string name="mozac_feature_prompt_dont_save_2">Không phải bây giờ</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">Không bao giờ lưu</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -27,27 +27,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">Lưu</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">Đừng cập nhật</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">Đừng cập nhật</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">Không phải bây giờ</string>
+    <string name="mozac_feature_prompt_dont_update_2">Không phải bây giờ</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">Cập nhật</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">Trường mật khẩu không được để trống</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">Trường mật khẩu không được để trống</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">Nhập mật khẩu</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">Nhập mật khẩu</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">Không thể lưu thông tin đăng nhập</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">Không thể lưu thông tin đăng nhập</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">Không thể lưu mật khẩu</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">Không thể lưu mật khẩu</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">Lưu thông tin đăng nhập này?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">Lưu thông tin đăng nhập này?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">Lưu mật khẩu?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">Lưu mật khẩu?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">Cập nhật thông tin đăng nhập này?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">Cập nhật thông tin đăng nhập này?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">Cập nhật lại mật khẩu?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">Cập nhật lại mật khẩu?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">Thêm tên người dùng vào mật khẩu đã lưu?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -96,30 +96,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">Cài đặt thời gian</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">Quản lý đăng nhập</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">Quản lý đăng nhập</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">Quản lý mật khẩu</string>
+    <string name="mozac_feature_prompts_manage_logins_2">Quản lý mật khẩu</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">Mở rộng thông tin đăng nhập được đề xuất</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Mở rộng thông tin đăng nhập được đề xuất</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">Mở rộng mật khẩu đã lưu</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">Mở rộng mật khẩu đã lưu</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">Thu gọn thông tin đăng nhập được đề xuất</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Thu gọn thông tin đăng nhập được đề xuất</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">Thu gọn mật khẩu đã lưu</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">Thu gọn mật khẩu đã lưu</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">Thông tin đăng nhập được đề xuất</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">Thông tin đăng nhập được đề xuất</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">Mật khẩu đã lưu</string>
+    <string name="mozac_feature_prompts_saved_logins_2">Mật khẩu đã lưu</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">Đề xuất mật khẩu mạnh</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">Đề xuất mật khẩu mạnh</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">Đề xuất mật khẩu mạnh</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">Sử dụng mật khẩu mạnh</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">Sử dụng mật khẩu mạnh: %1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">Sử dụng mật khẩu mạnh?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">Bảo vệ tài khoản của bạn bằng cách sử dụng mật khẩu mạnh, được tạo ngẫu nhiên. Truy cập nhanh vào mật khẩu của bạn bằng cách lưu nó vào tài khoản của bạn.</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">Sử dụng mật khẩu</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">Không phải bây giờ</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">Đã lưu mật khẩu</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">Đã cập nhật mật khẩu</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">Gửi lại dữ liệu cho trang web này?</string>
     <string name="mozac_feature_prompt_repost_message">Việc làm mới trang này có thể trùng lặp với các hành động gần đây, chẳng hạn như gửi thanh toán hoặc đăng nhận xét hai lần.</string>
@@ -130,42 +146,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">Chọn thẻ tín dụng</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">Chọn thẻ tín dụng</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">Sử dụng thẻ đã lưu</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">Sử dụng thẻ đã lưu</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">Mở rộng thẻ tín dụng được đề xuất</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Mở rộng thẻ tín dụng được đề xuất</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">Mở rộng thẻ đã lưu</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">Mở rộng thẻ đã lưu</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">Thu gọn thẻ tín dụng được đề xuất</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Thu gọn thẻ tín dụng được đề xuất</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">Thu gọn thẻ đã lưu</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">Thu gọn thẻ đã lưu</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">Quản lý thẻ tín dụng</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">Quản lý thẻ tín dụng</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">Quản lý thẻ tín dụng</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">Quản lý thẻ tín dụng</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">Lưu thẻ này một cách an toàn?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">Cập nhật ngày hết hạn thẻ?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">Số thẻ sẽ được mã hóa. Mã bảo mật sẽ không được lưu.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">Số thẻ sẽ được mã hóa. Mã bảo mật sẽ không được lưu.</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s mã hóa số thẻ của bạn. Mã bảo mật của bạn sẽ không được lưu.</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s mã hóa số thẻ của bạn. Mã bảo mật của bạn sẽ không được lưu.</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">Chọn địa chỉ</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">Mở rộng các địa chỉ được đề xuất</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Mở rộng các địa chỉ được đề xuất</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">Mở rộng địa chỉ đã lưu</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">Mở rộng địa chỉ đã lưu</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">Thu gọn các địa chỉ được đề xuất</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">Thu gọn các địa chỉ được đề xuất</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">Thu gọn địa chỉ đã lưu</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">Thu gọn địa chỉ đã lưu</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">Quản lý địa chỉ</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-zh-rCN/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-zh-rCN/strings.xml
index 4287c42133977e43656226f1652f589b3af49894..1385dbef53bdfdba693f3fcf1ec8b8bf5c337676 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-zh-rCN/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-zh-rCN/strings.xml
@@ -25,9 +25,9 @@
     <string name="mozac_feature_prompt_password_hint">密码</string>
 
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">不保存</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">不保存</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">暂时不要</string>
+    <string name="mozac_feature_prompt_dont_save_2">暂时不要</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">永不保存</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -35,27 +35,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">保存</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">不更新</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">不更新</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">暂时不要</string>
+    <string name="mozac_feature_prompt_dont_update_2">暂时不要</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">更新</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">密码不能为空</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">密码不能为空</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">请输入密码</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">请输入密码</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">无法保存登录信息</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">无法保存登录信息</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">无法保存密码</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">无法保存密码</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">要保存此登录信息吗?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">要保存此登录信息吗?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">要保存密码吗?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">要保存密码吗?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">要更新此登录信息吗?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">要更新此登录信息吗?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">要更新密码吗?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">要更新密码吗?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">要将用户名添加到已存密码吗?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -108,30 +108,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">设置时间</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">管理登录信息</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">管理登录信息</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">管理密码</string>
+    <string name="mozac_feature_prompts_manage_logins_2">管理密码</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">展开推荐的登录信息</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">展开推荐的登录信息</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">展开保存的密码</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">展开保存的密码</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">折叠推荐的登录信息</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">折叠推荐的登录信息</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">折叠保存的密码</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">折叠保存的密码</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">推荐的登录信息</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">推荐的登录信息</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">保存的密码</string>
+    <string name="mozac_feature_prompts_saved_logins_2">保存的密码</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">建议高强度密码</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">建议高强度密码</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">建议高强度密码</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">使用高强度密码</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">使用高强度密码:%1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">要使用高强度密码吗?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">使用随机生成的高强度密码保护您的账户。将密码保存到您的账户,取用更方便。</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">使用密码</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">暂时不要</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">密码已保存</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">密码已更新</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">重新发送数据至此网站?</string>
     <string name="mozac_feature_prompt_repost_message">刷新页面可能会再次执行最近的操作,例如重复付款或发表评论。</string>
@@ -142,42 +158,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">选择信用卡</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">选择信用卡</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">使用保存的信用卡</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">使用保存的信用卡</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">展开建议的信用卡</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">展开建议的信用卡</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">展开保存的信用卡</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">展开保存的信用卡</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">折叠建议的信用卡</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">折叠建议的信用卡</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">折叠保存的信用卡</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">折叠保存的信用卡</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">管理信用卡</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">管理信用卡</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">管理信用卡</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">管理信用卡</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">安全地保存此卡片?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">是否要更新卡片有效期?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">卡号将被加密,且不会保存安全码。</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">卡号将被加密,且不会保存安全码。</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s 会将卡号加密保存。安全码不会被保存。</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s 会将卡号加密保存。安全码不会被保存。</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">选择地址</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">展开建议的地址</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">展开建议的地址</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">展开保存的地址</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">展开保存的地址</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">折叠建议的地址</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">折叠建议的地址</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">折叠保存的地址</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">折叠保存的地址</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">管理地址</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/res/values-zh-rTW/strings.xml b/mobile/android/android-components/components/feature/prompts/src/main/res/values-zh-rTW/strings.xml
index d435190102ab1647e58f5447691a81e6e3dec176..96ae1b74c44836b0eab76f032b7e8ebb900e9830 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/res/values-zh-rTW/strings.xml
+++ b/mobile/android/android-components/components/feature/prompts/src/main/res/values-zh-rTW/strings.xml
@@ -25,9 +25,9 @@
     <string name="mozac_feature_prompt_password_hint">密碼</string>
 
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save">不要儲存</string>
+    <string name="mozac_feature_prompt_dont_save" moz:removedIn="125" tools:ignore="UnusedResources">不要儲存</string>
     <!-- Negative confirmation that we should not save the new or updated login -->
-    <string name="mozac_feature_prompt_dont_save_2" tools:ignore="UnusedResources">現在不要</string>
+    <string name="mozac_feature_prompt_dont_save_2">現在不要</string>
     <!-- Negative confirmation that we should never save a login for this site -->
     <string name="mozac_feature_prompt_never_save">永不儲存</string>
     <!-- Negative confirmation that we should not save a credit card for this site -->
@@ -35,27 +35,27 @@
     <!-- Positive confirmation that we should save the new or updated login -->
     <string name="mozac_feature_prompt_save_confirmation">儲存</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update">不要更新</string>
+    <string name="mozac_feature_prompt_dont_update" moz:removedIn="125" tools:ignore="UnusedResources">不要更新</string>
     <!-- Negative confirmation that we should not save the updated login -->
-    <string name="mozac_feature_prompt_dont_update_2" tools:ignore="UnusedResources">現在不要</string>
+    <string name="mozac_feature_prompt_dont_update_2">現在不要</string>
     <!-- Positive confirmation that we should save the updated login -->
     <string name="mozac_feature_prompt_update_confirmation">更新</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password">密碼不得為空白</string>
+    <string name="mozac_feature_prompt_error_empty_password" moz:removedIn="125" tools:ignore="UnusedResources">密碼不得為空白</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_empty_password_2" tools:ignore="UnusedResources">輸入密碼</string>
+    <string name="mozac_feature_prompt_error_empty_password_2">輸入密碼</string>
     <!-- Error text displayed underneath the login field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause">無法儲存登入資訊</string>
+    <string name="mozac_feature_prompt_error_unknown_cause" moz:removedIn="125" tools:ignore="UnusedResources">無法儲存登入資訊</string>
     <!-- Error text displayed underneath the password field when it is in an error case -->
-    <string name="mozac_feature_prompt_error_unknown_cause_2" tools:ignore="UnusedResources">無法儲存密碼</string>
+    <string name="mozac_feature_prompt_error_unknown_cause_2">無法儲存密碼</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new login. -->
-    <string name="mozac_feature_prompt_login_save_headline">要儲存這筆登入資訊嗎?</string>
+    <string name="mozac_feature_prompt_login_save_headline" moz:removedIn="125" tools:ignore="UnusedResources">要儲存這筆登入資訊嗎?</string>
     <!-- Prompt message displayed when app detects a user has entered a new username and password and user decides if app should save the new password. -->
-    <string name="mozac_feature_prompt_login_save_headline_2" tools:ignore="UnusedResources">要儲存密碼嗎?</string>
+    <string name="mozac_feature_prompt_login_save_headline_2">要儲存密碼嗎?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the login. -->
-    <string name="mozac_feature_prompt_login_update_headline">要更新這筆登入資訊嗎?</string>
+    <string name="mozac_feature_prompt_login_update_headline" moz:removedIn="125" tools:ignore="UnusedResources">要更新這筆登入資訊嗎?</string>
     <!-- Prompt message displayed when app detects a user has entered a new password for an existing login and user decides if app should update the password. -->
-    <string name="mozac_feature_prompt_login_update_headline_2" tools:ignore="UnusedResources">要更新密碼嗎?</string>
+    <string name="mozac_feature_prompt_login_update_headline_2">要更新密碼嗎?</string>
     <!-- Prompt message displayed when app detects a user has entered a username for an existing login without a username and user decides if app should update the login. -->
     <string name="mozac_feature_prompt_login_add_username_headline">要將使用者名稱加進儲存的密碼資訊嗎?</string>
     <!-- Text for a label for the field when prompt requesting a text is shown. -->
@@ -108,30 +108,46 @@
     <!-- Title of the time picker dialog. -->
     <string name="mozac_feature_prompts_set_time">設定時間</string>
     <!-- Option in expanded select login prompt that links to login settings -->
-    <string name="mozac_feature_prompts_manage_logins">管理登入密碼</string>
+    <string name="mozac_feature_prompts_manage_logins" moz:removedIn="125" tools:ignore="UnusedResources">管理登入密碼</string>
     <!-- Option in expanded select password prompt that links to password settings -->
-    <string name="mozac_feature_prompts_manage_logins_2" tools:ignore="UnusedResources">管理密碼</string>
+    <string name="mozac_feature_prompts_manage_logins_2">管理密碼</string>
     <!-- Content description for expanding the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description">展開建議的登入資訊</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">展開建議的登入資訊</string>
     <!-- Content description for expanding the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_expand_logins_content_description_2" tools:ignore="UnusedResources">展開儲存的密碼</string>
+    <string name="mozac_feature_prompts_expand_logins_content_description_2">展開儲存的密碼</string>
     <!-- Content description for collapsing the saved logins options in the select login prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description">摺疊建議的登入資訊</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description" moz:removedIn="125" tools:ignore="UnusedResources">摺疊建議的登入資訊</string>
     <!-- Content description for collapsing the saved passwords options in the select password prompt -->
-    <string name="mozac_feature_prompts_collapse_logins_content_description_2" tools:ignore="UnusedResources">摺疊儲存的密碼</string>
+    <string name="mozac_feature_prompts_collapse_logins_content_description_2">摺疊儲存的密碼</string>
     <!-- Header for the select login prompt to allow users to fill a form with a saved login -->
-    <string name="mozac_feature_prompts_saved_logins">建議的登入資訊</string>
+    <string name="mozac_feature_prompts_saved_logins" moz:removedIn="125" tools:ignore="UnusedResources">建議的登入資訊</string>
 
     <!-- Header for the select password prompt to allow users to fill a form with a saved password -->
-    <string name="mozac_feature_prompts_saved_logins_2" tools:ignore="UnusedResources">已存密碼</string>
+    <string name="mozac_feature_prompts_saved_logins_2">已存密碼</string>
 
     <!-- Content description for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
     <string name="mozac_feature_prompts_suggest_strong_password_content_description">建議安全的密碼</string>
     <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
-    <string name="mozac_feature_prompts_suggest_strong_password">建議安全的密碼</string>
+    <string name="mozac_feature_prompts_suggest_strong_password" moz:removedIn="128" tools:ignore="UnusedResources">建議安全的密碼</string>
+    <!-- Header for the suggest strong password prompt to allow users to fill a form with a suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_2">使用較強的密碼</string>
     <!-- Title for using the suggest strong password confirmation dialog. %1$s will be replaced with the generated password -->
     <string name="mozac_feature_prompts_suggest_strong_password_message">使用安全的密碼:%1$s</string>
 
+    <!-- Title for using the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_title">要使用較強的密碼嗎?</string>
+    <!-- Content description for the suggest strong password confirmation dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_description">使用隨機產生的強大密碼來保護您的帳號,並將密碼儲存到您的帳號快速使用。</string>
+    <!-- Pressing this will use the suggested strong password -->
+    <string name="mozac_feature_prompts_suggest_strong_password_use_password">使用密碼</string>
+    <!-- Pressing this will dismiss the suggested strong password dialog -->
+    <string name="mozac_feature_prompts_suggest_strong_password_dismiss">現在不要</string>
+    <!-- Title for showing the suggest strong password saved confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_saved_snackbar_title">已儲存密碼</string>
+    <!-- Title for showing the suggest strong password updated confirmation snackbar -->
+    <string name="mozac_feature_prompts_suggest_strong_password_updated_snackbar_title">已更新密碼</string>
+
+
     <!-- Strings shown in a dialog that appear when users try to refresh a certain kind of webpages -->
     <string name="mozac_feature_prompt_repost_title">要重新發送資料到這個網站嗎?</string>
     <string name="mozac_feature_prompt_repost_message">重新整理頁面可能會再次執行最近的操作,例如重複付款或張貼留言。</string>
@@ -142,42 +158,42 @@
 
     <!-- Credit Card Autofill -->
     <!-- Header for the select credit card prompt to allow users to fill a form with a saved credit card. -->
-    <string name="mozac_feature_prompts_select_credit_card">選擇信用卡</string>
+    <string name="mozac_feature_prompts_select_credit_card" moz:removedIn="125" tools:ignore="UnusedResources">選擇信用卡</string>
     <!-- Header for the select card prompt to allow users to fill a form with a saved card. -->
-    <string name="mozac_feature_prompts_select_credit_card_2" tools:ignore="UnusedResources">使用儲存的卡片資訊</string>
+    <string name="mozac_feature_prompts_select_credit_card_2">使用儲存的卡片資訊</string>
     <!-- Content description for expanding the select credit card options in the select credit card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description">展開建議的信用卡</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">展開建議的信用卡</string>
     <!-- Content description for expanding the saved card options in the select card prompt. -->
-    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2" tools:ignore="UnusedResources">展開儲存的卡片資訊</string>
+    <string name="mozac_feature_prompts_expand_credit_cards_content_description_2">展開儲存的卡片資訊</string>
     <!-- Content description for collapsing the select credit card options in the select credit prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description">摺疊建議的信用卡</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description" moz:removedIn="125" tools:ignore="UnusedResources">摺疊建議的信用卡</string>
     <!-- Content description for collapsing the saved card options in the select prompt. -->
-    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2" tools:ignore="UnusedResources">摺疊儲存的卡片資訊</string>
+    <string name="mozac_feature_prompts_collapse_credit_cards_content_description_2">摺疊儲存的卡片資訊</string>
     <!-- Option in the expanded select credit card prompt that links to credit cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards">管理信用卡</string>
+    <string name="mozac_feature_prompts_manage_credit_cards" moz:removedIn="125" tools:ignore="UnusedResources">管理信用卡</string>
     <!-- Option in the expanded select card prompt that links to cards settings. -->
-    <string name="mozac_feature_prompts_manage_credit_cards_2" tools:ignore="UnusedResources">管理卡片</string>
+    <string name="mozac_feature_prompts_manage_credit_cards_2">管理卡片</string>
     <!-- Text for the title of a save credit card dialog. -->
     <string name="mozac_feature_prompts_save_credit_card_prompt_title">安全地儲存這張卡的資料?</string>
     <!-- Text for the title of an update credit card dialog. -->
     <string name="mozac_feature_prompts_update_credit_card_prompt_title">是否要更新卡片效期?</string>
     <!-- Subtitle text displayed under the title of the save credit card dialog. -->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body">將加密卡號,也不會儲存安全碼。</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body" moz:removedIn="125" tools:ignore="UnusedResources">將加密卡號,也不會儲存安全碼。</string>
 
     <!-- Subtitle text displayed under the title of the saved card dialog. Parameter will be replaced by app name-->
-    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2" tools:ignore="UnusedResources">%s 會加密您的卡號,且不會儲存安全碼。</string>
+    <string name="mozac_feature_prompts_save_credit_card_prompt_body_2">%s 會加密您的卡號,且不會儲存安全碼。</string>
 
     <!-- Address Autofill -->
     <!-- Header for the select address prompt to allow users to fill a form with a saved address. -->
     <string name="mozac_feature_prompts_select_address_2">選擇地址</string>
     <!-- Content description for expanding the select addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description">展開建議的地址</string>
+    <string name="mozac_feature_prompts_expand_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">展開建議的地址</string>
     <!-- Content description for expanding the saved addresses options in the select address prompt. -->
-    <string name="mozac_feature_prompts_expand_address_content_description_2" tools:ignore="UnusedResources">展開儲存的地址資訊</string>
+    <string name="mozac_feature_prompts_expand_address_content_description_2">展開儲存的地址資訊</string>
     <!-- Content description for collapsing the select address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description">摺疊建議的地址</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description" moz:removedIn="125" tools:ignore="UnusedResources">摺疊建議的地址</string>
     <!-- Content description for collapsing the saved address options in the select address prompt. -->
-    <string name="mozac_feature_prompts_collapse_address_content_description_2" tools:ignore="UnusedResources">摺疊儲存的地址資訊</string>
+    <string name="mozac_feature_prompts_collapse_address_content_description_2">摺疊儲存的地址資訊</string>
     <!-- Text for the manage addresses button. -->
     <string name="mozac_feature_prompts_manage_address">管理已存地址</string>
 
diff --git a/mobile/android/android-components/components/feature/prompts/src/test/java/mozilla/components/feature/prompts/PromptFeatureTest.kt b/mobile/android/android-components/components/feature/prompts/src/test/java/mozilla/components/feature/prompts/PromptFeatureTest.kt
index 7f8157bf0d39ebc329dd74fd4a4d191956dcdbe8..1bfe3d445594e4ec2bb458c06eec14e438d234f0 100644
--- a/mobile/android/android-components/components/feature/prompts/src/test/java/mozilla/components/feature/prompts/PromptFeatureTest.kt
+++ b/mobile/android/android-components/components/feature/prompts/src/test/java/mozilla/components/feature/prompts/PromptFeatureTest.kt
@@ -2973,6 +2973,34 @@ class PromptFeatureTest {
         verify(fragment).dismiss()
     }
 
+    @Test
+    fun `WHEN prompt request is a file THEN the active prompt should not be dismissed`() {
+        var onDismissWasCalled = false
+
+        val filePickerRequest =
+            PromptRequest.File(emptyArray(), true, { _, _ -> }, { _, _ -> }) {
+                onDismissWasCalled = true
+            }
+
+        val feature =
+            PromptFeature(
+                activity = mock(),
+                store = store,
+                fileUploadsDirCleaner = mock(),
+                tabsUseCases = mock(),
+                fragmentManager = fragmentManager,
+            ) { }
+
+        store.dispatch(ContentAction.UpdatePromptRequestAction(tabId, filePickerRequest))
+            .joinBlocking()
+
+        feature.start()
+        store.waitUntilIdle()
+
+        assertFalse(onDismissWasCalled)
+        assertTrue(tab()!!.content.promptRequests.isNotEmpty())
+    }
+
     private fun mockFragmentManager(): FragmentManager {
         val fragmentManager: FragmentManager = mock()
         val transaction: FragmentTransaction = mock()
diff --git a/mobile/android/android-components/components/feature/pwa/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/pwa/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ff5989f0cec91e1f40f8bf057cb8071cdc54b49f
--- /dev/null
+++ b/mobile/android/android-components/components/feature/pwa/src/main/res/values-meh/strings.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Default shortcut label used if website has no title -->
+    <string name="mozac_feature_pwa_default_shortcut_label">Sitio web</string>
+
+    <!-- Name of the "notification channel" used for displaying site controls notification. See https://developer.android.com/training/notify-user/channels -->
+    <string name="mozac_feature_pwa_site_controls_notification_channel">Controles del sitio a pantalla ka\'nu</string>
+    <!-- Text shown on the second row of the site controls notification. -->
+    <string name="mozac_feature_pwa_site_controls_notification_text">Kuaxin sa tɨɨn URL aplicación.</string>
+    <!-- Refresh button in site controls notification. -->
+    <string name="mozac_feature_pwa_site_controls_refresh">Xitúvi tuku</string>
+    <!-- Toast displayed when the website URL is copied. -->
+    <string name="mozac_feature_pwa_copy_success">URL ntɨɨn</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/qr/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/qr/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2ac842317e3a6007f775aabb5ed23dd89d5468cd
--- /dev/null
+++ b/mobile/android/android-components/components/feature/qr/src/main/res/values-meh/strings.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+    <!-- Content description (not visible, for screen readers etc.): Description of an image view. -->
+    <string name="mozac_feature_qr_scanner">Escáner de QR</string>
+
+    <!-- Text shown if no camera is available on the device and the QR scanner cannot be displayed. -->
+    <string name="mozac_feature_qr_scanner_no_camera">Ntu iyo ka̱a̱ natava nuu ka̱a̱ noo\'o</string>
+
+</resources>
diff --git a/mobile/android/android-components/components/feature/readerview/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/readerview/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0453a290efbc9f50076e70aee0e2a8c6ec2ee034
--- /dev/null
+++ b/mobile/android/android-components/components/feature/readerview/src/main/res/values-meh/strings.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+    <!-- Name for one of the font options available to use -->
+    <string name="mozac_feature_readerview_sans_serif_font">Sans serif</string>
+    <!-- Accessible description for the font option -->
+    <string name="mozac_feature_readerview_sans_serif_font_desc">Tu\'un Sans Serif</string>
+    <!-- Name for one of the font options available to use -->
+    <string name="mozac_feature_readerview_serif_font">Serif</string>
+    <!-- Accessible description for the font option -->
+    <string name="mozac_feature_readerview_serif_font_desc">Fuente Serif</string>
+
+    <!-- Accessible description for decreasing the font size -->
+    <string name="mozac_feature_readerview_font_size_decrease_desc">Sá\'á luli fuente</string>
+
+    <!-- Accessible description for increasing the font size -->
+    <string name="mozac_feature_readerview_font_size_increase_desc">Sá\'á ka\'nu fuente</string>
+    <!-- Color option for the background -->
+    <string name="mozac_feature_readerview_dark">Teku tun</string>
+    <!-- Accessible description for the color option -->
+    <string name="mozac_feature_readerview_dark_color_scheme_desc">Esquema teku oscuro</string>
+    <!-- Color option for the background -->
+    <string name="mozac_feature_readerview_sephia">Sepia</string>
+    <!-- Accessible description for the color option -->
+    <string name="mozac_feature_readerview_sepia_color_scheme_desc">Esquema teku sepia</string>
+    <!-- Color option for the background -->
+    <string name="mozac_feature_readerview_light">Kuvi</string>
+    <!-- Accessible description for the color option -->
+    <string name="mozac_feature_readerview_light_color_scheme_desc">Esquema teku sepia</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/search/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/search/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a251bbef534b6b8875fb7b76fafc1e5bc5b55ac7
--- /dev/null
+++ b/mobile/android/android-components/components/feature/search/src/main/res/values-meh/strings.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Search Widget -->
+    <!-- Content description for searching with a widget. The first parameter is the name of the application.-->
+    <string name="search_widget_content_description">Síne iin pestaña jíía %1$s</string>
+    <!-- Text preview for smaller sized widgets -->
+    <string name="search_widget_text_short">Nánuku</string>
+    <!-- Text preview for larger sized widgets -->
+    <string name="search_widget_text_long">Nánuku nuu Web</string>
+    <!-- Content description (not visible, for screen readers etc.): Voice search -->
+    <string name="search_widget_voice">Nánuku jíí nasun yu\'unu</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/sitepermissions/build.gradle b/mobile/android/android-components/components/feature/sitepermissions/build.gradle
index 06fa58246b876bfb50c21d69c9c8af1120d8208c..703b006993feb185f977b5f5a9814367ee1fdec7 100644
--- a/mobile/android/android-components/components/feature/sitepermissions/build.gradle
+++ b/mobile/android/android-components/components/feature/sitepermissions/build.gradle
@@ -57,6 +57,7 @@ dependencies {
     implementation project(':ui-icons')
     implementation project(':support-ktx')
     implementation project(':feature-tabs')
+    implementation project(':support-utils')
 
     implementation ComponentsDependencies.kotlin_coroutines
 
diff --git a/mobile/android/android-components/components/feature/sitepermissions/src/main/java/mozilla/components/feature/sitepermissions/SitePermissionsDialogFragment.kt b/mobile/android/android-components/components/feature/sitepermissions/src/main/java/mozilla/components/feature/sitepermissions/SitePermissionsDialogFragment.kt
index 61a6b10d8b6c130c5196628b67dfd9bddc33c3d6..6a5073d02a1d03e6de5d69bd6bb1c118a662dab4 100644
--- a/mobile/android/android-components/components/feature/sitepermissions/src/main/java/mozilla/components/feature/sitepermissions/SitePermissionsDialogFragment.kt
+++ b/mobile/android/android-components/components/feature/sitepermissions/src/main/java/mozilla/components/feature/sitepermissions/SitePermissionsDialogFragment.kt
@@ -20,8 +20,10 @@ import android.widget.CheckBox
 import android.widget.ImageView
 import android.widget.LinearLayout.LayoutParams
 import android.widget.TextView
+import androidx.annotation.VisibleForTesting
 import androidx.appcompat.app.AppCompatDialogFragment
 import androidx.core.content.ContextCompat
+import mozilla.components.support.ktx.util.PromptAbuserDetector
 
 internal const val KEY_SESSION_ID = "KEY_SESSION_ID"
 internal const val KEY_TITLE = "KEY_TITLE"
@@ -41,6 +43,9 @@ private const val KEY_PERMISSION_ID = "KEY_PERMISSION_ID"
 
 internal open class SitePermissionsDialogFragment : AppCompatDialogFragment() {
 
+    @VisibleForTesting
+    internal var promptAbuserDetector =
+        PromptAbuserDetector(maxSuccessiveDialogSecondsLimit = TIME_SHOWN_OFFSET_SECONDS)
     // Safe Arguments
 
     private val safeArguments get() = requireNotNull(arguments)
@@ -106,6 +111,8 @@ internal open class SitePermissionsDialogFragment : AppCompatDialogFragment() {
             }
         }
 
+        promptAbuserDetector.updateJSDialogAbusedState()
+
         return sheetDialog
     }
 
@@ -159,8 +166,16 @@ internal open class SitePermissionsDialogFragment : AppCompatDialogFragment() {
         val negativeButton = rootView.findViewById<Button>(R.id.deny_button)
 
         positiveButton.setOnClickListener {
-            feature?.onPositiveButtonPress(permissionRequestId, sessionId, userSelectionCheckBox)
-            dismiss()
+            if (promptAbuserDetector.areDialogsBeingAbused()) {
+                promptAbuserDetector.updateJSDialogAbusedState()
+            } else {
+                feature?.onPositiveButtonPress(
+                    permissionRequestId,
+                    sessionId,
+                    userSelectionCheckBox,
+                )
+                dismiss()
+            }
         }
 
         if (positiveButtonBackgroundColor != DEFAULT_VALUE) {
@@ -254,5 +269,7 @@ internal open class SitePermissionsDialogFragment : AppCompatDialogFragment() {
             fragment.arguments = arguments
             return fragment
         }
+
+        private const val TIME_SHOWN_OFFSET_SECONDS = 1
     }
 }
diff --git a/mobile/android/android-components/components/feature/sitepermissions/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/sitepermissions/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f6454a9d8fdbcd5971deee9082cf3fac5d6e87ef
--- /dev/null
+++ b/mobile/android/android-components/components/feature/sitepermissions/src/main/res/values-meh/strings.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Title of a dialog for a notification permission request. -->
+    <string name="mozac_feature_sitepermissions_notification_title">¿Kua\'a  %1$s chu\'un íchi notificaciones?</string>
+    <!-- Title of a dialog for a camera permission request. -->
+    <string name="mozac_feature_sitepermissions_camera_title">¿Kua\'a %1$s ni\'i ka̱a̱ natava?</string>
+    <!-- Title of a dialog for a microphone permission request. -->
+    <string name="mozac_feature_sitepermissions_microfone_title">¿Kua\'a %1$s ni\'i ka̱a̱ micrófono noo\'o?</string>
+    <!-- Title of a dialog for a location permission request. -->
+    <string name="mozac_feature_sitepermissions_location_title">¿Kua\'a %1$s ni\'i nuu iñinu?</string>
+    <!-- Title of a dialog for a camera and microphone permission request. -->
+    <string name="mozac_feature_sitepermissions_camera_and_microphone">¿Kachi de kuvi %1$s ni´i ka̱a̱ natava ji micrófono?</string>
+    <!-- Option in a dialog for requesting a microphone permission, this option will give access to
+         the first microphone-->
+    <string name="mozac_feature_sitepermissions_option_microphone_one">Micrófono 1</string>
+    <!-- Option in a dialog for requesting a camera permission, this option will give access to
+         back facing camera-->
+    <string name="mozac_feature_sitepermissions_back_facing_camera2">Ka̱a̱ nátava nee yata</string>
+    <!-- Option in a dialog for requesting a camera permission, this option will give access to
+     front facing camera-->
+    <string name="mozac_feature_sitepermissions_selfie_camera2">Ka̱a̱ nátava nee nuun</string>
+    <!-- Text for a positive button in a permission request dialog, this button will give
+        access to this permission-->
+    <string name="mozac_feature_sitepermissions_allow">Kuvi</string>
+    <!-- Text for a negative button in a permission request dialog, this button will do not give
+    access to this permission-->
+    <string name="mozac_feature_sitepermissions_not_allow">Nkuvi jia´a</string>
+    <!-- Text for a checkbox in a permission request dialog, this will allow to not show again the prompt-->
+    <string name="mozac_feature_sitepermissions_do_not_ask_again_on_this_site2">Kuna\'a decisión nkachini nuu sitio</string>
+    <!-- Text for a positive button in a permission request dialog. This will always allow and remember the decision of the user, this is the special case of the notification permission, that is only ask one time-->
+    <string name="mozac_feature_sitepermissions_always_allow">Ntaka ichi</string>
+    <!-- Text for a negative button in a permission request dialog. This will never allow and remember the decision of the user, this is the special case of the notification permission, that is only ask one time-->
+    <string name="mozac_feature_sitepermissions_never_allow">Ni´in íchi</string>
+    <!-- Title of a dialog to require to save data in persistent storage. %1$s will be replaced with the URL of the current page -->
+    <string name="mozac_feature_sitepermissions_persistent_storage_title">¿Kua\'a a %1$s chuva\'a datos almacenamiento persistente?</string>
+    <!-- Title of a dialog to use EME. %1$s will be replaced with the URL of the current page -->
+    <string name="mozac_feature_sitepermissions_media_key_system_access_title">¿Kua\'a %1$s reproduzca contenido controlado por DRM?</string>
+    <!-- Title of a dialog to use cross origin storage permission. %1$s is the name of the site URL (www.site1.example) trying to track the user's activity.
+     %2$s is the name of the site URL (www.site2.example) that the user is visiting.  This is the same domain name displayed in the address bar -->
+    <string name="mozac_feature_sitepermissions_storage_access_title">¿Kua\'a %1$s ni\'i daa cookies jii %2$s?</string>
+    <!-- Text for a negative button in the storage access permission request dialog. This button will not give access to this permission. -->
+    <string name="mozac_feature_sitepermissions_storage_access_not_allow">Kasɨ</string>
+    <!-- Clickable text that will open a new tab navigating the user to online documentation about specific features. -->
+    <string name="mozac_feature_sitepermissions_learn_more_title">Ka´vi kue´eka</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/sitepermissions/src/test/java/mozilla/components/feature/sitepermissions/SitePermissionsDialogFragmentTest.kt b/mobile/android/android-components/components/feature/sitepermissions/src/test/java/mozilla/components/feature/sitepermissions/SitePermissionsDialogFragmentTest.kt
index 6e55cc002d88063e90446f84727bc560c1336d35..5f3e8c970a1a7269c3753d97a571892e3f4c0155 100644
--- a/mobile/android/android-components/components/feature/sitepermissions/src/test/java/mozilla/components/feature/sitepermissions/SitePermissionsDialogFragmentTest.kt
+++ b/mobile/android/android-components/components/feature/sitepermissions/src/test/java/mozilla/components/feature/sitepermissions/SitePermissionsDialogFragmentTest.kt
@@ -19,6 +19,7 @@ import mozilla.components.support.test.robolectric.testContext
 import org.junit.Assert.assertEquals
 import org.junit.Assert.assertFalse
 import org.junit.Assert.assertTrue
+import org.junit.Ignore
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.mockito.Mockito.doNothing
@@ -233,6 +234,7 @@ class SitePermissionsDialogFragmentTest {
     }
 
     @Test
+    @Ignore("https://bugzilla.mozilla.org/show_bug.cgi?id=1903828")
     fun `clicking on positive button notifies the feature (temporary)`() {
         val mockFeature: SitePermissionsFeature = mock()
         val fragment = spy(
@@ -261,6 +263,7 @@ class SitePermissionsDialogFragmentTest {
     }
 
     @Test
+    @Ignore("https://bugzilla.mozilla.org/show_bug.cgi?id=1903828")
     fun `dismissing the dialog notifies the feature`() {
         val mockFeature: SitePermissionsFeature = mock()
         val fragment = spy(
@@ -360,6 +363,7 @@ class SitePermissionsDialogFragmentTest {
     }
 
     @Test
+    @Ignore("https://bugzilla.mozilla.org/show_bug.cgi?id=1903828")
     fun `clicking on positive button notifies the feature (permanent)`() {
         val mockFeature: SitePermissionsFeature = mock()
         val fragment = spy(
@@ -389,6 +393,7 @@ class SitePermissionsDialogFragmentTest {
     }
 
     @Test
+    @Ignore("https://bugzilla.mozilla.org/show_bug.cgi?id=1903828")
     fun `clicking on negative button notifies the feature (permanent)`() {
         val mockFeature: SitePermissionsFeature = mock()
         val fragment = spy(
diff --git a/mobile/android/android-components/components/feature/tabs/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/tabs/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..de780ced0b99a303a99c2942cb18d23202e4a022
--- /dev/null
+++ b/mobile/android/android-components/components/feature/tabs/src/main/res/values-meh/strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Content description (not visible, for screen readers etc.): Description for the "tabs" button in the browser toolbar. -->
+    <string name="mozac_feature_tabs_toolbar_tabs_button">Da sukua</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/webcompat/src/main/assets/extensions/webcompat/data/injections.js b/mobile/android/android-components/components/feature/webcompat/src/main/assets/extensions/webcompat/data/injections.js
index f95a6be28d0402508cc0a446fa1ed167c1aa35e1..ed45251032e16e7751501f75fb3ad54ffc791b39 100644
--- a/mobile/android/android-components/components/feature/webcompat/src/main/assets/extensions/webcompat/data/injections.js
+++ b/mobile/android/android-components/components/feature/webcompat/src/main/assets/extensions/webcompat/data/injections.js
@@ -1064,7 +1064,7 @@ const AVAILABLE_INJECTIONS = [
     domain: "YouTube Shorts",
     bug: "1882040",
     contentScripts: {
-      matches: ["*://m.youtube.com/shorts/*"],
+      matches: ["*://m.youtube.com/shorts", "*://m.youtube.com/shorts/*"],
       css: [
         {
           file: "injections/css/bug1882040-disable-pull-to-refresh.css",
diff --git a/mobile/android/android-components/components/feature/webcompat/src/main/assets/extensions/webcompat/data/ua_overrides.js b/mobile/android/android-components/components/feature/webcompat/src/main/assets/extensions/webcompat/data/ua_overrides.js
index 5b7967d277e5bef90200bbf672296bc435e441f6..23d17fb1d91cb79b87d0473a05eec90b64c568a2 100644
--- a/mobile/android/android-components/components/feature/webcompat/src/main/assets/extensions/webcompat/data/ua_overrides.js
+++ b/mobile/android/android-components/components/feature/webcompat/src/main/assets/extensions/webcompat/data/ua_overrides.js
@@ -55,11 +55,8 @@ const AVAILABLE_UA_OVERRIDES = [
         "*://*.directv.com.ec/*", // bug 1827706
         "*://*.directv.com/*",
       ],
-      uaTransformer: originalUA => {
-        return (
-          UAHelpers.getPrefix(originalUA) +
-          " AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
-        );
+      uaTransformer: () => {
+        return UAHelpers.getDeviceAppropriateChromeUA();
       },
     },
   },
diff --git a/mobile/android/android-components/components/feature/webcompat/src/main/assets/extensions/webcompat/manifest.json b/mobile/android/android-components/components/feature/webcompat/src/main/assets/extensions/webcompat/manifest.json
index dc6f225099147c9729982a8c9c5ec69628ef02b3..0a4f2402a05b623bc7b4a8b8322a8038e4c7b565 100644
--- a/mobile/android/android-components/components/feature/webcompat/src/main/assets/extensions/webcompat/manifest.json
+++ b/mobile/android/android-components/components/feature/webcompat/src/main/assets/extensions/webcompat/manifest.json
@@ -2,7 +2,7 @@
   "manifest_version": 2,
   "name": "Web Compatibility Interventions",
   "description": "Urgent post-release fixes for web compatibility.",
-  "version": "128.1.0",
+  "version": "128.3.0",
   "browser_specific_settings": {
     "gecko": {
       "id": "webcompat@mozilla.org",
diff --git a/mobile/android/android-components/components/feature/webnotifications/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/feature/webnotifications/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ac39b39fe119774aa9b10e43c337e7b4b8feb83c
--- /dev/null
+++ b/mobile/android/android-components/components/feature/webnotifications/src/main/res/values-meh/strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Default Web Notification Channel Name. -->
+    <string name="mozac_feature_notification_channel_name">Tu´un notificaciones sitio</string>
+</resources>
diff --git a/mobile/android/android-components/components/lib/crash/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/lib/crash/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7e8f47c36b3682eb68f5750d40c53cff944f5ae6
--- /dev/null
+++ b/mobile/android/android-components/components/lib/crash/src/main/res/values-meh/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Title of the crash reporter dialog. %1$s will be replaced with the name of the app (e.g. Firefox Focus). -->
+    <string name="mozac_lib_crash_dialog_title">Nei koo ini-nu. %1$s nkene iin tixi jee ntivu ya´a.</string>
+
+    <!-- Label of the checkbox for sending crash reports in the crash reporter dialog. %1$s will be replaced with the name of the organization (e.g. Mozilla). -->
+    <string name="mozac_lib_crash_dialog_checkbox">Chu´un ichi informe saa tivu ya´a %1$s</string>
+
+    <!-- Label of the button closing the crash reporter dialog. -->
+    <string name="mozac_lib_crash_dialog_button_close">Nakasɨ</string>
+
+    <!-- Label of the button closing the crash reporter dialog and restarting the app. -->
+    <string name="mozac_lib_crash_dialog_button_restart">Nakajie´e %1$s</string>
+
+    <!-- Name of the "notification channel" used for displaying a notification when the app crashed and we can't show a prompt. See https://developer.android.com/training/notify-user/channels -->
+    <string name="mozac_lib_crash_channel">Fallos</string>
+
+    <!-- Title of the crash reporter notification for background process crashes. %1$s will be replaced with the name of the app (e.g. Firefox Focus). -->
+    <string name="mozac_lib_crash_background_process_notification_title">Nei koo ininu. Nkene iin tixin jíí %1$s.</string>
+
+    <!-- Label of a notification action/button that will send the crash report to Mozilla. -->
+    <string name="mozac_lib_crash_notification_action_report">Informar</string>
+
+    <!-- Label of notification showing that the crash report service is running. %1$s will be replaced with the name of the organization (e.g. Mozilla). -->
+    <string name="mozac_lib_send_crash_report_in_progress">Chu´un ichi informe a tivu ya´a %1$s</string>
+
+    <!-- Label of notification showing that the crash handling service is gathering the crash data. -->
+    <string name="mozac_lib_gathering_crash_data_in_progress">Recopilación de datos de errores</string>
+
+    <!-- Label of notification showing that the telemetry service is gathering the crash data. -->
+    <string name="mozac_lib_gathering_crash_telemetry_in_progress">Recopilación de datos de telemetría de fallos</string>
+
+    <!-- Title of the activity that shows the list of past crashes (similar to about:crashes)-->
+    <string name="mozac_lib_crash_activity_title">Reportes de fallo</string>
+
+    <!-- Text shown instead of crash list if no crashes have been submitted yet -->
+    <string name="mozac_lib_crash_no_crashes">Ntu chu\'un íchi reportes de fallo</string>
+
+    <!-- Text link that will show an app chooser to share a crash report with a third-party app (e.g. gmail) -->
+    <string name="mozac_lib_crash_share">Kua´a</string>
+</resources>
diff --git a/mobile/android/android-components/components/service/nimbus/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/service/nimbus/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6adfe0354fd5c56a19a4e72c1896037cbe0fe217
--- /dev/null
+++ b/mobile/android/android-components/components/service/nimbus/src/main/res/values-meh/strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Text displayed when there are no experiments to be shown -->
+    <string name="mozac_service_nimbus_no_experiments">Ntu íyo experimentos ya\'a</string>
+</resources>
diff --git a/mobile/android/android-components/components/support/base/src/main/res/values-co/strings.xml b/mobile/android/android-components/components/support/base/src/main/res/values-co/strings.xml
index 6ff646f5b71a99d67f6abf9aea10b2562caa7367..710348502a99e6093158d4b0fdd37448a540f8c3 100644
--- a/mobile/android/android-components/components/support/base/src/main/res/values-co/strings.xml
+++ b/mobile/android/android-components/components/support/base/src/main/res/values-co/strings.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
     <!-- Text for the positive action button, that will take the user to the settings page -->
-    <string name="mozac_support_base_permissions_needed_positive_button">Andà à e preferenze</string>
+    <string name="mozac_support_base_permissions_needed_positive_button">Andà à i parametri</string>
     <!-- Text for the negative action button to dismiss the dialog. -->
     <string name="mozac_support_base_permissions_needed_negative_button">Ricusà</string>
 </resources>
diff --git a/mobile/android/android-components/components/support/base/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/support/base/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e998662781b8a5eb277da83a9e7701cf3bfc796a
--- /dev/null
+++ b/mobile/android/android-components/components/support/base/src/main/res/values-meh/strings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Text for the positive action button, that will take the user to the settings page -->
+    <string name="mozac_support_base_permissions_needed_positive_button">Kua´an nuu da ke´i</string>
+    <!-- Text for the negative action button to dismiss the dialog. -->
+    <string name="mozac_support_base_permissions_needed_negative_button">Xita</string>
+</resources>
diff --git a/mobile/android/android-components/components/support/ktx/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/support/ktx/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2b9283fbdcee4fb2423b2f0ae9e8d3dbb0b72747
--- /dev/null
+++ b/mobile/android/android-components/components/support/ktx/src/main/res/values-meh/strings.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:tools="http://schemas.android.com/tools" xmlns:moz="http://schemas.android.com/apk/res-auto">
+    <!-- Text displayed when choosing which app to call with after selecting a phone number-->
+    <string name="mozac_support_ktx_menu_call_with">Ka\'an jíí…</string>
+    <!-- Text displayed when choosing which app to email with after selecting an email address-->
+    <string name="mozac_support_ktx_menu_email_with">Chu´un íchi correo jii…</string>
+    <string name="mozac_support_ktx_menu_share_with">Kua\'a jíí…</string>
+    <string name="mozac_support_ktx_share_dialog_title">Kua´a jii</string>
+</resources>
diff --git a/mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/PromptAbuserDetector.kt b/mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/ktx/util/PromptAbuserDetector.kt
similarity index 56%
rename from mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/PromptAbuserDetector.kt
rename to mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/ktx/util/PromptAbuserDetector.kt
index ac92f5e72658e865aa046b5a0a3fdb6716ca2f2d..aec0548e031cb4bb5fa86825a095d68d4ab664f1 100644
--- a/mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/PromptAbuserDetector.kt
+++ b/mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/ktx/util/PromptAbuserDetector.kt
@@ -2,25 +2,38 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-package mozilla.components.feature.prompts.dialog
+package mozilla.components.support.ktx.util
 
+import androidx.annotation.VisibleForTesting
 import java.util.Date
 
 /**
  * Helper class to identify if a website has shown many dialogs.
+ *  @param maxSuccessiveDialogSecondsLimit Maximum time required
+ *  between dialogs in seconds before not showing more dialog.
  */
-internal class PromptAbuserDetector {
+class PromptAbuserDetector(private val maxSuccessiveDialogSecondsLimit: Int = MAX_SUCCESSIVE_DIALOG_SECONDS_LIMIT) {
+
+    @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+    var jsAlertCount = 0
+
+    @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+    var lastDialogShownAt = Date()
 
-    internal var jsAlertCount = 0
-    internal var lastDialogShownAt = Date()
     var shouldShowMoreDialogs = true
         private set
 
+    /**
+     * Updates internal state for alerts counts.
+     */
     fun resetJSAlertAbuseState() {
         jsAlertCount = 0
         shouldShowMoreDialogs = true
     }
 
+    /**
+     * Updates internal state for last shown and count of dialogs.
+     */
     fun updateJSDialogAbusedState() {
         if (!areDialogsAbusedByTime()) {
             jsAlertCount = 0
@@ -29,25 +42,35 @@ internal class PromptAbuserDetector {
         lastDialogShownAt = Date()
     }
 
+    /**
+     * Indicates whether or not user wants to see more dialogs.
+     */
     fun userWantsMoreDialogs(checkBox: Boolean) {
         shouldShowMoreDialogs = checkBox
     }
 
+    /**
+     * Indicates whether dialogs are being abused or not.
+     */
     fun areDialogsBeingAbused(): Boolean {
         return areDialogsAbusedByTime() || areDialogsAbusedByCount()
     }
 
-    internal fun areDialogsAbusedByTime(): Boolean {
+    @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+    @Suppress("UndocumentedPublicFunction") // this is visible only for tests
+    fun now() = Date()
+
+    private fun areDialogsAbusedByTime(): Boolean {
         return if (jsAlertCount == 0) {
             false
         } else {
-            val now = Date()
+            val now = now()
             val diffInSeconds = (now.time - lastDialogShownAt.time) / SECOND_MS
-            diffInSeconds < MAX_SUCCESSIVE_DIALOG_SECONDS_LIMIT
+            diffInSeconds < maxSuccessiveDialogSecondsLimit
         }
     }
 
-    internal fun areDialogsAbusedByCount(): Boolean {
+    private fun areDialogsAbusedByCount(): Boolean {
         return jsAlertCount > MAX_SUCCESSIVE_DIALOG_COUNT
     }
 
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b4519915dda14b1bff11d5749a59721ab40aa9f9
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-meh/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Message announced to the user when tab tray is selected with 1 tab -->
+    <string name="mozac_tab_counter_open_tab_tray_single">1 pestaña nune. Ke\'i sa sama pestaña.</string>
+    <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+    <string name="mozac_tab_counter_open_tab_tray_plural">%1$s pestaña nune. Ke\'i sa sama pestaña.</string>
+    <!-- Browser menu button that creates a new tab -->
+    <string name="mozac_browser_menu_new_tab">Sukua jíía</string>
+    <!-- Browser menu button that creates a private tab -->
+    <string name="mozac_browser_menu_new_private_tab">Pestaña yu´u jíía</string>
+    <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+    <string name="mozac_close_tab">Nakasɨ pestaña</string>
+    <!-- Menu option to duplicate the current tab -->
+    <string name="mozac_ui_tabcounter_duplicate_tab">Inka pestaña ya\'a</string>
+    <!-- Content description of the tab counter toolbar button -->
+    <string name="mozac_tab_counter_content_description">El botón contador de pestañas de la barra daa ka̱a̱.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/widgets/src/main/res/values-meh/strings.xml b/mobile/android/android-components/components/ui/widgets/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1060a76a3ac6bfbd9fc9ce5bf4205933214b80a6
--- /dev/null
+++ b/mobile/android/android-components/components/ui/widgets/src/main/res/values-meh/strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Text for confirmation "snackbar" shown after copying an image to the clipboard. -->
+    <string name="snackbar_copy_image_to_clipboard_confirmation">Tutu nátava copiada al portapapeles</string>
+</resources>
diff --git a/mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt b/mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt
index f8adb706325d5f69a64209fca945b5195ffffb8d..9baa1858beb62967722fe4c6ed2e0ebcdc42e0b9 100644
--- a/mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt
+++ b/mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt
@@ -3,7 +3,7 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 // These lines are generated by android-components/automation/application-services-nightly-bump.py
-val VERSION = "128.0"
+val VERSION = "128.0.1"
 val CHANNEL = ApplicationServicesChannel.RELEASE
 
 object ApplicationServicesConfig {
diff --git a/mobile/android/android-components/plugins/dependencies/src/main/java/DependenciesPlugin.kt b/mobile/android/android-components/plugins/dependencies/src/main/java/DependenciesPlugin.kt
index 09fa96046cb5572a84e2e34b045998d77c61cacd..23b8144d1fa618ab92cd2da745d359909c556543 100644
--- a/mobile/android/android-components/plugins/dependencies/src/main/java/DependenciesPlugin.kt
+++ b/mobile/android/android-components/plugins/dependencies/src/main/java/DependenciesPlugin.kt
@@ -93,7 +93,10 @@ object Versions {
         const val messaging = "24.0.0"
     }
 
-    const val play_services = "18.4.0"
+    object Google {
+        const val play_review = "2.0.1"
+        const val play_services = "18.4.0"
+    }
 }
 
 // Synchronized dependencies used by (some) modules
@@ -218,5 +221,7 @@ object ComponentsDependencies {
 
     const val firebase_messaging = "com.google.firebase:firebase-messaging:${Versions.Firebase.messaging}"
 
-    const val play_services_base = "com.google.android.gms:play-services-base:${Versions.play_services}"
+    const val play_review = "com.google.android.play:review:${Versions.Google.play_review}"
+    const val play_review_ktx = "com.google.android.play:review-ktx:${Versions.Google.play_review}"
+    const val play_services_base = "com.google.android.gms:play-services-base:${Versions.Google.play_services}"
 }
diff --git a/mobile/android/fenix/app/build.gradle b/mobile/android/fenix/app/build.gradle
index 4e0f56d9486dd7b66b5734596337a75780503054..fec76b60ec966acd204bc090bac8bd3d6a5dc23e 100644
--- a/mobile/android/fenix/app/build.gradle
+++ b/mobile/android/fenix/app/build.gradle
@@ -693,8 +693,8 @@ dependencies {
     implementation FenixDependencies.google_ads_id // Required for the Google Advertising ID
 
     // Required for in-app reviews
-    implementation FenixDependencies.google_play_review
-    implementation FenixDependencies.google_play_review_ktx
+    implementation ComponentsDependencies.play_review
+    implementation ComponentsDependencies.play_review_ktx
 
     implementation FenixDependencies.androidx_profileinstaller
 
diff --git a/mobile/android/fenix/app/metrics.yaml b/mobile/android/fenix/app/metrics.yaml
index 9aa282650f99b1573ad74c9e5edadac41a452a58..c7f1ac46cf79f58e19a2ef3f4f38c04651edd1f4 100644
--- a/mobile/android/fenix/app/metrics.yaml
+++ b/mobile/android/fenix/app/metrics.yaml
@@ -212,6 +212,7 @@ events:
     expires: never
   marketing_notification_allowed:
     type: boolean
+    lifetime: application
     description: |
       True if marketing notifications are allowed, otherwise false.
     bugs:
@@ -2708,6 +2709,7 @@ metrics:
         - Wallpapers
   notifications_allowed:
     type: boolean
+    lifetime: application
     description: |
       True if notifications are allowed, otherwise false.
     send_in_pings:
@@ -2791,6 +2793,7 @@ metrics:
 customize_home:
   most_visited_sites:
     type: boolean
+    lifetime: application
     description: |
       An indication of whether the most visited sites
       are enabled to be displayed
@@ -2810,6 +2813,7 @@ customize_home:
     expires: never
   jump_back_in:
     type: boolean
+    lifetime: application
     description: |
       An indication of whether the Jump back
       in section is enabled to be displayed
@@ -2829,6 +2833,7 @@ customize_home:
     expires: never
   bookmarks:
     type: boolean
+    lifetime: application
     description: |
       An indication of whether the recently
       saved section is enabled to be displayed. This was previously customize_home.recently_saved.
@@ -2848,6 +2853,7 @@ customize_home:
     expires: never
   recently_visited:
     type: boolean
+    lifetime: application
     description: |
       An indication of whether the Recently
       visited section is enabled to be displayed
@@ -2867,6 +2873,7 @@ customize_home:
     expires: never
   pocket:
     type: boolean
+    lifetime: application
     description: |
       An indication of whether Pocket is enabled to be displayed
     send_in_pings:
@@ -2888,6 +2895,7 @@ customize_home:
         - PocketIntegration
   sponsored_pocket:
     type: boolean
+    lifetime: application
     description: |
       An indication of whether Pocket sponsored stories are enabled
       to be displayed
@@ -2909,6 +2917,7 @@ customize_home:
         - PocketIntegration
   contile:
     type: boolean
+    lifetime: application
     description: |
       An indication of whether Contile is enabled to be displayed
     send_in_pings:
@@ -2956,6 +2965,7 @@ customize_home:
     expires: never
   opening_screen:
     type: string
+    lifetime: application
     description: |
       What opening screen preference the user has selected
       under "Customize Home".
@@ -2976,6 +2986,7 @@ customize_home:
 preferences:
   studies_enabled:
     type: boolean
+    lifetime: application
     description: >
       A metric indicating whether or not the user has studies enabled
       default: true
@@ -3009,6 +3020,7 @@ preferences:
     expires: never
   search_suggestions_enabled:
     type: boolean
+    lifetime: application
     description: |
       Whether or not the user has search suggestions enabled
       default: true
@@ -3033,6 +3045,7 @@ preferences:
         - Settings
   remote_debugging_enabled:
     type: boolean
+    lifetime: application
     description: |
       Whether or not the user has remote debugging enabled
       default: false
@@ -3058,6 +3071,7 @@ preferences:
         - Settings
   telemetry_enabled:
     type: boolean
+    lifetime: application
     description: |
       Whether or not the user has telemetry enabled. Note we should
       never receive a "false" value for this since telemetry would
@@ -3084,6 +3098,7 @@ preferences:
         - Settings
   enhanced_tracking_protection:
     type: string
+    lifetime: application
     description: |
       What type of enhanced tracking protection the user has enabled.
       "standard," "strict," "custom," or "" (if disabled)
@@ -3111,6 +3126,7 @@ preferences:
         - Settings
   etp_custom_cookies_selection:
     type: string
+    lifetime: application
     description: |
       The option user has selected in the "Custom" mode of the
       Enhanced Tracking Protection settings.
@@ -3138,6 +3154,7 @@ preferences:
         - Settings
   bookmarks_suggestion:
     type: boolean
+    lifetime: application
     description: |
       Whether or not the user has enabled bookmark search suggestions
       default: true
@@ -3163,6 +3180,7 @@ preferences:
         - Settings
   browsing_history_suggestion:
     type: boolean
+    lifetime: application
     description: |
       Whether or not the user has enabled browsing history suggestions.
       default: true
@@ -3188,6 +3206,7 @@ preferences:
         - Settings
   clipboard_suggestions_enabled:
     type: boolean
+    lifetime: application
     description: |
       Whether or not the user has enabled clipboard search suggestions.
       default: true
@@ -3213,6 +3232,7 @@ preferences:
         - Settings
   search_shortcuts_enabled:
     type: boolean
+    lifetime: application
     description: |
       Whether or not the user has enabled search shortcuts.
       default: true
@@ -3237,6 +3257,7 @@ preferences:
         - Settings
   signed_in_sync:
     type: boolean
+    lifetime: application
     description: |
       Whether or not the user is signed into FxA
       default: false
@@ -3263,6 +3284,7 @@ preferences:
         - Settings
   sync_items:
     type: string_list
+    lifetime: application
     description: |
       The list of items the user has chosen to sync with FxA.
       default: "" if the user is signed out. Otherwise defaults to
@@ -3290,6 +3312,7 @@ preferences:
         - Settings
   voice_search_enabled:
     type: boolean
+    lifetime: application
     description: |
       Whether or not the user has enabled the voice search button.
       default: true
@@ -3317,6 +3340,7 @@ preferences:
         - Settings
   toolbar_position_setting:
     type: string
+    lifetime: application
     description: |
       The position of the toolbar
       default: bottom (defaults to top if the user has accessibility services)
@@ -3341,6 +3365,7 @@ preferences:
         - Settings
   accessibility_services:
     type: string_list
+    lifetime: application
     description: |
       Whether or not the user has touch exploration or switch services enabled.
       These are built into the Android OS, not Fenix prefs.
@@ -3365,6 +3390,7 @@ preferences:
         - Settings
   open_links_in_app_enabled:
     type: string
+    lifetime: application
     description: |
       The user has the open links in apps feature enabled.
       "ask_before_opening", "always" or "never".
@@ -3385,6 +3411,7 @@ preferences:
         - Settings
   user_theme:
     type: string
+    lifetime: application
     description: |
       The theme the user has enabled. "light," "dark," "system," or "battery"
       default: "system" for API 28+, else "light"
@@ -3409,6 +3436,7 @@ preferences:
         - Settings
   inactive_tabs_enabled:
     type: boolean
+    lifetime: application
     description: |
       Whether or not the user has the inactive tabs feature enabled.
       default: true
@@ -6681,6 +6709,7 @@ logins:
         - Logins
   saved_all:
     type: quantity
+    lifetime: application
     description: |
       Counter of number of passwords currently saved by user.
     bugs:
@@ -7065,11 +7094,11 @@ top_sites:
     expires: never
   context_id:
     type: uuid
+    lifetime: application
     description: |
       A UUID that is unjoinable with other browser metrics. This ID will not be
       shared with AdM, only for internal uses. This ID is shared across all
       contextual services features.
-    lifetime: application
     send_in_pings:
       - topsites-impression
     bugs:
@@ -7626,6 +7655,7 @@ first_session:
         - Attribution
   distribution_id:
     type: string
+    lifetime: application
     description: |
       A string containing the distribution identifier. This is currently used
       to identify installs from Mozilla Online.
@@ -8086,6 +8116,7 @@ addons:
         - WebExtensions
   has_installed_addons:
     type: boolean
+    lifetime: application
     description: |
       Whether or not the user has installed add-ons on the device.
     send_in_pings:
@@ -8109,6 +8140,7 @@ addons:
         - WebExtensions
   has_enabled_addons:
     type: boolean
+    lifetime: application
     description: |
       Whether or not the user has enabled add-ons on the device.
     send_in_pings:
@@ -9465,6 +9497,7 @@ awesomebar:
 android_autofill:
   supported:
     type: boolean
+    lifetime: application
     description: |
       Whether or not Android Autofill is supported by the device and is
       supported for this user.
@@ -9482,6 +9515,7 @@ android_autofill:
     expires: never
   enabled:
     type: boolean
+    lifetime: application
     description: |
       Whether or not Firefox is the Android Autofill provider for this user.
       provider.
@@ -9992,6 +10026,7 @@ recent_searches:
 credit_cards:
   saved:
     type: counter
+    lifetime: application
     description: |
       A counter of the number of credit cards that have been saved
       manually by the user.
@@ -11343,6 +11378,7 @@ shopping:
 shopping.settings:
   component_opted_out:
     type: boolean
+    lifetime: application
     description: |
       Whether or not the user opted out of review quality check feature.
     send_in_pings:
@@ -11362,6 +11398,7 @@ shopping.settings:
         - Shopping
   nimbus_disabled_shopping:
     type: boolean
+    lifetime: application
     description: |
       Whether or not Nimbus has disabled the use of the shopping component.
     send_in_pings:
@@ -11381,6 +11418,7 @@ shopping.settings:
         - Shopping
   user_has_onboarded:
     type: boolean
+    lifetime: application
     description: |
       Whether or the user has completed the review quality check onboarding.
     send_in_pings:
@@ -11400,6 +11438,7 @@ shopping.settings:
         - Shopping
   disabled_ads:
     type: boolean
+    lifetime: application
     description: |
       Indicates if the user has disabled ads.
     send_in_pings:
diff --git a/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/SitePermissionsTest.kt b/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/SitePermissionsTest.kt
index 629d98f0f33132dd56dfc67f2658ed3dedfd9e1f..5d4adb538c9a3a4c6cec75f86832c7de5a826e99 100644
--- a/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/SitePermissionsTest.kt
+++ b/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/SitePermissionsTest.kt
@@ -12,6 +12,7 @@ import android.os.Build
 import androidx.core.net.toUri
 import androidx.test.rule.GrantPermissionRule
 import org.junit.Assume.assumeTrue
+import org.junit.Ignore
 import org.junit.Rule
 import org.junit.Test
 import org.mozilla.fenix.customannotations.SmokeTest
@@ -32,6 +33,7 @@ import org.mozilla.fenix.ui.robots.navigationToolbar
  *  Tests for verifying site permissions prompts & functionality
  *
  */
+@Ignore("https://bugzilla.mozilla.org/show_bug.cgi?id=1903828")
 class SitePermissionsTest : TestSetup() {
     /* Test page created and handled by the Mozilla mobile test-eng team */
     private val testPage = "https://mozilla-mobile.github.io/testapp/permissions"
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
index 5b4706fc41675c03cc592cf163c997513f8fe0c9..05451d7a9c80e085b945e129ab28e8627f599c53 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
@@ -380,15 +380,11 @@ open class FenixApplication : LocaleAwareApplication(), Provider {
                         // new search suggestions. The worker requires us to have called
                         // `GlobalFxSuggestDependencyProvider.initialize`, which we did before
                         // scheduling these tasks. When disabled we stop the periodic work.
-
-                        // Disable periodic ingestion until we figure out
-                        // https://bugzilla.mozilla.org/show_bug.cgi?id=1900837
-                        //
-                        // Note: we will still ingest once for a fresh DB because of
-                        // the `runStartupIngestion()` call below.  This should be okay, the
-                        // performance issues only happen when reingesting after a successful
-                        // initial ingestion.
-                        components.fxSuggest.ingestionScheduler.stopPeriodicIngestion()
+                        if (settings().enableFxSuggest) {
+                            components.fxSuggest.ingestionScheduler.startPeriodicIngestion()
+                        } else {
+                            components.fxSuggest.ingestionScheduler.stopPeriodicIngestion()
+                        }
                     }
                     components.core.fileUploadsDirCleaner.cleanUploadsDirectory()
                 }
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
index 2d75c0306ad244de9d09b7d6c4cb88388e9d539c..c0240be6a5ea5e4104e8e84ecee7608fc873be23 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
@@ -5,6 +5,7 @@
 package org.mozilla.fenix.settings
 
 import android.os.Bundle
+import androidx.core.content.edit
 import androidx.lifecycle.lifecycleScope
 import androidx.navigation.fragment.findNavController
 import androidx.preference.EditTextPreference
@@ -15,6 +16,7 @@ import kotlinx.coroutines.flow.first
 import kotlinx.coroutines.launch
 import org.mozilla.fenix.BuildConfig
 import org.mozilla.fenix.Config
+import org.mozilla.fenix.FeatureFlags
 import org.mozilla.fenix.R
 import org.mozilla.fenix.debugsettings.data.DefaultDebugSettingsRepository
 import org.mozilla.fenix.ext.components
@@ -30,6 +32,7 @@ class SecretSettingsFragment : PreferenceFragmentCompat() {
         showToolbar(getString(R.string.preferences_debug_settings))
     }
 
+    @Suppress("LongMethod")
     override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
         val debugSettingsRepository = DefaultDebugSettingsRepository(
             context = requireContext(),
@@ -80,6 +83,27 @@ class SecretSettingsFragment : PreferenceFragmentCompat() {
             onPreferenceChangeListener = SharedPreferenceUpdater()
         }
 
+        requirePreference<SwitchPreference>(R.string.pref_key_enable_fxsuggest).apply {
+            isVisible = FeatureFlags.fxSuggest
+            isChecked = context.settings().enableFxSuggest
+            onPreferenceChangeListener = object : Preference.OnPreferenceChangeListener {
+                override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
+                    val newBooleanValue = newValue as? Boolean ?: return false
+                    val ingestionScheduler =
+                        requireContext().components.fxSuggest.ingestionScheduler
+                    if (newBooleanValue) {
+                        ingestionScheduler.startPeriodicIngestion()
+                    } else {
+                        ingestionScheduler.stopPeriodicIngestion()
+                    }
+                    requireContext().settings().preferences.edit {
+                        putBoolean(preference.key, newBooleanValue)
+                    }
+                    return true
+                }
+            }
+        }
+
         requirePreference<SwitchPreference>(R.string.pref_key_should_enable_felt_privacy).apply {
             isVisible = true
             isChecked = context.settings().feltPrivateBrowsingEnabled
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/TranslationSettingsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/TranslationSettingsFragment.kt
index b00a258296f4358d1abe3e10ce85a9cb34a61bd2..1a02f82498a6bfb668804e56b161b902c7731480 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/TranslationSettingsFragment.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/TranslationSettingsFragment.kt
@@ -108,7 +108,7 @@ class TranslationSettingsFragment : Fragment(), UserInteractionHandler {
                     isEnabled = true,
                     onStateChange = { _, checked ->
                         browserStore.dispatch(
-                            TranslationsAction.SetGlobalOfferTranslateSettingAction(
+                            TranslationsAction.UpdateGlobalOfferTranslateSettingAction(
                                 offerTranslation = checked,
                             ),
                         )
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/TranslationsDialogMiddleware.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/TranslationsDialogMiddleware.kt
index cb6ac2c62d417d7fb602addad170dd5f51129ce1..72db7ad157d68af1f6fc5ca7568ea1634b6bcd5e 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/TranslationsDialogMiddleware.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/TranslationsDialogMiddleware.kt
@@ -99,7 +99,7 @@ class TranslationsDialogMiddleware(
                     is TranslationPageSettingsOption.AlwaysOfferPopup -> {
                         // Ensures the translations engine has the correct value
                         browserStore.dispatch(
-                            TranslationsAction.SetGlobalOfferTranslateSettingAction(
+                            TranslationsAction.UpdateGlobalOfferTranslateSettingAction(
                                 offerTranslation = action.checkValue,
                             ),
                         )
diff --git a/mobile/android/fenix/app/src/main/res/raw/initial_experiments.json b/mobile/android/fenix/app/src/main/res/raw/initial_experiments.json
index d67e48ce88587ec8c1740ebf2a6e6cb41bc25316..abe74b17ed50ccbe42d10459d20b04c6994790f7 100644
--- a/mobile/android/fenix/app/src/main/res/raw/initial_experiments.json
+++ b/mobile/android/fenix/app/src/main/res/raw/initial_experiments.json
@@ -56,119 +56,6 @@
       "localizations": null,
       "locales": null,
       "publishedDate": null
-    },
-    {
-      "schemaVersion": "1.12.0",
-      "slug": "android-onboarding-remove-sync-card",
-      "id": "android-onboarding-remove-sync-card",
-      "arguments": {},
-      "application": "org.mozilla.firefox",
-      "appName": "fenix",
-      "appId": "org.mozilla.firefox",
-      "channel": "release",
-      "userFacingName": "Android Onboarding - Remove Sync Card",
-      "userFacingDescription": "Mobile Onboarding experiment",
-      "isEnrollmentPaused": true,
-      "isRollout": false,
-      "bucketConfig": {
-        "randomizationUnit": "nimbus_id",
-        "namespace": "fenix-juno-onboarding-release-7",
-        "start": 0,
-        "count": 10000,
-        "total": 10000
-      },
-      "featureIds": [
-        "juno-onboarding"
-      ],
-      "probeSets": [],
-      "outcomes": [
-        {
-          "slug": "onboarding",
-          "priority": "primary"
-        },
-        {
-          "slug": "default-browser",
-          "priority": "secondary"
-        }
-      ],
-      "branches": [
-        {
-          "slug": "control",
-          "ratio": 1,
-          "feature": {
-            "featureId": "this-is-included-for-mobile-pre-96-support",
-            "enabled": false,
-            "value": {}
-          },
-          "features": [
-            {
-              "featureId": "juno-onboarding",
-              "enabled": true,
-              "value": {
-                "cards": {}
-              }
-            }
-          ]
-        },
-        {
-          "slug": "treatment-a",
-          "ratio": 1,
-          "feature": {
-            "featureId": "this-is-included-for-mobile-pre-96-support",
-            "enabled": false,
-            "value": {}
-          },
-          "features": [
-            {
-              "featureId": "juno-onboarding",
-              "enabled": true,
-              "value": {
-                "cards": {
-                  "sync-sign-in": {
-                    "enabled": false
-                  }
-                }
-              }
-            }
-          ]
-        },
-        {
-          "slug": "treatment-b",
-          "ratio": 1,
-          "feature": {
-            "featureId": "this-is-included-for-mobile-pre-96-support",
-            "enabled": false,
-            "value": {}
-          },
-          "features": [
-            {
-              "featureId": "juno-onboarding",
-              "enabled": true,
-              "value": {
-                "cards": {
-                  "notification-permission": {
-                    "ordering": 40
-                  },
-                  "sync-sign-in": {
-                    "ordering": 50
-                  }
-                }
-              }
-            }
-          ]
-        }
-      ],
-      "targeting": "((is_already_enrolled) || ((isFirstRun == 'true') && (app_version|versionCompare('126.!') >= 0) && (language in ['en'])))",
-      "startDate": "2024-04-30",
-      "enrollmentEndDate": "2024-05-30",
-      "endDate": null,
-      "proposedDuration": 42,
-      "proposedEnrollment": 14,
-      "referenceBranch": "control",
-      "featureValidationOptOut": false,
-      "localizations": null,
-      "locales": null,
-      "publishedDate": "2024-04-30T20:18:06.070479Z"
     }
   ]
 }
diff --git a/mobile/android/fenix/app/src/main/res/values-am/strings.xml b/mobile/android/fenix/app/src/main/res/values-am/strings.xml
index 040280302390ea28148cd41eaab64f3cfd709e79..8e0bef518f501ec2f3b5c4f39c60cb6aade54c04 100644
--- a/mobile/android/fenix/app/src/main/res/values-am/strings.xml
+++ b/mobile/android/fenix/app/src/main/res/values-am/strings.xml
@@ -47,11 +47,19 @@
 
     <!-- Home - Recently saved bookmarks -->
     <!-- Title for the home screen section with recently saved bookmarks. -->
-    <string name="recently_saved_title">በቅርቡ የተቀመጠ</string>
+    <string name="recently_saved_title" moz:removedIn="127" tools:ignore="UnusedResources">በቅርቡ የተቀመጠ</string>
     <!-- Content description for the button which navigates the user to show all of their saved bookmarks. -->
-    <string name="recently_saved_show_all_content_description_2">ሁሉንም የተቀመጡ እልባቶችን አሳይ</string>
+    <string name="recently_saved_show_all_content_description_2" moz:removedIn="127" tools:ignore="UnusedResources">ሁሉንም የተቀመጡ እልባቶችን አሳይ</string>
     <!-- Text for the menu button to remove a recently saved bookmark from the user's home screen -->
-    <string name="recently_saved_menu_item_remove">አስወግድ</string>
+    <string name="recently_saved_menu_item_remove" moz:removedIn="127" tools:ignore="UnusedResources">አስወግድ</string>
+
+    <!-- Home - Bookmarks -->
+    <!-- Title for the home screen section with bookmarks. -->
+    <string name="home_bookmarks_title">እልባቶች</string>
+    <!-- Content description for the button which navigates the user to show all of their bookmarks. -->
+    <string name="home_bookmarks_show_all_content_description">ሁሉንም እልባቶች አሳይ</string>
+    <!-- Text for the menu button to remove a recently saved bookmark from the user's home screen -->
+    <string name="home_bookmarks_menu_item_remove">አስወግድ</string>
 
     <!-- About content. The first parameter is the name of the application. (For example: Fenix) -->
     <string name="about_content">%1$s የሚመረተው በሞዚላ ነው።</string>
@@ -142,8 +150,6 @@
 
     <!-- Shortcut action to open Passwords screen -->
     <string name="home_screen_shortcut_passwords">የይለፍ ቃሎች</string>
-    <!-- Shortcut action to open Passwords screen -->
-    <string name="home_screen_shortcut_open_password_screen" moz:removedIn="126" tools:ignore="UnusedResources">የይለፍ ቃላት አቋራጭ</string>
 
     <!-- Recent Tabs -->
     <!-- Header text for jumping back into the recent tab in the home screen -->
@@ -181,14 +187,14 @@
     <string name="browser_menu_refresh">አድስ</string>
     <!-- Content description (not visible, for screen readers etc.): Stop loading current website -->
     <string name="browser_menu_stop">አቁም</string>
-    <!-- Browser menu button that opens the addon manager -->
-    <string name="browser_menu_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">ተጨማሪዎች</string>
     <!-- Browser menu button that opens the extensions manager -->
     <string name="browser_menu_extensions">ቅጥያዎች</string>
+    <!-- Browser menu button that opens the extensions manager -->
+    <string name="browser_menu_manage_extensions">ቅጥያዎችን ያስተዳድሩ</string>
+    <!-- Browser menu button that opens AMO in a tab -->
+    <string name="browser_menu_discover_more_extensions">ተጨማሪ ቅጥያዎችን ያግኙ</string>
     <!-- Browser menu button that opens account settings -->
     <string name="browser_menu_account_settings">የመለያ መረጃ</string>
-    <!-- Text displayed when there are no add-ons to be shown -->
-    <string name="no_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">እዚህ ምንም ተጨማሪዎች የሉም</string>
     <!-- Browser menu button that sends a user to help articles -->
     <string name="browser_menu_help">እገዛ</string>
     <!-- Browser menu button that sends a to a the what's new article -->
@@ -205,20 +211,26 @@
     <string name="browser_menu_open_in_regular_tab">በመደበኛ ትር ውስጥ ይክፈቱ</string>
     <!-- Browser menu toggle that adds a shortcut to the site on the device home screen. -->
     <string name="browser_menu_add_to_homescreen">ወደ መነሻ ማያ ገጽ ጨምር</string>
-    <!-- Browser menu toggle that installs a Progressive Web App shortcut to the site on the device home screen. -->
-    <string name="browser_menu_install_on_homescreen" moz:removedIn="126" tools:ignore="UnusedResources">ጫን</string>
+    <!-- Browser menu toggle that adds a shortcut to the site on the device home screen. -->
+    <string name="browser_menu_add_to_homescreen_2">ወደ መነሻ ማያ ገጽ አክል…</string>
     <!-- Content description (not visible, for screen readers etc.) for the Resync tabs button -->
     <string name="resync_button_content_description">ዳግም አስምር</string>
     <!-- Browser menu button that opens the find in page menu -->
     <string name="browser_menu_find_in_page">በገጽ ውስጥ ያግኙ</string>
+    <!-- Browser menu button that opens the find in page menu -->
+    <string name="browser_menu_find_in_page_2">በገጽ ውስጥ ያግኙ…</string>
     <!-- Browser menu button that opens the translations dialog, which has options to translate the current browser page. -->
     <string name="browser_menu_translations">ገጽ ተርጉም</string>
     <!-- Browser menu button that saves the current tab to a collection -->
+    <string name="browser_menu_save_to_collection">ወደ ስብስብ አስቀምጥ…</string>
+    <!-- Browser menu button that saves the current tab to a collection -->
     <string name="browser_menu_save_to_collection_2">ወደ ስብስብ አስቀምጥ</string>
     <!-- Browser menu button that open a share menu to share the current site -->
     <string name="browser_menu_share">አጋራ</string>
 
 
+    <!-- Browser menu button that open a share menu to share the current site -->
+    <string name="browser_menu_share_2">ያጋሩ…</string>
     <!-- Browser menu button shown in custom tabs that opens the current tab in Fenix
         The first parameter is the name of the app defined in app_name (for example: Fenix) -->
     <string name="browser_menu_open_in_fenix">በ %1$s ክፈት</string>
@@ -257,6 +269,12 @@
     <!-- Browser menu label that navigates to the Password screen -->
     <string name="browser_menu_passwords">የይለፍ ቃሎች</string>
 
+    <!-- Browser menu label that navigates to the page tools sub-menu -->
+    <string name="browser_menu_tools">መሳሪያዎች</string>
+    <!-- Browser menu label that navigates to the save sub-menu, which contains various save related menu items such as
+         bookmarking a page, saving to collection, shortcut or as a PDF, and adding to home screen -->
+    <string name="browser_menu_save">አስቀምጥ</string>
+
     <!-- Extensions management fragment -->
     <!-- Text displayed when there are no extensions to be shown -->
     <string name="extensions_management_no_extensions">እዚህ ምንም ቅጥያዎች የሉም</string>
@@ -351,8 +369,6 @@
     <!-- Juno first user onboarding flow experiment, strings are marked unused as they are only referenced by Nimbus experiments. -->
     <!-- Description for learning more about our privacy notice. -->
     <string name="juno_onboarding_privacy_notice_text">የFirefox ግላዊነት ማስታወቂያ</string>
-    <!-- Description for learning more about our privacy notice. -->
-    <string name="juno_onboarding_privacy_notice_text_2" moz:removedIn="125" tools:ignore="UnusedResources">በእኛ የግላዊነት ማስታወቂያ ውስጥ የበለጠ ይረዱ</string>
     <!-- Title for set firefox as default browser screen used by Nimbus experiments. -->
     <string name="juno_onboarding_default_browser_title_nimbus_2">ደህንነትዎን መጠበቅ እንወዳለን</string>
     <!-- Title for set firefox as default browser screen used by Nimbus experiments.
@@ -544,7 +560,7 @@
     <!-- Preference category for account information -->
     <string name="preferences_category_account">መለያ</string>
     <!-- Preference for changing where the toolbar is positioned -->
-    <string name="preferences_toolbar">የመሳሪያ አሞሌ</string>
+    <string name="preferences_toolbar" moz:removedIn="129" tools:ignore="UnusedResources">የመሳሪያ አሞሌ</string>
     <!-- Preference for changing default theme to dark or light mode -->
     <string name="preferences_theme">ገጽታ</string>
     <!-- Preference for customizing the home screen -->
@@ -612,12 +628,8 @@
     <!-- Message to indicate users that we are quitting the application to apply the changes -->
     <string name="quit_application">ለውጦችን ለመተግበር መተግበሪያውን በማቆም ላይ…</string>
 
-    <!-- Preference for add_ons -->
-    <string name="preferences_addons" moz:removedIn="126" tools:ignore="UnusedResources">ተጨማሪዎች</string>
     <!-- Preference for extensions -->
     <string name="preferences_extensions">ቅጥያዎች</string>
-    <!-- Preference for installing a local add-on -->
-    <string name="preferences_install_local_addon" moz:removedIn="126" tools:ignore="UnusedResources">ተጨማሪውን ከፋይል ጫን</string>
     <!-- Preference for installing a local extension -->
     <string name="preferences_install_local_extension">ቅጥያውን ከፋይል ጫን</string>
     <!-- Preference for notifications -->
@@ -632,10 +644,6 @@
     <string name="addons_permissions_heading_required" tools:ignore="UnusedResources">ያስፈልጋል</string>
     <!-- The title of the optional permissions section from addon's permissions screen -->
     <string name="addons_permissions_heading_optional" tools:ignore="UnusedResources">አማራጭ</string>
-    <!-- The title of the section with websites that have permissions granted from addon's permissions screen -->
-    <string name="addons_permissions_heading_read_and_change_website_data" tools:ignore="UnusedResources">የድር ጣቢያ ውሂብ ያንብቡ እና ይቀይሩ</string>
-    <!-- The description of the icon that can delete one of the websites displayed  -->
-    <string name="addons_permissions_icon_description_delete_website" tools:ignore="UnusedResources">ድር ጣቢያ ሰርዝ</string>
     <!-- The title of the origin permission option allowing a user to enable the extension to run on all sites -->
     <string name="addons_permissions_allow_for_all_sites" tools:ignore="UnusedResources">ለሁሉም ጣቢያዎች ፍቀድ</string>
     <!-- The subtitle for the allow for all sites preference toggle -->
@@ -643,8 +651,6 @@
 
     <!-- Add-on Preferences -->
     <!-- Preference to customize the configured AMO (addons.mozilla.org) collection -->
-    <string name="preferences_customize_amo_collection" moz:removedIn="126" tools:ignore="UnusedResources">ብጁ ተጨማሪ ስብስብ</string>
-    <!-- Preference to customize the configured AMO (addons.mozilla.org) collection -->
     <string name="preferences_customize_extension_collection">ብጁ የቅጥያ ስብስብ</string>
     <!-- Button caption to confirm the add-on collection configuration -->
     <string name="customize_addon_collection_ok">እሺ</string>
@@ -655,9 +661,6 @@
     <!-- Hint displayed on input field for custom collection user ID-->
     <string name="customize_addon_collection_user_hint">የስብስብ ባለቤት (የተጠቃሚ መታወቂያ)</string>
 
-    <!-- Toast shown after confirming the custom add-on collection configuration -->
-    <string name="toast_customize_addon_collection_done" moz:removedIn="126" tools:ignore="UnusedResources">የተጨማሪ ስብስብ ተለውጧል። ለውጦችን ለማካተት መተግበሪያውን በማቆም ላይ…</string>
-
     <!-- Toast shown after confirming the custom extension collection configuration -->
     <string name="toast_customize_extension_collection_done">የቅጥያ ስብስብ ተስተካክሏል። ለውጦችን ለመተግበር መተግበሪያውን በማቆም ላይ…</string>
 
@@ -665,7 +668,7 @@
     <!-- Header text for jumping back into the recent tab in customize the home screen -->
     <string name="customize_toggle_jump_back_in">መልሰው ይዝለሉ</string>
     <!-- Title for the customize home screen section with recently saved bookmarks. -->
-    <string name="customize_toggle_recent_bookmarks">የቅርብ ጊዜ እልባቶች</string>
+    <string name="customize_toggle_recent_bookmarks" moz:removedIn="127" tools:ignore="UnusedResources">የቅርብ ጊዜ እልባቶች</string>
     <!-- Title for the customize home screen section with recently visited. Recently visited is
     a section where users see a list of tabs that they have visited in the past few days -->
     <string name="customize_toggle_recently_visited">በቅርብ ጊዜ የተጎበኙ</string>
@@ -714,35 +717,23 @@
     <string name="wallpapers_onboarding_dialog_explore_more_button_text">ተጨማሪ ልጣፎችን ያስሱ</string>
 
     <!-- Add-ons general availability nimbus message-->
-    <!-- Title of the Nimbus message for add-ons general availability-->
-    <string name="addon_ga_message_title" moz:removedIn="126" tools:ignore="UnusedResources">አዲስ ተጨማሪዎች አሁን ይገኛሉ</string>
     <!-- Title of the Nimbus message for extension general availability-->
     <string name="addon_ga_message_title_2" tools:ignore="UnusedResources">አዲስ ቅጥያዎች አሁን ይገኛሉ</string>
     <!-- Body of the Nimbus message for add-ons general availability. 'Firefox' intentionally hardcoded here-->
     <string name="addon_ga_message_body" tools:ignore="UnusedResources">Firefoxን የራስዎ ለማድረግ የሚያስችሉዎትን 100+ አዲስ ቅጥያዎችን ይመልከቱ።</string>
-    <!-- Button text of the Nimbus message for add-ons general availability. -->
-    <string name="addon_ga_message_button" moz:removedIn="126" tools:ignore="UnusedResources">ተጨማሪዎችን ያስሱ</string>
 
     <!-- Button text of the Nimbus message for extensions general availability. -->
     <string name="addon_ga_message_button_2" tools:ignore="UnusedResources">ቅጥያዎችን ያስሱ</string>
 
     <!-- Extension process crash dialog to user -->
-    <!-- Title of a dialog shown to the user when enough errors have occurred with addons and they need to be temporarily disabled -->
-    <string name="addon_process_crash_dialog_title" moz:removedIn="126" tools:ignore="UnusedResources">ተጨማሪዎች ለጊዜው ተሰናክለዋል</string>
     <!-- Title of the extension crash dialog shown to the user when enough errors have occurred with extensions and they need to be temporarily disabled -->
     <string name="extension_process_crash_dialog_title">ቅጥያዎች ለጊዜው ተሰናክለዋል</string>
-    <!-- The first parameter is the application name. This is a message shown to the user when too many errors have occurred with the addons process and they have been disabled. The user can decide if they would like to continue trying to start add-ons or if they'd rather continue without them. -->
-    <string name="addon_process_crash_dialog_message" moz:removedIn="126" tools:ignore="UnusedResources">አንድ ወይም ከዚያ በላይ ተጨማሪዎች መስራት አቁመዋል፣ይህም ስርዓትዎ ያልተረጋጋ እንዲሆን አድርጎታል። %1$s ተጨማሪውን እንደገና ለማስጀመር ሞክሯል አልተሳካም።\n\nተጨማሪዎች በአሁኑ ክፍለ ጊዜዎ እንደገና አይጀመሩም።\n\nተጨማሪዎችን ማስወገድ ወይም ማሰናከል ይህንን ችግር ሊፈታው ይችላል።</string>
     <!-- This is a message shown to the user when too many errors have occurred with the extensions process and they have been disabled.
     The user can decide if they would like to continue trying to start extensions or if they'd rather continue without them.
     The first parameter is the application name. -->
     <string name="extension_process_crash_dialog_message">አንድ ወይም ከዚያ በላይ ቅጥያዎች መስራት አቁመዋል፣ ይህም ስርዓትዎ ያልተረጋጋ እንዲሆን አድርጎታል። %1$s ቅጥያውን(ዎችን) እንደገና ለማስጀመር ሞክሮ አልተሳካም። \n\nቅጥያዎች አሁን ባለው ክፍለ ጊዜዎ እንደገና አይጀመሩም። \n\nቅጥያዎችን ማስወገድ ወይም ማሰናከል ይህንን ችግር ሊፈታው ይችላል።</string>
-    <!-- This will cause the add-ons to try restarting but the dialog will reappear if it is unsuccessful again -->
-    <string name="addon_process_crash_dialog_retry_button_text" moz:removedIn="126" tools:ignore="UnusedResources">ተጨማሪዎችን እንደገና ለማስጀመር ይሞክሩ</string>
     <!-- Button text on the extension crash dialog to prompt the user to try restarting the extensions but the dialog will reappear if it is unsuccessful again -->
     <string name="extension_process_crash_dialog_retry_button_text" tools:ignore="UnusedResources">ቅጥያዎችን እንደገና ለማስጀመር ይሞክሩ</string>
-    <!-- The user will continue with all add-ons disabled -->
-    <string name="addon_process_crash_dialog_disable_addons_button_text" moz:removedIn="126" tools:ignore="UnusedResources">ተጨማሪዎችን በማሰናከል ይቀጥሉ</string>
 
     <!-- Button text on the extension crash dialog to prompt the user to continue with all extensions disabled. -->
     <string name="extension_process_crash_dialog_disable_extensions_button_text">ቅጥያዎችን በማሰናከል ይቀጥሉ</string>
@@ -760,8 +751,6 @@
     <string name="preferences_sync_history">ታሪክ</string>
     <!-- Preference for syncing bookmarks -->
     <string name="preferences_sync_bookmarks">እልባቶች</string>
-    <!-- Preference for syncing logins -->
-    <string name="preferences_sync_logins" moz:RemovedIn="125" tools:ignore="UnusedResources">መግቢያዎች</string>
     <!-- Preference for syncing passwords -->
     <string name="preferences_sync_logins_2">የይለፍ ቃሎች</string>
     <!-- Preference for syncing tabs -->
@@ -788,8 +777,6 @@
         The first parameter is the application name, the second is the device manufacturer name
         and the third is the device model. -->
     <string name="default_device_name_2">%1$s በ%2$s %3$s ላይ</string>
-    <!-- Preference for syncing credit cards -->
-    <string name="preferences_sync_credit_cards" moz:RemovedIn="125" tools:ignore="UnusedResources">ክሬዲት ካርዶች</string>
     <!-- Preference for syncing payment methods -->
     <string name="preferences_sync_credit_cards_2">የክፍያ ዘዴዎች</string>
     <!-- Preference for syncing addresses -->
@@ -862,7 +849,7 @@
     <!-- Preference for using the dynamic toolbar -->
     <string name="preference_gestures_dynamic_toolbar">የመሳሪያ አሞሌን ለመደበቅ ያሸብልሉ</string>
     <!-- Preference for switching tabs by swiping horizontally on the toolbar -->
-    <string name="preference_gestures_swipe_toolbar_switch_tabs">ትሮችን ለመቀየር የመሳሪያ አሞሌን ወደ ጎን ያንሸራትቱ</string>
+    <string name="preference_gestures_swipe_toolbar_switch_tabs" moz:removedIn="129" tools:ignore="UnusedResources">ትሮችን ለመቀየር የመሳሪያ አሞሌን ወደ ጎን ያንሸራትቱ</string>
     <!-- Preference for showing the opened tabs by swiping up on the toolbar-->
     <string name="preference_gestures_swipe_toolbar_show_tabs">ትሮችን ለመክፈት የመሳሪያ አሞሌን ወደ ላይ ያንሸራትቱ</string>
 
@@ -1442,10 +1429,6 @@
     <!-- Tab collection deletion prompt dialog message. Placeholder will be replaced with the collection name -->
     <string name="tab_collection_dialog_message">እርግጠኛ ነዎት %1$sን መሰረዝ ይፈልጋሉ?</string>
 
-    <!-- Collection and tab deletion prompt dialog message. This will show when the last tab from a collection is deleted -->
-    <string name="delete_tab_and_collection_dialog_message">ይህን ትር መሰረዝ መላውን ስብስብ ይሰርዛል። በማንኛውም ጊዜ አዳዲስ ስብስቦችን መፍጠር ይችላሉ።</string>
-    <!-- Collection and tab deletion prompt dialog title. Placeholder will be replaced with the collection name. This will show when the last tab from a collection is deleted -->
-    <string name="delete_tab_and_collection_dialog_title">%1$s ይሰረዝ?</string>
     <!-- Tab collection deletion prompt dialog option to delete the collection -->
     <string name="tab_collection_dialog_positive">ሰርዝ</string>
     <!-- Text displayed in a notification when the user enters full screen mode -->
@@ -1720,13 +1703,9 @@
     <!-- Describes the add to homescreen functionality -->
     <string name="add_to_homescreen_description_2">ፈጣን መዳረሻ እንዲኖርዎት እና መተግበሪያ በሚመስል ልምድ በፍጥነት ለማሰስ ይህን ድረ-ገጽ በቀላሉ ወደ መሳሪያዎ መነሻ ማያ ገጽ ማከል ይችላሉ።</string>
 
-    <!-- Preference for managing the settings for logins and passwords in Fenix -->
-    <string name="preferences_passwords_logins_and_passwords" moz:RemovedIn="125" tools:ignore="UnusedResources">መግቢያዎች እና የይለፍ ቃሎች</string>
     <!-- Preference for managing the settings for logins and passwords in Fenix -->
     <string name="preferences_passwords_logins_and_passwords_2">የይለፍ ቃሎች</string>
     <!-- Preference for managing the saving of logins and passwords in Fenix -->
-    <string name="preferences_passwords_save_logins" moz:RemovedIn="125" tools:ignore="UnusedResources">መግቢያዎችን እና የይለፍ ቃሎችን ያስቀምጡ</string>
-    <!-- Preference for managing the saving of logins and passwords in Fenix -->
     <string name="preferences_passwords_save_logins_2">የይለፍ ቃሎችን አስቀምጥ</string>
     <!-- Preference option for asking to save passwords in Fenix -->
     <string name="preferences_passwords_save_logins_ask_to_save">ለማስቀመጥ ይጠይቁ</string>
@@ -1740,47 +1719,29 @@
     <string name="preferences_android_autofill">በሌሎች መተግበሪያዎች ውስጥ በራስ-ሙላ</string>
     <!-- Description for the preference for autofilling logins from Fenix in other apps (e.g. autofilling the Twitter app) -->
     <string name="preferences_android_autofill_description">በመሳሪያዎ ላይ ባሉ ሌሎች መተግበሪያዎች ውስጥ የተጠቃሚ ስሞችን እና የይለፍ ቃላትን ይሙሉ።</string>
-    <!-- Preference option for adding a login -->
-    <string name="preferences_logins_add_login" moz:RemovedIn="125" tools:ignore="UnusedResources">መግቢያ አክል</string>
 
     <!-- Preference option for adding a password -->
     <string name="preferences_logins_add_login_2">የይለፍ ቃል ያክሉ</string>
 
-    <!-- Preference for syncing saved passwords in Fenix -->
-    <string name="preferences_passwords_sync_logins" moz:RemovedIn="125" tools:ignore="UnusedResources">መግቢያዎችን ያመሳስሉ</string>
     <!-- Preference for syncing saved passwords in Fenix -->
     <string name="preferences_passwords_sync_logins_2">የይለፍ ቃሎችን አሰናስል</string>
-    <!-- Preference for syncing saved logins in Fenix, when not signed in-->
-    <string name="preferences_passwords_sync_logins_across_devices" moz:RemovedIn="125" tools:ignore="UnusedResources">በመሳሪያዎች ላይ መግቢያዎችን ያመሳስሉ</string>
     <!-- Preference for syncing saved passwords in Fenix, when not signed in-->
     <string name="preferences_passwords_sync_logins_across_devices_2">የይለፍ ቃሎችን በሁሉም መሳሪያዎች ላይ ያሰናስሉ</string>
-    <!-- Preference to access list of saved logins -->
-    <string name="preferences_passwords_saved_logins" moz:RemovedIn="125" tools:ignore="UnusedResources">የተቀመጡ መግቢያዎች</string>
     <!-- Preference to access list of saved passwords -->
     <string name="preferences_passwords_saved_logins_2">የተቀመጡ የይለፍ ቃላት</string>
     <!-- Description of empty list of saved passwords. Placeholder is replaced with app name.  -->
-    <string name="preferences_passwords_saved_logins_description_empty_text" moz:RemovedIn="125" tools:ignore="UnusedResources">ያስቀመጡት ወይም ከ%s ጋር ያመሳስሏቸው መግቢያዎች እዚህ ይታያሉ።</string>
-    <!-- Description of empty list of saved passwords. Placeholder is replaced with app name.  -->
     <string name="preferences_passwords_saved_logins_description_empty_text_2">ከ%s ጋር ያስቀመጧቸው ወይም ያሰናሰሏቸው የይለፍ ቃሎች እዚህ ይዘረዘራሉ። የሚያስቀምጡት ሁሉም የይለፍ ቃሎች የተመሰጠሩ ናቸው።
 </string>
-    <!-- Preference to access list of saved logins -->
-    <string name="preferences_passwords_saved_logins_description_empty_learn_more_link" moz:RemovedIn="125" tools:ignore="UnusedResources">ስለ ማመሳሰል የበለጠ ይረዱ።</string>
     <!-- Clickable text for opening an external link for more information about Sync. -->
     <string name="preferences_passwords_saved_logins_description_empty_learn_more_link_2">ስለ ማሰናሰል የበለጠ ይረዱ</string>
     <!-- Preference to access list of login exceptions that we never save logins for -->
     <string name="preferences_passwords_exceptions">ልዩ ሁኔታዎች</string>
-    <!-- Empty description of list of login exceptions that we never save logins for -->
-    <string name="preferences_passwords_exceptions_description_empty" moz:RemovedIn="125" tools:ignore="UnusedResources">ያልተቀመጡ መግቢያዎች እና የይለፍ ቃሎች እዚህ ይታያሉ።</string>
     <!-- Empty description of list of login exceptions that we never save passwords for. Parameter will be replaced by app name. -->
     <string name="preferences_passwords_exceptions_description_empty_2">%s እዚህ ለተዘረዘሩት ጣቢያዎች የይለፍ ቃላትን አያስቀምጥም።</string>
-    <!-- Description of list of login exceptions that we never save logins for -->
-    <string name="preferences_passwords_exceptions_description" moz:RemovedIn="125" tools:ignore="UnusedResources">ለእነዚህ ድረ-ገፆች መግቢያዎች እና የይለፍ ቃሎች አይቀመጡም።</string>
     <!-- Description of list of login exceptions that we never save passwords for. Parameter will be replaced by app name. -->
     <string name="preferences_passwords_exceptions_description_2">%s ለእነዚህ ጣቢያዎች የይለፍ ቃላትን አያስቀምጥም።</string>
     <!-- Text on button to remove all saved login exceptions -->
     <string name="preferences_passwords_exceptions_remove_all">ሁሉንም የማይካተቱትን ሰርዝ</string>
-    <!-- Hint for search box in logins list -->
-    <string name="preferences_passwords_saved_logins_search" moz:RemovedIn="125" tools:ignore="UnusedResources">መግቢያዎችን ፈልግ</string>
     <!-- Hint for search box in passwords list -->
     <string name="preferences_passwords_saved_logins_search_2">የይለፍ ቃላትን ፈልግ</string>
     <!-- The header for the site that a login is for -->
@@ -1809,17 +1770,11 @@
     <string name="saved_login_reveal_password">የይለፍ ቃል አሳይ</string>
     <!-- Content Description (for screenreaders etc) read for the button to hide a password in logins -->
     <string name="saved_login_hide_password">የይለፍ ቃል ደብቅ</string>
-    <!-- Message displayed in biometric prompt displayed for authentication before allowing users to view their logins -->
-    <string name="logins_biometric_prompt_message" moz:RemovedIn="125" tools:ignore="UnusedResources">የተቀመጡ መግቢያዎችዎን ለማየት ይክፈቱ</string>
     <!-- Message displayed in biometric prompt displayed for authentication before allowing users to view their passwords -->
     <string name="logins_biometric_prompt_message_2">ያስቀመጧቸውን የይለፍ ቃሎች ለማየት ቁልፉን ይክፈቱ</string>
     <!-- Title of warning dialog if users have no device authentication set up -->
-    <string name="logins_warning_dialog_title" moz:RemovedIn="125" tools:ignore="UnusedResources">የእርስዎን መግቢያዎች እና የይለፍ ቃላት ደህንነት ይጠብቁ</string>
-    <!-- Title of warning dialog if users have no device authentication set up -->
     <string name="logins_warning_dialog_title_2">የተቀመጡ የይለፍ ቃላትዎን ደህንነት ይጠብቁ</string>
     <!-- Message of warning dialog if users have no device authentication set up -->
-    <string name="logins_warning_dialog_message" moz:RemovedIn="125" tools:ignore="UnusedResources">የተቀመጡ መግቢያዎችዎን እና የይለፍ ቃላትዎን ሌላ ሰው የእርስዎን መሣሪያ በመጠቀም እንዳይደረስበት ለመከላከል የመሣሪያ መቆለፊያ ስርዓተ ጥለትን፣ ፒን ወይም የይለፍ ቃል ያዘጋጁ።</string>
-    <!-- Message of warning dialog if users have no device authentication set up -->
     <string name="logins_warning_dialog_message_2">ሌላ ሰው የእርስዎ መሣሪያ ካለው ፤ የተቀመጡ የይለፍ ቃላትዎን እንዳይደረስበት ለመከላከል የመሣሪያ መቆለፊያ ስርዓተ-ጥለት፣ ፒን ወይም የይለፍ ቃል ያዘጋጁ።</string>
     <!-- Negative button to ignore warning dialog if users have no device authentication set up -->
     <string name="logins_warning_dialog_later">በኋላ</string>
@@ -1835,8 +1790,6 @@
     <string name="saved_logins_sort_strategy_alphabetically">ስም (ሀ-ፐ)</string>
     <!-- Saved logins sorting strategy menu item -by last used- (if selected, it will sort saved logins by last used) -->
     <string name="saved_logins_sort_strategy_last_used">ለመጨረሻ ጊዜ ጥቅም ላይ የዋለ</string>
-    <!-- Content description (not visible, for screen readers etc.): Sort saved logins dropdown menu chevron icon -->
-    <string name="saved_logins_menu_dropdown_chevron_icon_content_description" moz:RemovedIn="125" tools:ignore="UnusedResources">የመግቢያ ምናሌን ደርድር</string>
 
     <!-- Content description (not visible, for screen readers etc.) -->
     <string name="saved_logins_menu_dropdown_chevron_icon_content_description_2">የይለፍ ቃላት ምናሌን ደርድር</string>
@@ -1846,16 +1799,10 @@
     <string name="preferences_autofill">ራስ ሙላ</string>
     <!-- Preference and title for managing the settings for addresses -->
     <string name="preferences_addresses">አድራሻዎች</string>
-    <!-- Preference and title for managing the settings for credit cards -->
-    <string name="preferences_credit_cards" moz:RemovedIn="125" tools:ignore="UnusedResources">ክሬዲት ካርዶች</string>
     <!-- Preference and title for managing the settings for payment methods -->
     <string name="preferences_credit_cards_2">የክፍያ ዘዴዎች</string>
     <!-- Preference for saving and autofilling credit cards -->
-    <string name="preferences_credit_cards_save_and_autofill_cards" moz:RemovedIn="125" tools:ignore="UnusedResources">ካርዶችን ያስቀምጡ እና በራስ-ሙላ</string>
-    <!-- Preference for saving and autofilling credit cards -->
     <string name="preferences_credit_cards_save_and_autofill_cards_2">የመክፈያ ዘዴዎችን ያስቀምጡ እና ይሙሉ</string>
-    <!-- Preference summary for saving and autofilling credit card data -->
-    <string name="preferences_credit_cards_save_and_autofill_cards_summary" moz:RemovedIn="125" tools:ignore="UnusedResources">መረጃ የተመሰጠረ ነው</string>
     <!-- Preference summary for saving and autofilling payment method data. Parameter will be replaced by app name. -->
     <string name="preferences_credit_cards_save_and_autofill_cards_summary_2">%s ያስቀመጧቸውን ሁሉንም የመክፈያ ዘዴዎች ያመሰጥራቸዋል</string>
     <!-- Preference option for syncing credit cards across devices. This is displayed when the user is not signed into sync -->
@@ -1863,25 +1810,17 @@
     <!-- Preference option for syncing credit cards across devices. This is displayed when the user is signed into sync -->
     <string name="preferences_credit_cards_sync_cards">ካርዶችን ያመሳስሉ</string>
 
-    <!-- Preference option for adding a credit card -->
-    <string name="preferences_credit_cards_add_credit_card" moz:RemovedIn="125" tools:ignore="UnusedResources">ክሬዲት ካርድ ያክሉ</string>
     <!-- Preference option for adding a card -->
     <string name="preferences_credit_cards_add_credit_card_2">ካርድ ጨምር</string>
-    <!-- Preference option for managing saved credit cards -->
-    <string name="preferences_credit_cards_manage_saved_cards" moz:RemovedIn="125" tools:ignore="UnusedResources">የተቀመጡ ካርዶችን ያስተዳድሩ</string>
     <!-- Preference option for managing saved cards -->
     <string name="preferences_credit_cards_manage_saved_cards_2">ካርዶችን ያስተዳድሩ</string>
     <!-- Preference option for adding an address -->
     <string name="preferences_addresses_add_address">አድራሻ ጨምር</string>
     <!-- Preference option for managing saved addresses -->
     <string name="preferences_addresses_manage_addresses">አድራሻዎችን ያስተዳድሩ</string>
-    <!-- Preference for saving and autofilling addresses -->
-    <string name="preferences_addresses_save_and_autofill_addresses" moz:RemovedIn="125" tools:ignore="UnusedResources">አድራሻዎችን ያስቀምጡ እና በራስ-ሙላ</string>
 
     <!-- Preference for saving and filling addresses -->
     <string name="preferences_addresses_save_and_autofill_addresses_2">አድራሻዎችን ያስቀምጡ እና በራስ-ሰር ይሙሉ</string>
-    <!-- Preference summary for saving and autofilling address data -->
-    <string name="preferences_addresses_save_and_autofill_addresses_summary" moz:RemovedIn="125" tools:ignore="UnusedResources">እንደ ቁጥሮች፣ ኢሜይል እና የመላኪያ አድራሻዎች ያሉ መረጃዎችን ያካትቱ</string>
 
     <!-- Preference summary for saving and filling address data -->
     <string name="preferences_addresses_save_and_autofill_addresses_summary_2">ስልክ ቁጥሮች እና የኢሜይል አድራሻዎችን ያካትታል</string>
@@ -1905,8 +1844,6 @@
     <!-- The text for the "Delete card" button for deleting a credit card -->
     <string name="credit_cards_delete_card_button">ካርድ ሰርዝ</string>
     <!-- The text for the confirmation message of "Delete card" dialog -->
-    <string name="credit_cards_delete_dialog_confirmation" moz:RemovedIn="125" tools:ignore="UnusedResources">እርግጠኛ ነዎት ይህን ክሬዲት ካርድ መሰረዝ ይፈልጋሉ?</string>
-    <!-- The text for the confirmation message of "Delete card" dialog -->
     <string name="credit_cards_delete_dialog_confirmation_2">ካርዱ ይጥፋ?</string>
     <!-- The text for the positive button on "Delete card" dialog -->
     <string name="credit_cards_delete_dialog_button">ሰርዝ</string>
@@ -1918,23 +1855,15 @@
     <string name="credit_cards_cancel_button">ተወው</string>
     <!-- Title of the "Saved cards" screen -->
     <string name="credit_cards_saved_cards">የተቀመጡ ካርዶች</string>
-    <!-- Error message for credit card number validation -->
-    <string name="credit_cards_number_validation_error_message" moz:RemovedIn="125" tools:ignore="UnusedResources">እባክዎ የሚሰራ የክሬዲት ካርድ ቁጥር ያስገቡ</string>
     <!-- Error message for card number validation -->
     <string name="credit_cards_number_validation_error_message_2">የሚሰራ ካርድ ቁጥር ያስገቡ</string>
-    <!-- Error message for credit card name on card validation -->
-    <string name="credit_cards_name_on_card_validation_error_message" moz:RemovedIn="125" tools:ignore="UnusedResources">እባክዎ ይህንን መስክ ይሙሉ</string>
     <!-- Error message for card name on card validation -->
     <string name="credit_cards_name_on_card_validation_error_message_2">ስም ይጨምሩ</string>
     <!-- Message displayed in biometric prompt displayed for authentication before allowing users to view their saved credit cards -->
     <string name="credit_cards_biometric_prompt_message">የተቀመጡ ካርዶችዎን ለማየት ይክፈቱ</string>
     <!-- Title of warning dialog if users have no device authentication set up -->
-    <string name="credit_cards_warning_dialog_title" moz:RemovedIn="125" tools:ignore="UnusedResources">የክሬዲት ካርዶችዎን ደህንነት ይጠብቁ</string>
-    <!-- Title of warning dialog if users have no device authentication set up -->
     <string name="credit_cards_warning_dialog_title_2">የተቀመጡ የመክፈያ ዘዴዎችዎን ደህንነት ይጠብቁ</string>
     <!-- Message of warning dialog if users have no device authentication set up -->
-    <string name="credit_cards_warning_dialog_message" moz:RemovedIn="125" tools:ignore="UnusedResources">የተቀመጡ ክሬዲት ካርዶችዎን ሌላ ሰው የእርስዎን መሣሪያ በመጠቀም እንዳይደረስበት ለመከላከል የመሣሪያ መቆለፊያ ስርዓተ ጥለትን፣ ፒን ወይም የይለፍ ቃል ያዘጋጁ።</string>
-    <!-- Message of warning dialog if users have no device authentication set up -->
     <string name="credit_cards_warning_dialog_message_3">ሌላ ሰው የእርስዎ መሣሪያ ካለው ፤ የተቀመጡ የመክፈያ ዘዴዎችዎን እንዳይደረስበት ለመከላከል የመሣሪያ መቆለፊያ ስርዓተ-ጥለት፣ ፒን ወይም የይለፍ ቃል ያዘጋጁ።</string>
     <!-- Positive button to send users to set up a pin of warning dialog if users have no device authentication set up -->
     <string name="credit_cards_warning_dialog_set_up_now">አሁን አዋቅር</string>
@@ -1942,8 +1871,6 @@
     <string name="credit_cards_warning_dialog_later">በኋላ</string>
     <!-- Title of PIN verification dialog to direct users to re-enter their device credentials to access their credit cards -->
     <string name="credit_cards_biometric_prompt_message_pin">መሣሪያዎን ይክፈቱ</string>
-    <!-- Message displayed in biometric prompt for authentication, before allowing users to use their stored credit card information -->
-    <string name="credit_cards_biometric_prompt_unlock_message" moz:RemovedIn="125" tools:ignore="UnusedResources">የተከማቸ የክሬዲት ካርድ መረጃን ለመጠቀም ይክፈቱ</string>
     <!-- Message displayed in biometric prompt for authentication, before allowing users to use their stored payment method information -->
     <string name="credit_cards_biometric_prompt_unlock_message_2">የተቀመጡ የመክፈያ ዘዴዎችን ለመጠቀም ይክፈቱ</string>
     <!-- Title of the "Add address" screen -->
@@ -1952,12 +1879,6 @@
     <string name="addresses_edit_address">አድራሻ አርትዕ</string>
     <!-- Title of the "Manage addresses" screen -->
     <string name="addresses_manage_addresses">አድራሻዎችን ያስተዳድሩ</string>
-    <!-- The header for the first name of an address -->
-    <string name="addresses_first_name" moz:removedIn="125" tools:ignore="UnusedResources">የመጀመሪያ ስም</string>
-    <!-- The header for the middle name of an address -->
-    <string name="addresses_middle_name" moz:removedIn="125" tools:ignore="UnusedResources">የአባት ስም</string>
-    <!-- The header for the last name of an address -->
-    <string name="addresses_last_name" moz:removedIn="125" tools:ignore="UnusedResources">የአያት ስም</string>
     <!-- The header for the name of an address. Name represents a person's full name, typically made up of a first, middle and last name, e.g. John Joe Doe. -->
     <string name="addresses_name">ስም</string>
     <!-- The header for the street address of an address -->
@@ -1983,8 +1904,6 @@
     <!-- The text for the "Delete address" button for deleting an address -->
     <string name="addressess_delete_address_button">አድራሻ ሰርዝ</string>
     <!-- The title for the "Delete address" confirmation dialog -->
-    <string name="addressess_confirm_dialog_message" moz:RemovedIn="125" tools:ignore="UnusedResources">እርግጠኛ ነዎት ይህን አድራሻ መሰረዝ ይፈልጋሉ?</string>
-    <!-- The title for the "Delete address" confirmation dialog -->
     <string name="addressess_confirm_dialog_message_2">ይህ አድራሻ ይጥፋ?</string>
     <!-- The text for the positive button on "Delete address" dialog -->
     <string name="addressess_confirm_dialog_ok_button">ሰርዝ</string>
@@ -2085,49 +2004,29 @@
     <string name="login_menu_delete_button">ሰርዝ</string>
     <!-- Login overflow menu edit button -->
     <string name="login_menu_edit_button">አርትዕ</string>
-    <!-- Message in delete confirmation dialog for logins -->
-    <string name="login_deletion_confirmation" moz:RemovedIn="125" tools:ignore="UnusedResources">እርግጠኛ ነዎት ይህን መግቢያ መሰረዝ ይፈልጋሉ?</string>
     <!-- Message in delete confirmation dialog for password -->
     <string name="login_deletion_confirmation_2">እርግጠኛ ነዎት ይህን የይለፍ ቃል መሰረዝ ይፈልጋሉ?</string>
     <!-- Positive action of a dialog asking to delete  -->
     <string name="dialog_delete_positive">ሰርዝ</string>
     <!-- Negative action of a dialog asking to delete login -->
     <string name="dialog_delete_negative">ተወው</string>
-    <!--  The saved login options menu description. -->
-    <string name="login_options_menu" moz:RemovedIn="125" tools:ignore="UnusedResources">የመግቢያ አማራጮች</string>
     <!--  The saved password options menu description. -->
     <string name="login_options_menu_2">የይለፍ ቃል አማራጮች</string>
-    <!--  The editable text field for a login's web address. -->
-    <string name="saved_login_hostname_description" moz:RemovedIn="125" tools:ignore="UnusedResources">ለመግቢያው የድር አድራሻ ሊስተካከል የሚችል የጽሑፍ መስክ።</string>
     <!--  The editable text field for a website address. -->
     <string name="saved_login_hostname_description_3">ለድር ጣቢያው አድራሻ ሊስተካከል የሚችል የጽሑፍ መስክ።</string>
-    <!--  The editable text field for a login's username. -->
-    <string name="saved_login_username_description" moz:RemovedIn="125" tools:ignore="UnusedResources">ለመግቢያው የተጠቃሚ ስም ሊስተካከል የሚችል የጽሑፍ መስክ።</string>
     <!--  The editable text field for a username. -->
     <string name="saved_login_username_description_3">ለተጠቃሚ ስም ሊስተካከል የሚችል የጽሑፍ መስክ።</string>
     <!--  The editable text field for a login's password. -->
-    <string name="saved_login_password_description" moz:RemovedIn="125" tools:ignore="UnusedResources">ለመግቢያው የይለፍ ቃል ሊስተካከል የሚችል የጽሑፍ መስክ።</string>
-    <!--  The editable text field for a login's password. -->
     <string name="saved_login_password_description_2">ለይለፍ ቃል ሊስተካከል የሚችል የጽሑፍ መስክ።</string>
-    <!--  The button description to save changes to an edited login. -->
-    <string name="save_changes_to_login" moz:RemovedIn="125" tools:ignore="UnusedResources">መግቢያው ላይ የተደረገውን ለውጥ አስቀምጥ።</string>
     <!--  The button description to save changes to an edited password. -->
     <string name="save_changes_to_login_2">ለውጦችን አስቀምጥ።</string>
-    <!--  The page title for editing a saved login. -->
-    <string name="edit" moz:RemovedIn="125" tools:ignore="UnusedResources">አርትዕ</string>
     <!--  The page title for editing a saved password. -->
     <string name="edit_2">የይለፍ ቃል አርትዕ</string>
-    <!--  The page title for adding new login. -->
-    <string name="add_login" moz:RemovedIn="125" tools:ignore="UnusedResources">አዲስ መግቢያ ያክሉ</string>
     <!--  The page title for adding new password. -->
     <string name="add_login_2">የይለፍ ቃል ያክሉ</string>
-    <!--  The error message in add/edit login view when password field is blank. -->
-    <string name="saved_login_password_required" moz:RemovedIn="125" tools:ignore="UnusedResources">የይለፍ ቃል ያስፈልጋል</string>
     <!--  Error text displayed underneath the password field when it is in an error case. -->
     <string name="saved_login_password_required_2">የይለፍ ቃል ያስገቡ</string>
     <!--  The error message in add login view when username field is blank. -->
-    <string name="saved_login_username_required" moz:RemovedIn="125" tools:ignore="UnusedResources">የተጠቃሚ ስም ያስፈልጋል</string>
-    <!--  The error message in add login view when username field is blank. -->
     <string name="saved_login_username_required_2">የተጠቃሚ ስም ያስገቡ</string>
     <!--  The error message in add login view when hostname field is blank. -->
     <string name="saved_login_hostname_required" tools:ignore="UnusedResources">የአስተናጋጅ ስም ያስፈልጋል</string>
@@ -2490,8 +2389,6 @@
     <string name="translation_error_could_not_load_languages_warning_text">ቋንቋዎችን መጫን አልተቻለም። የበይነመረብ ግንኙነትዎን ይፈትሹ እና እንደገና ይሞክሩ።</string>
     <!-- The title of the warning card informs the user that a language is not supported. The first parameter is the name of the language that is not supported. -->
     <string name="translation_error_language_not_supported_warning_text">ይቅርታ፣ እስካሁን %1$sን አንደግፍም።</string>
-    <!-- Button text on the warning card when a language is not supported. The link will take the user to a page to a support page about translations. -->
-    <string name="translation_error_language_not_supported_learn_more" moz:removedIn="126" tools:ignore="UnusedResources">ተጨማሪ ይወቁ</string>
 
 
     <!-- Snackbar title shown if the user closes the Translation Request dialogue and a translation is in progress. -->
@@ -2505,8 +2402,6 @@
 
     <!-- Translations options dialog -->
     <!-- Title of the translation options dialog that allows a user to set their translation options for the site the user is currently on. -->
-    <string name="translation_option_bottom_sheet_title" moz:removedIn="126" tools:ignore="UnusedResources">የትርጉም አማራጮች</string>
-    <!-- Title of the translation options dialog that allows a user to set their translation options for the site the user is currently on. -->
     <string name="translation_option_bottom_sheet_title_heading">የትርጉም አማራጮች</string>
     <!-- Toggle switch label that allows a user to set the setting if they would like the browser to always offer or suggest translations when available. -->
     <string name="translation_option_bottom_sheet_always_translate">ሁልጊዜ ለመተርጎም አቅርብ</string>
@@ -2598,7 +2493,7 @@
     <string name="download_languages_language_item_preference">%1$s (%2$s)</string>
     <!-- The subhead of the download language preference screen will appear above the items that were not downloaded. -->
     <string name="download_language_header_preference">ቋንቋዎችን አውርድ</string>
-    <!-- All languages list item. When the user presses this item, they can download or delete all languages. -->
+    <!-- All languages list item. When the user presses this item, they can download all languages. -->
     <string name="download_language_all_languages_item_preference">ሁሉም ቋንቋዎች</string>
     <!-- Content description (not visible, for screen readers etc.): For a language list item that was downloaded, the user can now delete it. -->
     <string name="download_languages_item_content_description_downloaded_state">አጥፋ</string>
@@ -2607,7 +2502,7 @@
     <!-- Content description (not visible, for screen readers etc.): For a language list item that was not downloaded. -->
     <string name="download_languages_item_content_description_not_downloaded_state">አውርድ</string>
     <!-- Content description (not visible, for screen readers etc.): For a language list item that is selected. -->
-    <string name="download_languages_item_content_description_selected_state">ተመርጧል</string>
+    <string name="download_languages_item_content_description_selected_state" moz:removedIn="127" tools:ignore="UnusedResources">ተመርጧል</string>
 
     <!-- Title for the dialog used by the translations feature to confirm deleting a language.
     The dialog will be presented when the user requests deletion of a language.
@@ -2634,7 +2529,7 @@
     <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation. -->
     <string name="download_language_file_dialog_message_all_languages">ትርጉሞችን የግል ለማድረግ ከፊል ቋንቋዎችን ወደ መሸጎጫዎ እናወርዳለን።</string>
     <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation without mentioning the cache. -->
-    <string name="download_language_file_dialog_message_all_languages_no_cache">ትርጉሞችን የግል ለማድረግ ከፊል ቋንቋዎችን እናወርዳለን።</string>
+    <string name="download_language_file_dialog_message_all_languages_no_cache" moz:removedIn="129" tools:ignore="UnusedResources">ትርጉሞችን የግል ለማድረግ ከፊል ቋንቋዎችን እናወርዳለን።</string>
     <!-- Checkbox label text on the data saving mode warning dialog used by the translations feature. This checkbox allows users to ignore the data usage warnings. -->
     <string name="download_language_file_dialog_checkbox_text">ሁልጊዜ በውሂብ ቁጠባ ሁነታ አውርድ</string>
     <!-- Button text on the data saving mode warning dialog used by the translations feature to allow users to confirm they wish to continue and download the language file. -->
@@ -2656,7 +2551,7 @@
     <!-- The title of the tab count section in Tab Tools. -->
     <string name="debug_drawer_tab_tools_tab_count_title">የትር ብዛት</string>
     <!-- The active tab count category in the tab count section in Tab Tools. -->
-    <string name="debug_drawer_tab_tools_tab_count_normal">ንቁ</string>
+    <string name="debug_drawer_tab_tools_tab_count_normal" moz:removedIn="127" tools:ignore="UnusedResources">ንቁ</string>
     <!-- The inactive tab count category in the tab count section in Tab Tools. -->
     <string name="debug_drawer_tab_tools_tab_count_inactive">እንቅስቃሴ-አልባ</string>
     <!-- The private tab count category in the tab count section in Tab Tools. -->
diff --git a/mobile/android/fenix/app/src/main/res/values-be/strings.xml b/mobile/android/fenix/app/src/main/res/values-be/strings.xml
index 66e78b64265d47fad131cef7a1730c6411ef5d8a..74ce91879633a7b32ac5f08bc7122e547d235713 100644
--- a/mobile/android/fenix/app/src/main/res/values-be/strings.xml
+++ b/mobile/android/fenix/app/src/main/res/values-be/strings.xml
@@ -151,8 +151,6 @@
 
     <!-- Shortcut action to open Passwords screen -->
     <string name="home_screen_shortcut_passwords">Паролі</string>
-    <!-- Shortcut action to open Passwords screen -->
-    <string name="home_screen_shortcut_open_password_screen" moz:removedIn="126" tools:ignore="UnusedResources">Хуткі доступ да пароляў</string>
 
     <!-- Recent Tabs -->
     <!-- Header text for jumping back into the recent tab in the home screen -->
@@ -192,8 +190,6 @@
     <string name="browser_menu_refresh">Абнавіць</string>
     <!-- Content description (not visible, for screen readers etc.): Stop loading current website -->
     <string name="browser_menu_stop">Спыніць</string>
-    <!-- Browser menu button that opens the addon manager -->
-    <string name="browser_menu_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">Дадаткі</string>
     <!-- Browser menu button that opens the extensions manager -->
     <string name="browser_menu_extensions">Пашырэнні</string>
     <!-- Browser menu button that opens the extensions manager -->
@@ -202,8 +198,6 @@
     <string name="browser_menu_discover_more_extensions">Адкрыйце для сябе іншыя пашырэнні</string>
     <!-- Browser menu button that opens account settings -->
     <string name="browser_menu_account_settings">Ваш уліковы запіс</string>
-    <!-- Text displayed when there are no add-ons to be shown -->
-    <string name="no_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">Няма дадаткаў</string>
     <!-- Browser menu button that sends a user to help articles -->
     <string name="browser_menu_help">Даведка</string>
     <!-- Browser menu button that sends a to a the what's new article -->
@@ -220,8 +214,6 @@
     <string name="browser_menu_add_to_homescreen">Дадаць на хатні экран</string>
     <!-- Browser menu toggle that adds a shortcut to the site on the device home screen. -->
     <string name="browser_menu_add_to_homescreen_2">Дадаць на хатні экран…</string>
-    <!-- Browser menu toggle that installs a Progressive Web App shortcut to the site on the device home screen. -->
-    <string name="browser_menu_install_on_homescreen" moz:removedIn="126" tools:ignore="UnusedResources">Усталяваць</string>
     <!-- Content description (not visible, for screen readers etc.) for the Resync tabs button -->
     <string name="resync_button_content_description">Сінхранізаваць ізноў</string>
     <!-- Browser menu button that opens the find in page menu -->
@@ -596,7 +588,9 @@
     <!-- Preference category for account information -->
     <string name="preferences_category_account">Уліковы запіс</string>
     <!-- Preference for changing where the toolbar is positioned -->
-    <string name="preferences_toolbar">Паліца інструментаў</string>
+    <string name="preferences_toolbar" moz:removedIn="129" tools:ignore="UnusedResources">Паліца інструментаў</string>
+    <!-- Preference for changing where the AddressBar is positioned -->
+    <string name="preferences_toolbar_2">Размяшчэнне адраснага радка</string>
     <!-- Preference for changing default theme to dark or light mode -->
     <string name="preferences_theme">Тэма</string>
     <!-- Preference for customizing the home screen -->
@@ -667,13 +661,8 @@
     <!-- Message to indicate users that we are quitting the application to apply the changes -->
     <string name="quit_application">Выхад з праграмы, каб прымяніць змены…</string>
 
-    <!-- Preference for add_ons -->
-    <string name="preferences_addons" moz:removedIn="126" tools:ignore="UnusedResources">Дадаткі</string>
-
     <!-- Preference for extensions -->
     <string name="preferences_extensions">Пашырэнні</string>
-    <!-- Preference for installing a local add-on -->
-    <string name="preferences_install_local_addon" moz:removedIn="126" tools:ignore="UnusedResources">Усталяваць дадатак з файла</string>
     <!-- Preference for installing a local extension -->
     <string name="preferences_install_local_extension">Усталяваць пашырэнне з файла</string>
     <!-- Preference for notifications -->
@@ -694,8 +683,6 @@
 
     <!-- Add-on Preferences -->
     <!-- Preference to customize the configured AMO (addons.mozilla.org) collection -->
-    <string name="preferences_customize_amo_collection" moz:removedIn="126" tools:ignore="UnusedResources">Уласная калекцыя дадаткаў</string>
-    <!-- Preference to customize the configured AMO (addons.mozilla.org) collection -->
     <string name="preferences_customize_extension_collection">Уласная калекцыя пашырэнняў</string>
     <!-- Button caption to confirm the add-on collection configuration -->
     <string name="customize_addon_collection_ok">OK</string>
@@ -706,9 +693,6 @@
     <!-- Hint displayed on input field for custom collection user ID-->
     <string name="customize_addon_collection_user_hint">Уладальнік калекцыі (ID карыстальніка)</string>
 
-    <!-- Toast shown after confirming the custom add-on collection configuration -->
-    <string name="toast_customize_addon_collection_done" moz:removedIn="126" tools:ignore="UnusedResources">Калекцыя дадаткаў зменена. Выхад з праграмы, каб прымяніць змены…</string>
-
     <!-- Customize Home -->
     <!-- Header text for jumping back into the recent tab in customize the home screen -->
     <string name="customize_toggle_jump_back_in">Пераход назад да</string>
@@ -765,28 +749,16 @@
     <string name="wallpapers_onboarding_dialog_explore_more_button_text">Прагледзець больш шпалер</string>
 
     <!-- Add-ons general availability nimbus message-->
-    <!-- Title of the Nimbus message for add-ons general availability-->
-    <string name="addon_ga_message_title" moz:removedIn="126" tools:ignore="UnusedResources">Даступныя новыя дадаткі</string>
     <!-- Title of the Nimbus message for extension general availability-->
     <string name="addon_ga_message_title_2" tools:ignore="UnusedResources">Даступныя новыя пашырэнні</string>
     <!-- Body of the Nimbus message for add-ons general availability. 'Firefox' intentionally hardcoded here-->
     <string name="addon_ga_message_body" tools:ignore="UnusedResources">Азнаёмцеся з больш за 100 новых пашырэнняў, якія дазваляюць зрабіць Firefox вашым уласным.</string>
-    <!-- Button text of the Nimbus message for add-ons general availability. -->
-    <string name="addon_ga_message_button" moz:removedIn="126" tools:ignore="UnusedResources">Азнаёмцеся з дадаткамі</string>
 
     <!-- Extension process crash dialog to user -->
-    <!-- Title of a dialog shown to the user when enough errors have occurred with addons and they need to be temporarily disabled -->
-    <string name="addon_process_crash_dialog_title" moz:removedIn="126" tools:ignore="UnusedResources">Дадаткі часова адключаны</string>
     <!-- Title of the extension crash dialog shown to the user when enough errors have occurred with extensions and they need to be temporarily disabled -->
     <string name="extension_process_crash_dialog_title">Пашырэнні часова адключаны</string>
-    <!-- The first parameter is the application name. This is a message shown to the user when too many errors have occurred with the addons process and they have been disabled. The user can decide if they would like to continue trying to start add-ons or if they'd rather continue without them. -->
-    <string name="addon_process_crash_dialog_message" moz:removedIn="126" tools:ignore="UnusedResources">Адзін ці некалькі дадаткаў перасталі працаваць, што зрабіла вашу сістэму нестабільнай. %1$s беспаспяхова спрабаваў перазапусціць дадатак(і).\n\nДадаткі не будуць перазапушчаны ў часе бягучага сеансу.\n\nВыдаленне або адключэнне дадаткаў можа вырашыць гэтую праблему.</string>
-    <!-- This will cause the add-ons to try restarting but the dialog will reappear if it is unsuccessful again -->
-    <string name="addon_process_crash_dialog_retry_button_text" moz:removedIn="126" tools:ignore="UnusedResources">Паспрабаваць перазапусціць дадаткі</string>
     <!-- Button text on the extension crash dialog to prompt the user to try restarting the extensions but the dialog will reappear if it is unsuccessful again -->
     <string name="extension_process_crash_dialog_retry_button_text" tools:ignore="UnusedResources">Паспрабаваць перазапусціць пашырэнні</string>
-    <!-- The user will continue with all add-ons disabled -->
-    <string name="addon_process_crash_dialog_disable_addons_button_text" moz:removedIn="126" tools:ignore="UnusedResources">Працягнуць з адключанымі дадаткамі</string>
 
     <!-- Button text on the extension crash dialog to prompt the user to continue with all extensions disabled. -->
     <string name="extension_process_crash_dialog_disable_extensions_button_text">Працягнуць з адключанымі пашырэннямі</string>
@@ -912,7 +884,7 @@
     <!-- Preference for using the dynamic toolbar -->
     <string name="preference_gestures_dynamic_toolbar">Пракруціць, каб схаваць панэль інструментаў</string>
     <!-- Preference for switching tabs by swiping horizontally on the toolbar -->
-    <string name="preference_gestures_swipe_toolbar_switch_tabs">Пасунуць убок панэль інструментаў, каб пераключыць карткі</string>
+    <string name="preference_gestures_swipe_toolbar_switch_tabs" moz:removedIn="129" tools:ignore="UnusedResources">Пасунуць убок панэль інструментаў, каб пераключыць карткі</string>
 
     <!-- Preference for showing the opened tabs by swiping up on the toolbar-->
     <string name="preference_gestures_swipe_toolbar_show_tabs">Пасуньце ўверх панэль інструментаў, каб адкрыць карткі</string>
@@ -1429,6 +1401,17 @@
     <!-- Text shown in the notification that pops up to remind the user that a private browsing session is active. -->
     <string name="notification_pbm_delete_text_2">Закрыць прыватныя карткі</string>
 
+    <!-- Text for option one, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_0" tools:ignore="UnusedResources">Нейтральны</string>
+    <!-- Text for option two, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_1" tools:ignore="UnusedResources">Вельмі незадаволены</string>
+    <!-- Text for option three, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_2" tools:ignore="UnusedResources">Незадаволены</string>
+    <!-- Text for option four, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_3" tools:ignore="UnusedResources">Задаволены</string>
+    <!-- Text for option five, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_4" tools:ignore="UnusedResources">Вельмі задаволены</string>
+
     <!-- Text shown in the notification that pops up to remind the user that a private browsing session is active for Android 14+ -->
     <string name="notification_erase_title_android_14">Закрыць прыватныя карткі?</string>
 
@@ -1505,10 +1488,6 @@
     <string name="qr_scanner_dialog_invalid_ok">OK</string>
     <!-- Tab collection deletion prompt dialog message. Placeholder will be replaced with the collection name -->
     <string name="tab_collection_dialog_message">Вы ўпэўнены, што хочаце выдаліць %1$s?</string>
-    <!-- Collection and tab deletion prompt dialog message. This will show when the last tab from a collection is deleted -->
-    <string name="delete_tab_and_collection_dialog_message">Выдаленне гэтай карткі прывядзе да выдалення ўсёй калекцыі. Вы можаце стварыць новыя калекцыі ў любы час.</string>
-    <!-- Collection and tab deletion prompt dialog title. Placeholder will be replaced with the collection name. This will show when the last tab from a collection is deleted -->
-    <string name="delete_tab_and_collection_dialog_title">Выдаліць %1$s?</string>
     <!-- Tab collection deletion prompt dialog option to delete the collection -->
     <string name="tab_collection_dialog_positive">Выдаліць</string>
     <!-- Text displayed in a notification when the user enters full screen mode -->
@@ -2461,6 +2440,8 @@
     <string name="translations_bottom_sheet_translate_from">Перакласці з</string>
     <!-- Label for the dropdown to select which language to translate to on the translations dialog. Usually the translate to language selected will be the user's preferred language. -->
     <string name="translations_bottom_sheet_translate_to">Перакласці на</string>
+    <!-- Label for the dropdown to select which language to translate from on the translations dialog when the page language is not supported. This selection is to allow the user to select another language, in case we automatically detected the page language incorrectly. -->
+    <string name="translations_bottom_sheet_translate_from_unsupported_language">Паспрабуйце іншую зыходную мову</string>
     <!-- Button text on the translations dialog to dismiss the dialog and return to the browser. -->
     <string name="translations_bottom_sheet_negative_button">Не зараз</string>
     <!-- Button text on the translations dialog to restore the translated website back to the original untranslated version. -->
@@ -2483,8 +2464,6 @@
     <string name="translation_error_could_not_load_languages_warning_text">Не ўдалося загрузіць мовы. Праверце інтэрнэт-злучэнне і паўтарыце спробу.</string>
     <!-- The title of the warning card informs the user that a language is not supported. The first parameter is the name of the language that is not supported. -->
     <string name="translation_error_language_not_supported_warning_text">На жаль, мы пакуль не падтрымліваем %1$s.</string>
-    <!-- Button text on the warning card when a language is not supported. The link will take the user to a page to a support page about translations. -->
-    <string name="translation_error_language_not_supported_learn_more" moz:removedIn="126" tools:ignore="UnusedResources">Падрабязней</string>
 
 
     <!-- Snackbar title shown if the user closes the Translation Request dialogue and a translation is in progress. -->
@@ -2500,8 +2479,6 @@
 
     <!-- Translations options dialog -->
     <!-- Title of the translation options dialog that allows a user to set their translation options for the site the user is currently on. -->
-    <string name="translation_option_bottom_sheet_title" moz:removedIn="126" tools:ignore="UnusedResources">Параметры перакладу</string>
-    <!-- Title of the translation options dialog that allows a user to set their translation options for the site the user is currently on. -->
     <string name="translation_option_bottom_sheet_title_heading">Параметры перакладу</string>
     <!-- Toggle switch label that allows a user to set the setting if they would like the browser to always offer or suggest translations when available. -->
     <string name="translation_option_bottom_sheet_always_translate">Заўсёды прапаноўваць пераклад</string>
@@ -2577,8 +2554,10 @@
     <string name="download_languages_language_item_preference">%1$s (%2$s)</string>
     <!-- The subhead of the download language preference screen will appear above the items that were not downloaded. -->
     <string name="download_language_header_preference">Сцягнуць мовы</string>
-    <!-- All languages list item. When the user presses this item, they can download or delete all languages. -->
+    <!-- All languages list item. When the user presses this item, they can download all languages. -->
     <string name="download_language_all_languages_item_preference">Усе мовы</string>
+    <!-- All languages list item. When the user presses this item, they can delete all languages that were downloaded. -->
+    <string name="download_language_all_languages_item_preference_to_delete">Выдаліць усе мовы</string>
     <!-- Content description (not visible, for screen readers etc.): For a language list item that was downloaded, the user can now delete it. -->
     <string name="download_languages_item_content_description_downloaded_state">Выдаліць</string>
     <!-- Content description (not visible, for screen readers etc.): For a language list item, downloading is in progress. -->
@@ -2586,7 +2565,7 @@
     <!-- Content description (not visible, for screen readers etc.): For a language list item that was not downloaded. -->
     <string name="download_languages_item_content_description_not_downloaded_state">Сцягнуць</string>
     <!-- Content description (not visible, for screen readers etc.): For a language list item that is selected. -->
-    <string name="download_languages_item_content_description_selected_state">Выбрана</string>
+    <string name="download_languages_item_content_description_selected_state" moz:removedIn="127" tools:ignore="UnusedResources">Выбрана</string>
 
     <!-- Title for the dialog used by the translations feature to confirm deleting a language.
     The dialog will be presented when the user requests deletion of a language.
@@ -2654,11 +2633,11 @@
     <!-- The continue button label -->
     <string name="micro_survey_continue_button_label" tools:ignore="UnusedResources">Працягнуць</string>
     <!-- The privacy notice link -->
-    <string name="micro_survey_privacy_notice">Паведамленне аб прыватнасці</string>
+    <string name="micro_survey_privacy_notice" moz:removedIn="129" tools:ignore="UnusedResources">Паведамленне аб прыватнасці</string>
     <!-- The submit button label text -->
     <string name="micro_survey_submit_button_label">Падаць</string>
     <!-- The close button label text -->
-    <string name="micro_survey_close_button_label" tools:ignore="UnusedResources">Закрыць</string>
+    <string name="micro_survey_close_button_label" moz:removedIn="128" tools:ignore="UnusedResources">Закрыць</string>
     <!-- The survey completion confirmation text -->
     <string name="micro_survey_feedback_confirmation">Дзякуй за ваш водгук!</string>
     <!-- Option for likert scale -->
diff --git a/mobile/android/fenix/app/src/main/res/values-ca/strings.xml b/mobile/android/fenix/app/src/main/res/values-ca/strings.xml
index b24086fc30f2728ee47139d8c2a28168fe9f5df0..4e92013df5aa4bf2d1a73781ac7ff03c7f3560cf 100644
--- a/mobile/android/fenix/app/src/main/res/values-ca/strings.xml
+++ b/mobile/android/fenix/app/src/main/res/values-ca/strings.xml
@@ -56,6 +56,14 @@
     <!-- Text for the menu button to remove a recently saved bookmark from the user's home screen -->
     <string name="recently_saved_menu_item_remove" moz:removedIn="127" tools:ignore="UnusedResources">Elimina</string>
 
+    <!-- Home - Bookmarks -->
+    <!-- Title for the home screen section with bookmarks. -->
+    <string name="home_bookmarks_title">Adreces d\'interès</string>
+    <!-- Content description for the button which navigates the user to show all of their bookmarks. -->
+    <string name="home_bookmarks_show_all_content_description">Mostra totes les adreces d\'interès</string>
+    <!-- Text for the menu button to remove a recently saved bookmark from the user's home screen -->
+    <string name="home_bookmarks_menu_item_remove">Elimina</string>
+
     <!-- About content. The first parameter is the name of the application. (For example: Fenix) -->
     <string name="about_content">El %1$s està creat per Mozilla.</string>
 
@@ -189,6 +197,8 @@
     <string name="browser_menu_extensions">Extensions</string>
     <!-- Browser menu button that opens the extensions manager -->
     <string name="browser_menu_manage_extensions">Gestiona les extensions</string>
+    <!-- Browser menu button that opens AMO in a tab -->
+    <string name="browser_menu_discover_more_extensions">Mostra més extensions</string>
     <!-- Browser menu button that opens account settings -->
     <string name="browser_menu_account_settings">Informació del compte</string>
     <!-- Browser menu button that sends a user to help articles -->
@@ -252,9 +262,49 @@
 
     <!-- Browser menu label to sign in to sync on the device using Mozilla accounts -->
     <string name="browser_menu_sign_in">Inicia la sessió</string>
+    <!-- Browser menu caption label for the "Sign in" browser menu item described in `browser_menu_sign_in` -->
+    <string name="browser_menu_sign_in_caption">Sincronitzeu contrasenyes, pestanyes i molt més</string>
+    <!-- Browser menu label to sign back in to sync on the device when the user's account needs to be reauthenticated -->
+    <string name="browser_menu_sign_back_in_to_sync">Torneu a iniciar la sessió per sincronitzar</string>
+    <!-- Browser menu caption label for the "Sign back in to sync" browser menu item described in `browser_menu_sign_back_in_to_sync` when there is an error in syncing -->
+    <string name="browser_menu_syncing_paused_caption">S\'ha posat en pausa la sincronització</string>
+    <!-- Browser menu label that creates a private tab -->
+    <string name="browser_menu_new_private_tab">Pestanya privada nova</string>
+    <!-- Browser menu label that navigates to the Password screen -->
+    <string name="browser_menu_passwords">Contrasenyes</string>
+    <!-- Browser menu label that navigates to the SUMO page for the Firefox for Android release notes.
+         The first parameter is the name of the app defined in app_name (for example: Fenix)-->
+    <string name="browser_menu_new_in_firefox">Novetats del %1$s</string>
     <!-- Browser menu label that toggles the request for the desktop site of the currently visited page -->
     <string name="browser_menu_switch_to_desktop_site">Canvia al lloc d\'escriptori</string>
 
+    <!-- Browser menu label that navigates to the page tools sub-menu -->
+    <string name="browser_menu_tools">Eines</string>
+    <!-- Browser menu label that navigates to the save sub-menu, which contains various save related menu items such as
+         bookmarking a page, saving to collection, shortcut or as a PDF, and adding to home screen -->
+    <string name="browser_menu_save">Desa</string>
+    <!-- Browser menu label that bookmarks the currently visited page -->
+    <string name="browser_menu_bookmark_this_page">Afegeix aquesta pàgina a les adreces d’interès</string>
+    <!-- Browser menu label that navigates to the edit bookmark screen for the current bookmarked page -->
+    <string name="browser_menu_edit_bookmark">Edita l’adreça d’interès</string>
+    <!-- Browser menu label that the saves the currently visited page as a PDF -->
+    <string name="browser_menu_save_as_pdf">Desa com a PDF…</string>
+    <!-- Browser menu label for turning ON reader view of the current visited page -->
+    <string name="browser_menu_turn_on_reader_view">Activa la vista de lectura</string>
+    <!-- Browser menu label for turning OFF reader view of the current visited page -->
+    <string name="browser_menu_turn_off_reader_view">Desactiva la vista de lectura</string>
+    <!-- Browser menu label for navigating to the translation feature, which provides language translation options the current visited page -->
+    <string name="browser_menu_translate_page">Tradueix la pàgina…</string>
+    <!-- Browser menu label that is displayed when the current page has been translated by the translation feature.
+         The first parameter is the name of the language that page was translated to (e.g. English). -->
+    <string name="browser_menu_translated_to">S’ha traduït a %1$s</string>
+    <!-- Browser menu label for the print feature -->
+    <string name="browser_menu_print">Imprimeix…</string>
+
+    <!-- Extensions management fragment -->
+    <!-- Text displayed when there are no extensions to be shown -->
+    <string name="extensions_management_no_extensions">No hi ha cap extensió</string>
+
     <!-- Browser Toolbar -->
     <!-- Content description for the Home screen button on the browser toolbar -->
     <string name="browser_toolbar_home">Pantalla d’inici</string>
@@ -265,6 +315,11 @@
     <!-- Content description for the translate page toolbar button that opens the translations dialog when no translation has occurred. -->
     <string name="browser_toolbar_translate">Tradueix la pàgina</string>
 
+    <!-- Content description (not visible, for screen readers etc.) for the translate page toolbar button that opens the translations dialog when the page is translated successfully.
+         The first parameter is the name of the language that is displayed in the original page. (For example: English)
+         The second parameter is the name of the language which the page was translated to. (For example: French) -->
+    <string name="browser_toolbar_translated_successfully">Pàgina traduïda de %1$s a %2$s.</string>
+
     <!-- Locale Settings Fragment -->
     <!-- Content description for tick mark on selected language -->
     <string name="a11y_selected_locale_content_description">Llengua seleccionada</string>
@@ -345,6 +400,17 @@
     <string name="juno_onboarding_privacy_notice_text">Avís de privadesa del Firefox</string>
     <!-- Title for set firefox as default browser screen used by Nimbus experiments. -->
     <string name="juno_onboarding_default_browser_title_nimbus_2">Ens encanta mantenir-vos segur</string>
+    <!-- Title for set firefox as default browser screen used by Nimbus experiments.
+        Note: The word "Firefox" should NOT be translated -->
+    <string name="juno_onboarding_default_browser_title_nimbus_3" tools:ignore="UnusedResources">Descobriu per què milions de persones estimen el Firefox</string>
+    <!-- Title for set firefox as default browser screen used by Nimbus experiments. -->
+    <string name="juno_onboarding_default_browser_title_nimbus_4" tools:ignore="UnusedResources">Navegació segura amb més opcions</string>
+    <!-- Description for set firefox as default browser screen used by Nimbus experiments. -->
+    <string name="juno_onboarding_default_browser_description_nimbus_3">El nostre navegador sense ànim de lucre ajuda a blocar automàticament les empreses que, en secret, us fan el seguiment mentre navegueu.</string>
+    <!-- Description for set firefox as default browser screen used by Nimbus experiments. -->
+    <string name="juno_onboarding_default_browser_description_nimbus_4" tools:ignore="UnusedResources">Més de 100 milions de persones protegeixen la seva privadesa triant un navegador creat per una organització sense ànim de lucre.</string>
+    <!-- Description for set firefox as default browser screen used by Nimbus experiments. -->
+    <string name="juno_onboarding_default_browser_description_nimbus_5" tools:ignore="UnusedResources">Els elements de seguiment habituals? Els bloquem automàticament. Voleu extensions? Proveu-ne 700. Treballeu amb documents PDF? El nostre lector integrat ho fa fàcil.</string>
     <!-- Description for set firefox as default browser screen used by Nimbus experiments. -->
     <string name="juno_onboarding_default_browser_description_nimbus_2" moz:RemovedIn="124" tools:ignore="UnusedResources">El nostre navegador sense ànim de lucre ajuda a blocar automàticament les empreses que, en secret, us fan el seguiment mentre navegueu.\n\nObteniu més informació al nostre avís de privadesa.</string>
     <!-- Text for the link to the privacy notice webpage for set as firefox default browser screen.
@@ -524,6 +590,8 @@
     <string name="preferences_category_account">Compte</string>
     <!-- Preference for changing where the toolbar is positioned -->
     <string name="preferences_toolbar" moz:removedIn="129" tools:ignore="UnusedResources">Barra d’eines</string>
+    <!-- Preference for changing where the AddressBar is positioned -->
+    <string name="preferences_toolbar_2">Ubicació de la barra d’adreces</string>
     <!-- Preference for changing default theme to dark or light mode -->
     <string name="preferences_theme">Tema</string>
     <!-- Preference for customizing the home screen -->
@@ -540,6 +608,10 @@
     <string name="preferences_account_sync_error">Torneu-vos a connectar per reprendre la sincronització</string>
     <!-- Preference for language -->
     <string name="preferences_language">Llengua</string>
+    <!-- Preference for translation -->
+    <string name="preferences_translation" moz:removedIn="127" tools:ignore="UnusedResources">Traducció</string>
+    <!-- Preference for translations -->
+    <string name="preferences_translations">Traduccions</string>
     <!-- Preference for data choices -->
     <string name="preferences_data_choices">Elecció de dades</string>
     <!-- Preference for data collection -->
@@ -590,6 +662,10 @@
     <!-- Message to indicate users that we are quitting the application to apply the changes -->
     <string name="quit_application">S’està tancant l’aplicació per aplicar els canvis…</string>
 
+    <!-- Preference for extensions -->
+    <string name="preferences_extensions">Extensions</string>
+    <!-- Preference for installing a local extension -->
+    <string name="preferences_install_local_extension">Instal·la una extensió des d’un fitxer</string>
     <!-- Preference for notifications -->
     <string name="preferences_notifications">Notificacions</string>
 
@@ -598,6 +674,22 @@
     <!-- Summary for notification preference indicating notifications are not allowed -->
     <string name="notifications_not_allowed_summary">No permès</string>
 
+    <!-- Add-on Permissions -->
+    <!-- The title of the required permissions section from addon's permissions screen -->
+    <string name="addons_permissions_heading_required" tools:ignore="UnusedResources">Obligatori</string>
+    <!-- The title of the optional permissions section from addon's permissions screen -->
+    <string name="addons_permissions_heading_optional" tools:ignore="UnusedResources">Opcional</string>
+    <!-- The title of the origin permission option allowing a user to enable the extension to run on all sites -->
+    <string name="addons_permissions_allow_for_all_sites" tools:ignore="UnusedResources">Permet per a tots els llocs</string>
+
+    <!-- The subtitle for the allow for all sites preference toggle -->
+    <string name="addons_permissions_allow_for_all_sites_subtitle" tools:ignore="UnusedResources">Si confieu en aquesta extensió, podeu donar-li permisos en tots els llocs web.</string>
+    <!-- The text shown when an extension does not require permissions -->
+    <string name="addons_does_not_require_permissions">Aquesta extensió no necessita cap permís.</string>
+
+    <!-- Add-on Preferences -->
+    <!-- Preference to customize the configured AMO (addons.mozilla.org) collection -->
+    <string name="preferences_customize_extension_collection">Col·lecció d’extensions personalitzada</string>
     <!-- Button caption to confirm the add-on collection configuration -->
     <string name="customize_addon_collection_ok">D’acord</string>
     <!-- Button caption to abort the add-on collection configuration -->
@@ -607,17 +699,22 @@
     <!-- Hint displayed on input field for custom collection user ID-->
     <string name="customize_addon_collection_user_hint">Propietari de la col·lecció (identificador d’usuari)</string>
 
+    <!-- Toast shown after confirming the custom extension collection configuration -->
+    <string name="toast_customize_extension_collection_done">S’ha modificat la col·lecció d’extensions. L’aplicació es tancarà per aplicar els canvis…</string>
+
     <!-- Customize Home -->
     <!-- Header text for jumping back into the recent tab in customize the home screen -->
     <string name="customize_toggle_jump_back_in">Torneu a la pestanya</string>
     <!-- Title for the customize home screen section with recently saved bookmarks. -->
     <string name="customize_toggle_recent_bookmarks" moz:removedIn="127" tools:ignore="UnusedResources">Adreces d’interès recents</string>
+    <!-- Title for the customize home screen section with bookmarks. -->
+    <string name="customize_toggle_bookmarks">Adreces d’interès</string>
     <!-- Title for the customize home screen section with recently visited. Recently visited is
     a section where users see a list of tabs that they have visited in the past few days -->
     <string name="customize_toggle_recently_visited">Visitat recentment</string>
 
     <!-- Title for the customize home screen section with Pocket. -->
-    <string name="customize_toggle_pocket_2">Articles suggeridors</string>
+    <string name="customize_toggle_pocket_2">Articles suggerents</string>
     <!-- Summary for the customize home screen section with Pocket. The first parameter is product name Pocket -->
     <string name="customize_toggle_pocket_summary">Articles recomanats pel %s</string>
     <!-- Title for the customize home screen section with sponsored Pocket stories. -->
@@ -658,9 +755,28 @@
     <!-- Wallpaper onboarding dialog learn more button text. The button navigates to the wallpaper settings screen. -->
     <string name="wallpapers_onboarding_dialog_explore_more_button_text">Descobriu més fons de pantalla</string>
 
+    <!-- Add-ons general availability nimbus message-->
+    <!-- Title of the Nimbus message for extension general availability-->
+    <string name="addon_ga_message_title_2" tools:ignore="UnusedResources">Noves extensions disponibles</string>
     <!-- Body of the Nimbus message for add-ons general availability. 'Firefox' intentionally hardcoded here-->
     <string name="addon_ga_message_body" tools:ignore="UnusedResources">Descobriu les més de cent noves extensions que us permeten fer el Firefox vostre.</string>
 
+    <!-- Button text of the Nimbus message for extensions general availability. -->
+    <string name="addon_ga_message_button_2" tools:ignore="UnusedResources">Mostra les extensions</string>
+
+    <!-- Extension process crash dialog to user -->
+    <!-- Title of the extension crash dialog shown to the user when enough errors have occurred with extensions and they need to be temporarily disabled -->
+    <string name="extension_process_crash_dialog_title">Les extensions s’han desactivat temporalment</string>
+
+    <!-- This is a message shown to the user when too many errors have occurred with the extensions process and they have been disabled.
+    The user can decide if they would like to continue trying to start extensions or if they'd rather continue without them.
+    The first parameter is the application name. -->
+    <string name="extension_process_crash_dialog_message">Una o més extensions han deixat de funcionar, i això fa que el vostre sistema sigui inestable. El %1$s ha intentat reiniciar les extensions sense èxit.\n\nLes extensions no es reiniciaran durant la sessió actual.\n\nPodeu eliminar o desactivar extensions per intentar solucionar el problema.</string>
+    <!-- Button text on the extension crash dialog to prompt the user to try restarting the extensions but the dialog will reappear if it is unsuccessful again -->
+    <string name="extension_process_crash_dialog_retry_button_text" tools:ignore="UnusedResources">Prova de reiniciar les extensions</string>
+    <!-- Button text on the extension crash dialog to prompt the user to continue with all extensions disabled. -->
+    <string name="extension_process_crash_dialog_disable_extensions_button_text">Continua amb les extensions desactivades</string>
+
     <!-- Account Preferences -->
     <!-- Preference for managing your account via accounts.firefox.com -->
     <string name="preferences_manage_account">Gestiona el compte</string>
@@ -715,6 +831,14 @@
     <!-- %s is the device name -->
     <string name="fxa_tab_received_from_notification_name">Pestanya de %s</string>
 
+    <!-- Close Synced Tabs -->
+    <!-- The title for a notification shown when the user closes tabs that are currently
+    open on this device from another device that's signed in to the same Mozilla account.
+    %1$s is a placeholder for the app name; %2$d is the number of tabs closed.  -->
+    <string name="fxa_tabs_closed_notification_title">Pestanyes del %1$s tancades: %2$d</string>
+    <!-- The body for a "closed synced tabs" notification. -->
+    <string name="fxa_tabs_closed_text">Mostra les pestanyes tancades recentment</string>
+
     <!-- Advanced Preferences -->
     <!-- Preference for tracking protection exceptions -->
     <string name="preferences_tracking_protection_exceptions">Excepcions</string>
@@ -777,6 +901,11 @@
     <!-- Preference for showing the opened tabs by swiping up on the toolbar-->
     <string name="preference_gestures_swipe_toolbar_show_tabs">Mostra les pestanyes obertes en fer lliscar la barra d’eines cap amunt</string>
 
+    <!-- Preference for using the dynamic toolbars -->
+    <string name="preference_gestures_dynamic_toolbar_2">Desplaceu-vos per amagar la barra d’adreces i la barra d’eines</string>
+    <!-- Preference for switching tabs by swiping horizontally on the addressbar -->
+    <string name="preference_gestures_swipe_toolbar_switch_tabs_2">Canvia de pestanya en fer lliscar la barra d’adreces cap als costats</string>
+
     <!-- Library -->
     <!-- Option in Library to open Downloads page -->
     <string name="library_downloads">Baixades</string>
@@ -1283,9 +1412,27 @@
     <!-- Text shown in the notification that pops up to remind the user that a private browsing session is active. -->
     <string name="notification_pbm_delete_text_2">Tanca les pestanyes privades</string>
 
+    <!-- Microsuverys -->
+    <!-- Text shown in prompt for printing microsurvey. "sec" It's an abrevation for "second". -->
+    <string name="microsurvey_prompt_printing_title" tools:ignore="UnusedResources">Ajudeu-nos a millorar la impressió en el Firefox. Només és un minut.</string>
+    <!-- Text shown in prompt for printing microsurvey. 'Firefox' intentionally hardcoded here--> --&gt;
+    <string name="microsurvey_survey_printing_title" tools:ignore="UnusedResources">Esteu satisfet/a de la impressió en el Firefox?</string>
+    <!-- Text for option one, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_0" tools:ignore="UnusedResources">Neutre/a</string>
+    <!-- Text for option two, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_1" tools:ignore="UnusedResources">Molt insatisfet/a</string>
+    <!-- Text for option three, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_2" tools:ignore="UnusedResources">Insatisfet/a</string>
+    <!-- Text for option four, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_3" tools:ignore="UnusedResources">Satisfet/a</string>
+    <!-- Text for option five, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_4" tools:ignore="UnusedResources">Molt satisfet/a</string>
+
     <!-- Text shown in the notification that pops up to remind the user that a private browsing session is active for Android 14+ -->
     <string name="notification_erase_title_android_14">Voleu tancar les pestanyes privades?</string>
 
+    <string name="notification_erase_text_android_14">Toqueu o feu lliscar aquesta notificació per a tancar les pestanyes privades.</string>
+
     <!-- Name of the marketing notification channel. Displayed in the "App notifications" system settings for the app -->
     <string name="notification_marketing_channel_name">Màrqueting</string>
 
@@ -1671,8 +1818,14 @@
     <string name="preferences_passwords_saved_logins_description_empty_learn_more_link_2">Més informació sobre la sincronització</string>
     <!-- Preference to access list of login exceptions that we never save logins for -->
     <string name="preferences_passwords_exceptions">Excepcions</string>
+    <!-- Empty description of list of login exceptions that we never save passwords for. Parameter will be replaced by app name. -->
+    <string name="preferences_passwords_exceptions_description_empty_2">El %s no desarà les contrasenyes dels llocs llistats aquí.</string>
+    <!-- Description of list of login exceptions that we never save passwords for. Parameter will be replaced by app name. -->
+    <string name="preferences_passwords_exceptions_description_2">El %s no desarà les contrasenyes d’aquests llocs.</string>
     <!-- Text on button to remove all saved login exceptions -->
     <string name="preferences_passwords_exceptions_remove_all">Suprimeix totes les excepcions</string>
+    <!-- Hint for search box in passwords list -->
+    <string name="preferences_passwords_saved_logins_search_2">Cerca contrasenyes</string>
     <!-- The header for the site that a login is for -->
     <string name="preferences_passwords_saved_logins_site">Lloc</string>
     <!-- The header for the username for a login -->
@@ -1699,6 +1852,12 @@
     <string name="saved_login_reveal_password">Mostra la contrasenya</string>
     <!-- Content Description (for screenreaders etc) read for the button to hide a password in logins -->
     <string name="saved_login_hide_password">Amaga la contrasenya</string>
+    <!-- Message displayed in biometric prompt displayed for authentication before allowing users to view their passwords -->
+    <string name="logins_biometric_prompt_message_2">Desbloqueu per veure les contrasenyes desades</string>
+    <!-- Title of warning dialog if users have no device authentication set up -->
+    <string name="logins_warning_dialog_title_2">Protegiu les contrasenyes desades</string>
+    <!-- Message of warning dialog if users have no device authentication set up -->
+    <string name="logins_warning_dialog_message_2">Configureu un patró de bloqueig del dispositiu, un PIN o una contrasenya perquè cap persona que accedeixi al vostre dispositiu pugui veure les contrasenyes que deseu.</string>
     <!-- Negative button to ignore warning dialog if users have no device authentication set up -->
     <string name="logins_warning_dialog_later">Més tard</string>
     <!-- Positive button to send users to set up a pin of warning dialog if users have no device authentication set up -->
@@ -1715,6 +1874,9 @@
     <!-- Saved logins sorting strategy menu item -by last used- (if selected, it will sort saved logins by last used) -->
     <string name="saved_logins_sort_strategy_last_used">Darrer ús</string>
 
+    <!-- Content description (not visible, for screen readers etc.) -->
+    <string name="saved_logins_menu_dropdown_chevron_icon_content_description_2">Menú d’ordenar les contrasenyes</string>
+
     <!-- Autofill -->
     <!-- Preference and title for managing the autofill settings -->
     <string name="preferences_autofill">Emplenament automàtic</string>
@@ -1723,6 +1885,10 @@
 
     <!-- Preference and title for managing the settings for payment methods -->
     <string name="preferences_credit_cards_2">Formes de pagament</string>
+    <!-- Preference for saving and autofilling credit cards -->
+    <string name="preferences_credit_cards_save_and_autofill_cards_2">Desa i emplena les formes de pagament</string>
+    <!-- Preference summary for saving and autofilling payment method data. Parameter will be replaced by app name. -->
+    <string name="preferences_credit_cards_save_and_autofill_cards_summary_2">El %s xifra totes les formes de pagament que deseu</string>
     <!-- Preference option for syncing credit cards across devices. This is displayed when the user is not signed into sync -->
     <string name="preferences_credit_cards_sync_cards_across_devices">Sincronitza les targetes entre dispositius</string>
     <!-- Preference option for syncing credit cards across devices. This is displayed when the user is signed into sync -->
@@ -1778,6 +1944,10 @@
     <string name="credit_cards_name_on_card_validation_error_message_2">Afegiu un nom</string>
     <!-- Message displayed in biometric prompt displayed for authentication before allowing users to view their saved credit cards -->
     <string name="credit_cards_biometric_prompt_message">Desbloqueu per veure les targetes desades</string>
+    <!-- Title of warning dialog if users have no device authentication set up -->
+    <string name="credit_cards_warning_dialog_title_2">Protegiu les formes de pagament desades</string>
+    <!-- Message of warning dialog if users have no device authentication set up -->
+    <string name="credit_cards_warning_dialog_message_3">Configureu un patró de bloqueig del dispositiu, un PIN o una contrasenya perquè cap persona que accedeixi al vostre dispositiu pugui veure les formes de pagament que deseu.</string>
     <!-- Positive button to send users to set up a pin of warning dialog if users have no device authentication set up -->
     <string name="credit_cards_warning_dialog_set_up_now">Configura-ho ara</string>
     <!-- Negative button to ignore warning dialog if users have no device authentication set up -->
@@ -1785,12 +1955,16 @@
     <!-- Title of PIN verification dialog to direct users to re-enter their device credentials to access their credit cards -->
     <string name="credit_cards_biometric_prompt_message_pin">Desbloqueu el dispositiu</string>
 
+    <!-- Message displayed in biometric prompt for authentication, before allowing users to use their stored payment method information -->
+    <string name="credit_cards_biometric_prompt_unlock_message_2">Desbloqueu per utilitzar les formes de pagament desades</string>
     <!-- Title of the "Add address" screen -->
     <string name="addresses_add_address">Afegeix una adreça</string>
     <!-- Title of the "Edit address" screen -->
     <string name="addresses_edit_address">Edita l’adreça</string>
     <!-- Title of the "Manage addresses" screen -->
     <string name="addresses_manage_addresses">Gestiona les adreces</string>
+    <!-- The header for the name of an address. Name represents a person's full name, typically made up of a first, middle and last name, e.g. John Joe Doe. -->
+    <string name="addresses_name">Nom</string>
     <!-- The header for the street address of an address -->
     <string name="addresses_street_address">Adreça postal</string>
     <!-- The header for the city of an address -->
@@ -1913,12 +2087,20 @@
     <string name="login_menu_delete_button">Suprimeix</string>
     <!-- Login overflow menu edit button -->
     <string name="login_menu_edit_button">Edita</string>
+    <!-- Message in delete confirmation dialog for password -->
+    <string name="login_deletion_confirmation_2">Segur que voleu suprimir aquesta contrasenya?</string>
     <!-- Positive action of a dialog asking to delete  -->
     <string name="dialog_delete_positive">Suprimeix</string>
     <!-- Negative action of a dialog asking to delete login -->
     <string name="dialog_delete_negative">Cancel·la</string>
     <!--  The saved password options menu description. -->
     <string name="login_options_menu_2">Opcions de la contrasenya</string>
+    <!--  The editable text field for a website address. -->
+    <string name="saved_login_hostname_description_3">Camp de text editable per a l’adreça web.</string>
+    <!--  The editable text field for a username. -->
+    <string name="saved_login_username_description_3">Camp de text editable per al nom d’usuari.</string>
+    <!--  The editable text field for a login's password. -->
+    <string name="saved_login_password_description_2">Camp de text editable per a la contrasenya.</string>
     <!--  The button description to save changes to an edited password. -->
     <string name="save_changes_to_login_2">Desa els canvis.</string>
     <!--  The page title for editing a saved password. -->
@@ -2028,6 +2210,9 @@
     <!-- Title for search suggestions when the default search suggestion engine is anything other than Google. The first parameter is default search engine name. -->
     <string name="other_default_search_engine_suggestion_header">Cerca amb %s</string>
 
+    <!-- Default browser experiment -->
+    <!-- Default browser card title -->
+    <string name="default_browser_experiment_card_title">Canvieu el navegador per defecte</string>
     <!-- Default browser card text -->
     <string name="default_browser_experiment_card_text">Feu que els enllaços dels llocs web, del correu electrònic i dels missatges s’obrin automàticament en el Firefox.</string>
 
@@ -2045,7 +2230,7 @@
 
     <!-- Pocket recommended stories -->
     <!-- Header text for a section on the home screen. -->
-    <string name="pocket_stories_header_1">Articles suggeridors</string>
+    <string name="pocket_stories_header_1">Articles suggerents</string>
     <!-- Header text for a section on the home screen. -->
     <string name="pocket_stories_categories_header">Articles per tema</string>
     <!-- Text of a button allowing users to access an external url for more Pocket recommendations. -->
@@ -2079,6 +2264,8 @@
     <string name="review_quality_check_grade_title">Són fiables aquestes ressenyes?</string>
     <!-- Title for when the rating has been updated by the review checker -->
     <string name="review_quality_check_adjusted_rating_title">Valoració ajustada</string>
+    <!-- Description for a product's adjusted star rating. The text presents that the product's reviews which were evaluated as unreliable were removed from the adjusted rating. -->
+    <string name="review_quality_check_adjusted_rating_description_2">Basat en ressenyes fiables</string>
     <!-- Title for list of highlights from a product's review emphasizing a product's important traits. -->
     <string name="review_quality_check_highlights_title">Punts destacats de les ressenyes recents</string>
     <!-- Title for section explaining how we analyze the reliability of a product's reviews. -->
@@ -2134,6 +2321,8 @@
     <string name="review_quality_check_product_availability_warning_body">Si veieu que torna a haver-hi estoc del producte, informeu-nos i en comprovarem les ressenyes.</string>
     <!-- Clickable text for warning card informing the user that the current product is currently not available. Clicking this should inform the server that the product is available. -->
     <string name="review_quality_check_product_availability_warning_action_2">Informa que hi ha estoc del producte</string>
+    <!-- Title for warning card informing the user that the current product's analysis is still processing. The parameter is the percentage progress (0-100%) of the analysis process (e.g. 56%). -->
+    <string name="review_quality_check_analysis_in_progress_warning_title_2">S’està comprovant la qualitat de la ressenya (%s)</string>
     <!-- Text for body of warning card informing the user that the current product's analysis is still processing. -->
     <string name="review_quality_check_analysis_in_progress_warning_body">Això pot trigar uns 60 segons.</string>
     <!-- Title for info card displayed after the user reports a product is back in stock. -->
@@ -2176,6 +2365,12 @@
     <string name="review_quality_check_contextual_onboarding_learn_more">Gràcies al %1$s de Mozilla, us ajudem a evitar ressenyes esbiaixades i no autèntiques. El nostre model d\'IA sempre millora per a protegir-vos mentre compreu. %2$s</string>
     <!-- Clickable text from the contextual onboarding card that links to review quality check support article. -->
     <string name="review_quality_check_contextual_onboarding_learn_more_link">Més informació</string>
+    <!-- Caption text to be displayed in review quality check contextual onboarding card above the opt-in button. First parameter is Firefox app name, third parameter is the Fakespot product name. Second & fourth are for clickable texts defined in review_quality_check_contextual_onboarding_privacy_policy_3 and review_quality_check_contextual_onboarding_terms_use. -->
+    <string name="review_quality_check_contextual_onboarding_caption_3" moz:RemovedIn="124" tools:ignore="UnusedResources">En seleccionar «Sí, prova-ho», accepteu l’%2$s del %1$s i les %4$s del %3$s.</string>
+    <!-- Caption text to be displayed in review quality check contextual onboarding card above the opt-in button. First parameter is Firefox app name, third parameter is the Fakespot product name. Second & fourth are for clickable texts defined in review_quality_check_contextual_onboarding_privacy_policy_3 and review_quality_check_contextual_onboarding_terms_use. -->
+    <string name="review_quality_check_contextual_onboarding_caption_4">En seleccionar «Sí, prova-ho», accepteu l’%2$s del %1$s i les %4$s del %3$s.</string>
+    <!-- Clickable text from the review quality check contextual onboarding card that links to Fakespot privacy notice. -->
+    <string name="review_quality_check_contextual_onboarding_privacy_policy_3">avís de privadesa</string>
     <!-- Clickable text from the review quality check contextual onboarding card that links to Fakespot terms of use. -->
     <string name="review_quality_check_contextual_onboarding_terms_use">condicions d\'ús</string>
     <!-- Text for opt-in button from the review quality check contextual onboarding card. -->
@@ -2237,46 +2432,98 @@
     <!-- Title for dialog displayed when trying to access links present in a text. -->
     <string name="a11y_links_title">Enllaços</string>
 
+    <!-- Additional content description for text bodies that contain urls. -->
+    <string name="a11y_links_available">Enllaços disponibles</string>
+
     <!-- Translations feature-->
 
     <!-- Translation request dialog -->
     <!-- Title for the translation dialog that allows a user to translate the webpage. -->
     <string name="translations_bottom_sheet_title">Voleu traduir aquesta pàgina?</string>
+    <!-- Title for the translation dialog after a translation was completed successfully.
+    The first parameter is the name of the language that the page was translated from, for example, "French".
+    The second parameter is the name of the language that the page was translated to, for example, "English". -->
+    <string name="translations_bottom_sheet_title_translation_completed">Pàgina traduïda de %1$s a %2$s</string>
+    <!-- Title for the translation dialog that allows a user to translate the webpage when a user uses the translation feature the first time. The first parameter is the name of the application, for example, "Fenix". -->
+    <string name="translations_bottom_sheet_title_first_time">Proveu les traduccions privades al %1$s</string>
+    <!-- Additional information on the translation dialog that appears when a user uses the translation feature the first time. The first parameter is clickable text with a link, for example, "Learn more". -->
+    <string name="translations_bottom_sheet_info_message">Per a la vostra privadesa, les traduccions no surten mai del dispositiu. Aviat hi hauran llengües noves i millores disponibles. %1$s</string>
     <!-- Text that links to additional information about the Firefox translations feature. -->
     <string name="translations_bottom_sheet_info_message_learn_more">Més informació</string>
     <!-- Label for the dropdown to select which language to translate from on the translations dialog. Usually the translate from language selected will be the same as the page language. -->
     <string name="translations_bottom_sheet_translate_from">Tradueix de:</string>
     <!-- Label for the dropdown to select which language to translate to on the translations dialog. Usually the translate to language selected will be the user's preferred language. -->
     <string name="translations_bottom_sheet_translate_to">Tradueix a:</string>
+    <!-- Label for the dropdown to select which language to translate from on the translations dialog when the page language is not supported. This selection is to allow the user to select another language, in case we automatically detected the page language incorrectly. -->
+    <string name="translations_bottom_sheet_translate_from_unsupported_language">Proveu una altra la llengua d’origen</string>
     <!-- Button text on the translations dialog to dismiss the dialog and return to the browser. -->
     <string name="translations_bottom_sheet_negative_button">Ara no</string>
+    <!-- Button text on the translations dialog to restore the translated website back to the original untranslated version. -->
+    <string name="translations_bottom_sheet_negative_button_restore">Mostra l’original</string>
+    <!-- Accessibility announcement (not visible, for screen readers etc.) for the translations dialog after restore button was pressed that indicates the original untranslated page was loaded. -->
+    <string name="translations_bottom_sheet_restore_accessibility_announcement">S’ha carregat la pàgina original sense traduir</string>
     <!-- Button text on the translations dialog when a translation error appears, used to dismiss the dialog and return to the browser. -->
     <string name="translations_bottom_sheet_negative_button_error">Fet</string>
     <!-- Button text on the translations dialog to begin a translation of the website. -->
     <string name="translations_bottom_sheet_positive_button">Tradueix</string>
+    <!-- Button text on the translations dialog when a translation error appears. -->
+    <string name="translations_bottom_sheet_positive_button_error">Torna-ho a provar</string>
     <!-- Inactive button text on the translations dialog that indicates a translation is currently in progress. This button will be accompanied by a loading icon. -->
     <string name="translations_bottom_sheet_translating_in_progress">S\'està traduint</string>
+    <!-- Button content description (not visible, for screen readers etc.) for the translations dialog translate button that indicates a translation is currently in progress. -->
+    <string name="translations_bottom_sheet_translating_in_progress_content_description">S’està traduint…</string>
     <!-- Default dropdown option when initially selecting a language from the translations dialog language selection dropdown. -->
     <string name="translations_bottom_sheet_default_dropdown_selection">Trieu una llengua</string>
     <!-- The title of the warning card informs the user that a translation could not be completed. -->
     <string name="translation_error_could_not_translate_warning_text">Hi ha hagut un problema en traduir. Torneu-ho a provar.</string>
 
 
+    <!-- The title of the warning card informs the user that the list of languages cannot be loaded. -->
+    <string name="translation_error_could_not_load_languages_warning_text">No s’han pogut carregar les llengües. Comproveu la connexió a Internet i torneu-ho a provar.</string>
+    <!-- The title of the warning card informs the user that a language is not supported. The first parameter is the name of the language that is not supported. -->
+    <string name="translation_error_language_not_supported_warning_text">Malauradament, encara no s’admet %1$s.</string>
+    <!-- Snackbar title shown if the user closes the Translation Request dialogue and a translation is in progress. -->
+    <string name="translation_in_progress_snackbar">S’està traduint…</string>
+    <!-- Title for the data saving mode warning dialog used in the translation request dialog.
+    This dialog will be presented when the user attempts to perform
+    a translation without the necessary language files downloaded first when Android's data saver mode is enabled and the user is not using WiFi.
+    The first parameter is the size in kilobytes or megabytes of the language file. -->
+    <string name="translations_download_language_file_dialog_title">Voleu baixar la llengua en mode d’estalvi de dades (%1$s)?</string>
+
+
+    <!-- Translations options dialog -->
+    <!-- Title of the translation options dialog that allows a user to set their translation options for the site the user is currently on. -->
+    <string name="translation_option_bottom_sheet_title_heading">Opcions de traducció</string>
+    <!-- Toggle switch label that allows a user to set the setting if they would like the browser to always offer or suggest translations when available. -->
+    <string name="translation_option_bottom_sheet_always_translate">Ofereix-ne la traducció sempre</string>
     <!-- Toggle switch label that allows a user to set if they would like a given language to automatically translate or not. The first parameter is the language name, for example, "Spanish". -->
     <string name="translation_option_bottom_sheet_always_translate_in_language">Tradueix sempre %1$s</string>
     <!-- Toggle switch label that allows a user to set if they would like to never be offered a translation of the given language. The first parameter is the language name, for example, "Spanish". -->
     <string name="translation_option_bottom_sheet_never_translate_in_language">No tradueixis mai %1$s</string>
     <!-- Toggle switch label that allows a user to set the setting if they would like the browser to never translate the site the user is currently visiting. -->
     <string name="translation_option_bottom_sheet_never_translate_site">No tradueixis mai aquest lloc</string>
+    <!-- Toggle switch description that will appear under the "Never translate these sites" settings toggle switch to provide more information on how this setting interacts with other settings. -->
+    <string name="translation_option_bottom_sheet_switch_never_translate_site_description">Preval sobre la resta de paràmetres</string>
+    <!-- Toggle switch description that will appear under the "Never translate" and "Always translate" toggle switch settings to provide more information on how these  settings interacts with other settings. -->
+    <string name="translation_option_bottom_sheet_switch_description">Preval sobre oferir-ne la traducció</string>
     <!-- Button text for the button that will take the user to the translation settings dialog. -->
     <string name="translation_option_bottom_sheet_translation_settings">Paràmetres de les traduccions</string>
     <!-- Button text for the button that will take the user to a website to learn more about how translations works in the given app. The first parameter is the name of the application, for example, "Fenix". -->
     <string name="translation_option_bottom_sheet_about_translations">Quant a les traduccions al %1$s</string>
 
+    <!-- Content description (not visible, for screen readers etc.) for closing the translations bottom sheet. -->
+    <string name="translation_option_bottom_sheet_close_content_description">Tanca el full Traduccions</string>
+    <!-- The title of the warning card informs the user that an error has occurred at page settings. -->
+    <string name="translation_option_bottom_sheet_error_warning_text">Alguns paràmetres no estan disponibles temporalment.</string>
+
     <!-- Translation settings dialog -->
     <!-- Title of the translation settings dialog that allows a user to set their preferred translation settings. -->
     <string name="translation_settings_toolbar_title">Traduccions</string>
 
+    <!-- Toggle switch label that indicates that the browser should signal or indicate when a translation is possible for any page. -->
+    <string name="translation_settings_offer_to_translate">Ofereix-ne la traducció quan sigui possible</string>
+    <!-- Toggle switch label that indicates that downloading files required for translating is permitted when using data saver mode in Android. -->
+    <string name="translation_settings_always_download">Baixa sempre les llengües en mode d’estalvi de dades</string>
     <!-- Section header text that begins the section of a list of different options the user may select to adjust their translation preferences. -->
     <string name="translation_settings_translation_preference">Preferències de traducció</string>
     <!-- Button text for the button that will take the user to the automatic translations settings dialog. On the automatic translations settings dialog, the user can set if translations should occur automatically for a given language. -->
@@ -2291,19 +2538,36 @@
     <!-- Title of the automatic translation preference screen that will appear on the toolbar.-->
     <string name="automatic_translation_toolbar_title_preference">Traducció automàtica</string>
 
+    <!-- Screen header presenting the automatic translation preference feature. It will appear under the toolbar. -->
+    <string name="automatic_translation_header_preference">Trieu una llengua per gestionar-ne les preferències de «tradueix sempre» i «no tradueixis mai».</string>
+    <!-- The title of the warning card informs the user that the system could not load languages for translation settings. -->
+    <string name="automatic_translation_error_warning_text">No s\'han pogut carregar les llengües. Proveu-ho més tard.</string>
+
+    <!-- Automatic translation options preference screen -->
+    <!-- Preference option for offering to translate. Radio button title text.-->
+    <string name="automatic_translation_option_offer_to_translate_title_preference">Ofereix-ne la traducció (per defecte)</string>
     <!-- Preference option for offering to translate. Radio button summary text. The first parameter is the name of the app defined in app_name (for example: Fenix)-->
     <string name="automatic_translation_option_offer_to_translate_summary_preference">El %1$s oferirà traduir llocs en aquesta llengua.</string>
     <!-- Preference option for always translate. Radio button title text. -->
     <string name="automatic_translation_option_always_translate_title_preference">Tradueix sempre</string>
 
+    <!-- Preference option for always translate. Radio button summary text. The first parameter is the name of the app defined in app_name (for example: Fenix)-->
+    <string name="automatic_translation_option_always_translate_summary_preference">El %1$s traduirà aquesta llengua automàticament en carregar la pàgina.</string>
     <!-- Preference option for never translate. Radio button title text.-->
     <string name="automatic_translation_option_never_translate_title_preference">No tradueixis mai</string>
     <!-- Preference option for never translate. Radio button summary text. The first parameter is the name of the app defined in app_name (for example: Fenix)-->
     <string name="automatic_translation_option_never_translate_summary_preference">El %1$s no oferirà mai traduir llocs en aquesta llengua.</string>
 
+    <!-- Never translate site preference screen -->
+    <!-- Title of the never translate site preference screen that will appear on the toolbar.-->
+    <string name="never_translate_site_toolbar_title_preference">No tradueixis mai aquests llocs</string>
+    <!-- Screen header presenting the never translate site preference feature. It will appear under the toolbar. -->
+    <string name="never_translate_site_header_preference">Per afegir un lloc nou: visiteu-lo i trieu «No tradueixis mai aquest lloc» al menú de traducció.</string>
     <!-- Content description (not visible, for screen readers etc.): For a never-translated site list item that is selected.
              The first parameter is web site url (for example:"wikipedia.com") -->
     <string name="never_translate_site_item_list_content_description_preference">Elimina %1$s</string>
+    <!-- The title of the warning card informs the user that an error has occurred at the never translate sites list. -->
+    <string name="never_translate_site_error_warning_text">No s\'han pogut carregar els llocs. Proveu-ho més tard.</string>
     <!-- The Delete site dialogue title will appear when the user clicks on a list item.
              The first parameter is web site url (for example:"wikipedia.com") -->
     <string name="never_translate_site_dialog_title_preference">Voleu suprimir %1$s?</string>
@@ -2312,16 +2576,27 @@
     <!-- The Delete site dialogue negative button will appear when the user clicks on a list item. The dialog will be dismissed. -->
     <string name="never_translate_site_dialog_cancel_preference">Cancel·la</string>
 
+    <!-- Download languages preference screen -->
+    <!-- Title of the download languages preference screen toolbar.-->
+    <string name="download_languages_toolbar_title_preference">Baixa llengües</string>
+    <!-- Screen header presenting the download language preference feature. It will appear under the toolbar.The first parameter is "Learn More," a clickable text with a link. Talkback will append this to say "Double tap to open link to learn more". -->
+    <string name="download_languages_header_preference">Baixeu llengües completes per a fer traduccions més ràpides i sense connexió. %1$s</string>
     <!-- Clickable text from the screen header that links to a website. -->
     <string name="download_languages_header_learn_more_preference">Més informació</string>
     <!-- The subhead of the download language preference screen will appear above the pivot language. -->
     <string name="download_languages_available_languages_preference">Llengües disponibles</string>
     <!-- Text that will appear beside a core or pivot language package name to show that the language is necessary for the translation feature to function. -->
     <string name="download_languages_default_system_language_require_preference">necessari</string>
+    <!-- A text for download language preference item.
+    The first parameter is the language name, for example, "Spanish".
+    The second parameter is the language file size, for example, "(3.91 KB)" or, if the language package name is a pivot language, "(required)". -->
+    <string name="download_languages_language_item_preference">%1$s (%2$s)</string>
     <!-- The subhead of the download language preference screen will appear above the items that were not downloaded. -->
     <string name="download_language_header_preference">Baixa llengües</string>
     <!-- All languages list item. When the user presses this item, they can download all languages. -->
     <string name="download_language_all_languages_item_preference">Totes les llengües</string>
+    <!-- All languages list item. When the user presses this item, they can delete all languages that were downloaded. -->
+    <string name="download_language_all_languages_item_preference_to_delete">Suprimeix totes les llengües</string>
     <!-- Content description (not visible, for screen readers etc.): For a language list item that was downloaded, the user can now delete it. -->
     <string name="download_languages_item_content_description_downloaded_state">Suprimeix</string>
     <!-- Content description (not visible, for screen readers etc.): For a language list item, downloading is in progress. -->
@@ -2330,19 +2605,45 @@
     <!-- Content description (not visible, for screen readers etc.): For a language list item that was not downloaded. -->
     <string name="download_languages_item_content_description_not_downloaded_state">Baixa</string>
 
+    <!-- Content description (not visible, for screen readers etc.): For a language list item that is selected. -->
+    <string name="download_languages_item_content_description_selected_state" moz:removedIn="127" tools:ignore="UnusedResources">Seleccionat</string>
+    <!-- The title of the warning card informs the user that an error has occurred when fetching the list of languages. -->
+    <string name="download_languages_fetch_error_warning_text">No s’han pogut carregar les llengües. Proveu-ho més tard.</string>
+    <!-- The title of the warning card informs the user that an error has occurred at downloading a language.
+      The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_error_warning_text"><![CDATA[No s’ha pogut baixar <b>%1$s</b>. Torneu-ho a provar.]]></string>
+    <!-- The title of the warning card informs the user that an error has occurred at deleting a language.
+          The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_delete_error_warning_text"><![CDATA[No s’ha pogut suprimir <b>%1$s</b>. Torneu-ho a provar.]]></string>
+
     <!-- Title for the dialog used by the translations feature to confirm deleting a language.
     The dialog will be presented when the user requests deletion of a language.
     The first parameter is the name of the language, for example, "Spanish" and the second parameter is the size in kilobytes or megabytes of the language file. -->
     <string name="delete_language_file_dialog_title">Voleu suprimir %1$s (%2$s)?</string>
+    <!-- Additional information for the dialog used by the translations feature to confirm deleting a language. The first parameter is the name of the application, for example, "Fenix". -->
+    <string name="delete_language_file_dialog_message">Si suprimiu aquesta llengua, el %1$s baixarà llengües parcialment en la memòria cau mentre traduïu.</string>
     <!-- Title for the dialog used by the translations feature to confirm deleting all languages file.
     The dialog will be presented when the user requests deletion of all languages file.
     The first parameter is the size in kilobytes or megabytes of the language file. -->
     <string name="delete_language_all_languages_file_dialog_title">Voleu suprimir totes les llengües (%1$s)?</string>
+    <!-- Additional information for the dialog used by the translations feature to confirm deleting all languages file. The first parameter is the name of the application, for example, "Fenix". -->
+    <string name="delete_language_all_languages_file_dialog_message">Si suprimiu totes les llengües, el %1$s baixarà llengües parcialment a la memòria cau mentre traduïu.</string>
     <!-- Button text on the dialog used by the translations feature to confirm deleting a language. -->
     <string name="delete_language_file_dialog_positive_button_text">Suprimeix</string>
     <!-- Button text on the dialog used by the translations feature to cancel deleting a language. -->
     <string name="delete_language_file_dialog_negative_button_text">Cancel·la</string>
 
+    <!-- Title for the data saving mode warning dialog used by the translations feature.
+    This dialog will be presented when the user attempts to download a language or perform
+    a translation without the necessary language files downloaded first when Android's data saver mode is enabled and the user is not using WiFi.
+    The first parameter is the size in kilobytes or megabytes of the language file.-->
+    <string name="download_language_file_dialog_title">Voleu baixar en mode d’estalvi de dades (%1$s)?</string>
+    <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation. -->
+    <string name="download_language_file_dialog_message_all_languages">Les llengües es baixen parcialment a la memòria cau perquè les traduccions siguin privades.</string>
+    <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation without mentioning the cache. -->
+    <string name="download_language_file_dialog_message_all_languages_no_cache" moz:removedIn="129" tools:ignore="UnusedResources">Les llengües es baixen parcialment perquè les traduccions siguin privades.</string>
+    <!-- Checkbox label text on the data saving mode warning dialog used by the translations feature. This checkbox allows users to ignore the data usage warnings. -->
+    <string name="download_language_file_dialog_checkbox_text">Baixa sempre en mode d’estalvi de dades</string>
     <!-- Button text on the data saving mode warning dialog used by the translations feature to allow users to confirm they wish to continue and download the language file. -->
     <string name="download_language_file_dialog_positive_button_text">Baixa</string>
     <!-- Button text on the data saving mode warning dialog used by the translations feature to allow users to confirm they wish to continue and download the language file and perform a translation. -->
@@ -2356,6 +2657,9 @@
     <!-- Content description (not visible, for screen readers etc.): Navigate back within the debug drawer. -->
     <string name="debug_drawer_back_button_content_description">Vés enrere</string>
 
+    <!-- Content description (not visible, for screen readers etc.): Open debug drawer. -->
+    <string name="debug_drawer_fab_content_description">Obre el calaix de depuració</string>
+
     <!-- Debug drawer tabs tools -->
     <!-- The title of the Tab Tools feature in the Debug Drawer. -->
     <string name="debug_drawer_tab_tools_title">Eines de pestanyes</string>
@@ -2363,6 +2667,8 @@
     <string name="debug_drawer_tab_tools_tab_count_title">Recompte de pestanyes</string>
     <!-- The active tab count category in the tab count section in Tab Tools. -->
     <string name="debug_drawer_tab_tools_tab_count_normal" moz:removedIn="127" tools:ignore="UnusedResources">Actives</string>
+    <!-- The active tab count category in the tab count section in Tab Tools. -->
+    <string name="debug_drawer_tab_tools_tab_count_active">Actives</string>
     <!-- The inactive tab count category in the tab count section in Tab Tools. -->
     <string name="debug_drawer_tab_tools_tab_count_inactive">Inactives</string>
     <!-- The private tab count category in the tab count section in Tab Tools. -->
@@ -2373,6 +2679,16 @@
     <string name="debug_drawer_tab_tools_tab_creation_tool_title">Eina de creació de pestanyes</string>
     <!-- The label of the text field in the tab creation tool. -->
     <string name="debug_drawer_tab_tools_tab_creation_tool_text_field_label">Nombre de pestanyes a crear</string>
+    <!-- The error message of the text field in the tab creation tool when the text field is empty -->
+    <string name="debug_drawer_tab_tools_tab_quantity_empty_error">El camp de text és buit</string>
+    <!-- The error message of the text field in the tab creation tool when the text field has characters other than digits -->
+    <string name="debug_drawer_tab_tools_tab_quantity_non_digits_error">Introduïu només nombre enters positius</string>
+    <!-- The error message of the text field in the tab creation tool when the text field is a zero -->
+    <string name="debug_drawer_tab_tools_tab_quantity_non_zero_error">Introduïu un nombre superior a zero</string>
+    <!-- The error message of the text field in the tab creation tool when the text field is a
+        quantity greater than the max tabs. The first parameter is the maximum number of tabs
+        that can be generated in one operation.-->
+    <string name="debug_drawer_tab_tools_tab_quantity_exceed_max_error">S’ha superat el nombre màxim de pestanyes (%1$s) que es poden generar en una operació</string>
     <!-- The button text to add tabs to the active tab group in the tab creation tool. -->
     <string name="debug_drawer_tab_tools_tab_creation_tool_button_text_active">Afegeix a les pestanyes actives</string>
     <!-- The button text to add tabs to the inactive tab group in the tab creation tool. -->
@@ -2380,4 +2696,58 @@
     <!-- The button text to add tabs to the private tab group in the tab creation tool. -->
     <string name="debug_drawer_tab_tools_tab_creation_tool_button_text_private">Afegeix a les pestanyes privades</string>
 
-    </resources>
+    <!-- Microsurvey -->
+    <!-- Prompt view -->
+    <!-- The microsurvey prompt title. Note: The word "Firefox" should NOT be translated -->
+    <string name="micro_survey_prompt_title" tools:ignore="UnusedResources">Ajudeu-nos a millorar el Firefox. Només és un minut.</string>
+    <!-- The continue button label -->
+    <string name="micro_survey_continue_button_label" tools:ignore="UnusedResources">Continua</string>
+    <!-- Survey view -->
+    <!-- The survey header -->
+    <string name="micro_survey_survey_header" moz:removedIn="129" tools:ignore="UnusedResources">Empleneu aquesta enquesta</string>
+    <!-- The survey header -->
+    <string name="micro_survey_survey_header_2">Empleneu l’enquesta</string>
+    <!-- The privacy notice link -->
+    <string name="micro_survey_privacy_notice" moz:removedIn="129" tools:ignore="UnusedResources">Avís de privadesa</string>
+    <!-- The privacy notice link -->
+    <string name="micro_survey_privacy_notice_2">Avís de privadesa</string>
+    <!-- The submit button label text -->
+    <string name="micro_survey_submit_button_label">Envia</string>
+    <!-- The close button label text -->
+    <string name="micro_survey_close_button_label" moz:removedIn="128" tools:ignore="UnusedResources">Tanca</string>
+    <!-- The survey completion header -->
+    <string name="micro_survey_survey_header_confirmation" tools:ignore="UnusedResources">Enquesta completa</string>
+    <!-- The survey completion confirmation text -->
+    <string name="micro_survey_feedback_confirmation">Gràcies per la vostra opinió</string>
+    <!-- Option for likert scale -->
+    <string name="likert_scale_option_1" tools:ignore="UnusedResources">Molt satisfet/a</string>
+    <!-- Option for likert scale -->
+    <string name="likert_scale_option_2" tools:ignore="UnusedResources">Satisfet/a</string>
+    <!-- Option for likert scale -->
+    <string name="likert_scale_option_3" tools:ignore="UnusedResources">Neutre/a</string>
+    <!-- Option for likert scale -->
+    <string name="likert_scale_option_4" tools:ignore="UnusedResources">Insatisfet/a</string>
+    <!-- Option for likert scale -->
+    <string name="likert_scale_option_5" tools:ignore="UnusedResources">Molt insatisfet/a</string>
+    <!-- Option for likert scale -->
+    <string name="likert_scale_option_6" tools:ignore="UnusedResources">No l’utilitzo</string>
+    <!-- Text shown in prompt for homepage microsurvey. 'Firefox' intentionally hardcoded here- -->
+    <string name="microsurvey_prompt_homepage_title" tools:ignore="UnusedResources">Esteu satisfet/a de la pàgina d’inici del Firefox?</string>
+    <!-- Accessibility -->
+    <!-- Content description (not visible, for screen readers etc.) for opening microsurvey bottom sheet. -->
+    <string name="microsurvey_open_handle_content_description" tools:ignore="UnusedResources">Obre l’enquesta</string>
+    <!-- Content description (not visible, for screen readers etc.) for closing microsurvey bottom sheet. -->
+    <string name="microsurvey_close_handle_content_description" tools:ignore="UnusedResources">Tanca l’enquesta</string>
+    <!-- Content description for "X" button that is closing microsurvey. -->
+    <string name="microsurvey_close_button_content_description" tools:ignore="UnusedResources">Tanca</string>
+
+    <!-- Debug drawer logins -->
+    <!-- The title of the Logins feature in the Debug Drawer. -->
+    <string name="debug_drawer_logins_title">Inicis de sessió</string>
+    <!-- The title of the logins section in the Logins feature, where the parameter will be the site domain  -->
+    <string name="debug_drawer_logins_current_domain_label">Domini actual: %s</string>
+    <!-- The label for a button to add a new fake login for the current domain in the Logins feature. -->
+    <string name="debug_drawer_logins_add_login_button">Afegeix un inici de sessió fals per a aquest domini</string>
+    <!-- Content description for delete button where parameter will be the username of the login -->
+    <string name="debug_drawer_logins_delete_login_button_content_description">Suprimeix l’inici de sessió amb el nom d\'usuari %s</string>
+</resources>
diff --git a/mobile/android/fenix/app/src/main/res/values-co/strings.xml b/mobile/android/fenix/app/src/main/res/values-co/strings.xml
index 29d82916256bb099121b61db2f9adf95b524ce8c..31ba9ca8ba8e78b23160961e49d38443d770f9a8 100644
--- a/mobile/android/fenix/app/src/main/res/values-co/strings.xml
+++ b/mobile/android/fenix/app/src/main/res/values-co/strings.xml
@@ -102,7 +102,7 @@
     <!-- Text for the info message. The first parameter is the name of the application.-->
     <string name="open_in_app_cfr_info_message_2">Pudete cunfigurà %1$s per apre autumaticamente i liami in d’altre appiecazioni.</string>
     <!-- Text for the positive action button -->
-    <string name="open_in_app_cfr_positive_button_text">Apre e preferenze</string>
+    <string name="open_in_app_cfr_positive_button_text">Apre i parametri</string>
     <!-- Text for the negative action button -->
     <string name="open_in_app_cfr_negative_button_text">Ricusà</string>
 
@@ -119,9 +119,9 @@
 
 
     <!-- Text for the info dialog when camera permissions have been denied but user tries to access a camera feature. -->
-    <string name="camera_permissions_needed_message">Accessu richiestu à l’apparechju-fotò. Accidite à e preferenze d’Android, picchichjate Permessi, è dopu Permette.</string>
+    <string name="camera_permissions_needed_message">Accessu richiestu à l’apparechju-fotò. Accidite à i parametri d’Android, picchichjate Permessi, è dopu Permette.</string>
     <!-- Text for the positive action button to go to Android Settings to grant permissions. -->
-    <string name="camera_permissions_needed_positive_button_text">Apre e preferenze</string>
+    <string name="camera_permissions_needed_positive_button_text">Apre i parametri</string>
     <!-- Text for the negative action button to dismiss the dialog. -->
     <string name="camera_permissions_needed_negative_button_text">Ricusà</string>
 
@@ -135,7 +135,7 @@
     <!-- Text for the banner message to tell users about our inactive tabs feature. -->
     <string name="tab_tray_inactive_onboarding_message">L’unghjette chì vo ùn avete micca viste dapoi duie settimane sò dispiazzate quì.</string>
     <!-- Text for the action link to go to Settings for inactive tabs. -->
-    <string name="tab_tray_inactive_onboarding_button_text">Disattivà in e preferenze</string>
+    <string name="tab_tray_inactive_onboarding_button_text">Disattivà in i parametri</string>
 
     <!-- Text for title for the auto-close dialog of the inactive tabs. -->
     <string name="tab_tray_inactive_auto_close_title">Chjusura autumatica dopu un mese ?</string>
@@ -158,8 +158,6 @@
 
     <!-- Shortcut action to open Passwords screen -->
     <string name="home_screen_shortcut_passwords">Parolle d’intesa</string>
-    <!-- Shortcut action to open Passwords screen -->
-    <string name="home_screen_shortcut_open_password_screen" moz:removedIn="126" tools:ignore="UnusedResources">Accurtatoghju per e parolle d’intesa</string>
 
     <!-- Recent Tabs -->
     <!-- Header text for jumping back into the recent tab in the home screen -->
@@ -200,20 +198,20 @@
     <string name="browser_menu_refresh">Attualizà</string>
     <!-- Content description (not visible, for screen readers etc.): Stop loading current website -->
     <string name="browser_menu_stop">Piantà</string>
-    <!-- Browser menu button that opens the addon manager -->
-    <string name="browser_menu_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">Moduli addiziunali</string>
     <!-- Browser menu button that opens the extensions manager -->
     <string name="browser_menu_extensions">Estensioni</string>
+    <!-- Browser menu button that opens the extensions manager -->
+    <string name="browser_menu_manage_extensions">Amministrà l’estensioni</string>
+    <!-- Browser menu button that opens AMO in a tab -->
+    <string name="browser_menu_discover_more_extensions">Scopre d’altre estensioni</string>
     <!-- Browser menu button that opens account settings -->
     <string name="browser_menu_account_settings">Infurmazione nant’à u contu</string>
-    <!-- Text displayed when there are no add-ons to be shown -->
-    <string name="no_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">Nisunu modulu quì</string>
     <!-- Browser menu button that sends a user to help articles -->
     <string name="browser_menu_help">Aiutu</string>
     <!-- Browser menu button that sends a to a the what's new article -->
     <string name="browser_menu_whats_new">Ciò chì hè novu</string>
     <!-- Browser menu button that opens the settings menu -->
-    <string name="browser_menu_settings">Preferenze</string>
+    <string name="browser_menu_settings">Parametri</string>
     <!-- Browser menu button that opens a user's library -->
     <string name="browser_menu_library">Bibliuteca</string>
     <!-- Browser menu toggle that requests a desktop site -->
@@ -222,8 +220,8 @@
     <string name="browser_menu_open_in_regular_tab">Apre in un’unghjetta nurmale</string>
     <!-- Browser menu toggle that adds a shortcut to the site on the device home screen. -->
     <string name="browser_menu_add_to_homescreen">Aghjunghje à u screnu d’accolta</string>
-    <!-- Browser menu toggle that installs a Progressive Web App shortcut to the site on the device home screen. -->
-    <string name="browser_menu_install_on_homescreen" moz:removedIn="126" tools:ignore="UnusedResources">Installà</string>
+    <!-- Browser menu toggle that adds a shortcut to the site on the device home screen. -->
+    <string name="browser_menu_add_to_homescreen_2">Aghjunghje à u screnu d’accolta…</string>
     <!-- Content description (not visible, for screen readers etc.) for the Resync tabs button -->
     <string name="resync_button_content_description">Risincrunizà</string>
     <!-- Browser menu button that opens the find in page menu -->
@@ -233,9 +231,13 @@
     <!-- Browser menu button that opens the translations dialog, which has options to translate the current browser page. -->
     <string name="browser_menu_translations">Traduce a pagina</string>
     <!-- Browser menu button that saves the current tab to a collection -->
+    <string name="browser_menu_save_to_collection">Arregistrà in una cullezzione…</string>
+    <!-- Browser menu button that saves the current tab to a collection -->
     <string name="browser_menu_save_to_collection_2">Arregistrà in una cullezzione</string>
     <!-- Browser menu button that open a share menu to share the current site -->
     <string name="browser_menu_share">Sparte</string>
+    <!-- Browser menu button that open a share menu to share the current site -->
+    <string name="browser_menu_share_2">Sparte…</string>
     <!-- Browser menu button shown in custom tabs that opens the current tab in Fenix
         The first parameter is the name of the app defined in app_name (for example: Fenix) -->
     <string name="browser_menu_open_in_fenix">Apre cù %1$s</string>
@@ -287,6 +289,24 @@
          bookmarking a page, saving to collection, shortcut or as a PDF, and adding to home screen -->
     <string name="browser_menu_save">Arregistrà</string>
 
+    <!-- Browser menu label that bookmarks the currently visited page -->
+    <string name="browser_menu_bookmark_this_page">Indettà sta pagina</string>
+    <!-- Browser menu label that navigates to the edit bookmark screen for the current bookmarked page -->
+    <string name="browser_menu_edit_bookmark">Mudificà l’indetta</string>
+    <!-- Browser menu label that the saves the currently visited page as a PDF -->
+    <string name="browser_menu_save_as_pdf">Arregistrà cum’è PDF…</string>
+    <!-- Browser menu label for turning ON reader view of the current visited page -->
+    <string name="browser_menu_turn_on_reader_view">Attivà u modu di lettura</string>
+    <!-- Browser menu label for turning OFF reader view of the current visited page -->
+    <string name="browser_menu_turn_off_reader_view">Disattivà u modu di lettura</string>
+    <!-- Browser menu label for navigating to the translation feature, which provides language translation options the current visited page -->
+    <string name="browser_menu_translate_page">Traduce a pagina…</string>
+    <!-- Browser menu label that is displayed when the current page has been translated by the translation feature.
+         The first parameter is the name of the language that page was translated to (e.g. English). -->
+    <string name="browser_menu_translated_to">Tradutta in %1$s</string>
+    <!-- Browser menu label for the print feature -->
+    <string name="browser_menu_print">Stampà…</string>
+
     <!-- Extensions management fragment -->
     <!-- Text displayed when there are no extensions to be shown -->
     <string name="extensions_management_no_extensions">Nisuna estensione dispunibule</string>
@@ -318,7 +338,7 @@
     <!-- Button in the search view that lets a user search by scanning a QR code -->
     <string name="search_scan_button">Numerizà</string>
     <!-- Button in the search view when shortcuts are displayed that takes a user to the search engine settings -->
-    <string name="search_shortcuts_engine_settings">Preferenze di u mutore di ricerca</string>
+    <string name="search_shortcuts_engine_settings">Parametri di u mutore di ricerca</string>
     <!-- Button in the search view that lets a user navigate to the site in their clipboard -->
     <string name="awesomebar_clipboard_title">Riempie da u preme’papei</string>
     <!-- Button in the search suggestions onboarding that allows search suggestions in private sessions -->
@@ -336,7 +356,7 @@
     <string name="search_engine_suggestions_description">Ricercà direttamente da a barra d’indirizzu</string>
 
     <!-- Menu option in the search selector menu to open the search settings -->
-    <string name="search_settings_menu_item">Preferenze di ricerca</string>
+    <string name="search_settings_menu_item">Parametri di ricerca</string>
 
     <!-- Header text for the search selector menu -->
     <string name="search_header_menu_item_2">Sta volta, ricercà cù :</string>
@@ -383,8 +403,6 @@
     <!-- Juno first user onboarding flow experiment, strings are marked unused as they are only referenced by Nimbus experiments. -->
     <!-- Description for learning more about our privacy notice. -->
     <string name="juno_onboarding_privacy_notice_text">Dichjarazione di cunfidenzialità di Firefox</string>
-    <!-- Description for learning more about our privacy notice. -->
-    <string name="juno_onboarding_privacy_notice_text_2" moz:removedIn="125" tools:ignore="UnusedResources">Sapene di più in a nostra dichjarazione di cunfidenzialità</string>
     <!-- Title for set firefox as default browser screen used by Nimbus experiments. -->
     <string name="juno_onboarding_default_browser_title_nimbus_2">A vostra prutezzione cunta per noi</string>
     <!-- Title for set firefox as default browser screen used by Nimbus experiments.
@@ -453,7 +471,7 @@
 
     <!-- Preferences -->
     <!-- Title for the settings page-->
-    <string name="settings">Preferenze</string>
+    <string name="settings">Parametri</string>
     <!-- Preference category for general settings -->
     <string name="preferences_category_general">Generale</string>
     <!-- Preference category for all links about Fenix -->
@@ -577,7 +595,9 @@
     <!-- Preference category for account information -->
     <string name="preferences_category_account">Contu</string>
     <!-- Preference for changing where the toolbar is positioned -->
-    <string name="preferences_toolbar">Barra d’attrezzi</string>
+    <string name="preferences_toolbar" moz:removedIn="129" tools:ignore="UnusedResources">Barra d’attrezzi</string>
+    <!-- Preference for changing where the AddressBar is positioned -->
+    <string name="preferences_toolbar_2">Pusizione di a barra d’indirizzu</string>
     <!-- Preference for changing default theme to dark or light mode -->
     <string name="preferences_theme">Tema</string>
     <!-- Preference for customizing the home screen -->
@@ -620,7 +640,7 @@
     <!-- Preference title for switch preference to suggest synced tabs when searching -->
     <string name="preferences_search_synced_tabs">Ricercà in l’unghjette sincrunizate</string>
     <!-- Preference for account settings -->
-    <string name="preferences_account_settings">Preferenze di u contu</string>
+    <string name="preferences_account_settings">Parametri di u contu</string>
 
     <!-- Preference for enabling url autocomplete-->
     <string name="preferences_enable_autocomplete_urls">Compie autumaticamente l’indirizzi</string>
@@ -650,13 +670,8 @@
     <!-- Message to indicate users that we are quitting the application to apply the changes -->
     <string name="quit_application">Chjusura di l’appiecazione per piglià i cambiamenti in contu…</string>
 
-    <!-- Preference for add_ons -->
-    <string name="preferences_addons" moz:removedIn="126" tools:ignore="UnusedResources">Moduli addiziunali</string>
-
     <!-- Preference for extensions -->
     <string name="preferences_extensions">Estensioni</string>
-    <!-- Preference for installing a local add-on -->
-    <string name="preferences_install_local_addon" moz:removedIn="126" tools:ignore="UnusedResources">Installà un modulu addiziunale da un schedariu</string>
     <!-- Preference for installing a local extension -->
     <string name="preferences_install_local_extension">Installà un’estensione da un schedariu</string>
     <!-- Preference for notifications -->
@@ -673,20 +688,17 @@
     <!-- The title of the optional permissions section from addon's permissions screen -->
     <string name="addons_permissions_heading_optional" tools:ignore="UnusedResources">Ozzionale</string>
 
-    <!-- The title of the section with websites that have permissions granted from addon's permissions screen -->
-    <string name="addons_permissions_heading_read_and_change_website_data" tools:ignore="UnusedResources">Fighjà è cambià i dati di i siti web</string>
-    <!-- The description of the icon that can delete one of the websites displayed  -->
-    <string name="addons_permissions_icon_description_delete_website" tools:ignore="UnusedResources">Squassà u situ web</string>
     <!-- The title of the origin permission option allowing a user to enable the extension to run on all sites -->
     <string name="addons_permissions_allow_for_all_sites" tools:ignore="UnusedResources">Permette per tutti i siti</string>
 
     <!-- The subtitle for the allow for all sites preference toggle -->
     <string name="addons_permissions_allow_for_all_sites_subtitle" tools:ignore="UnusedResources">S’è vo fate cunfidenza à st’estensione, pudete cuncede u permessu nant’à tutti i siti web.</string>
 
+    <!-- The text shown when an extension does not require permissions -->
+    <string name="addons_does_not_require_permissions">St’estensione ùn richiede alcunu permessu.</string>
+
     <!-- Add-on Preferences -->
     <!-- Preference to customize the configured AMO (addons.mozilla.org) collection -->
-    <string name="preferences_customize_amo_collection" moz:removedIn="126" tools:ignore="UnusedResources">Cullezzione persunalizata di moduli addiziunale</string>
-    <!-- Preference to customize the configured AMO (addons.mozilla.org) collection -->
     <string name="preferences_customize_extension_collection">Cullezzione persunalizata d’estensioni</string>
     <!-- Button caption to confirm the add-on collection configuration -->
     <string name="customize_addon_collection_ok">Vai</string>
@@ -697,9 +709,6 @@
     <!-- Hint displayed on input field for custom collection user ID-->
     <string name="customize_addon_collection_user_hint">Prupietariu di a cullezzione (Id. d’utilizatore)</string>
 
-    <!-- Toast shown after confirming the custom add-on collection configuration -->
-    <string name="toast_customize_addon_collection_done" moz:removedIn="126" tools:ignore="UnusedResources">Cullezzione di moduli addiziunale mudificata. Chjusura di l’appiecazione per piglialla in contu…</string>
-
     <!-- Toast shown after confirming the custom extension collection configuration -->
     <string name="toast_customize_extension_collection_done">Cullezzione d’estensioni mudificata. Chjusura di l’appiecazione per piglià i cambiamenti in contu…</string>
 
@@ -759,35 +768,23 @@
     <string name="wallpapers_onboarding_dialog_explore_more_button_text">Scuprite d’altri sfonduli di screnu</string>
 
     <!-- Add-ons general availability nimbus message-->
-    <!-- Title of the Nimbus message for add-ons general availability-->
-    <string name="addon_ga_message_title" moz:removedIn="126" tools:ignore="UnusedResources">Novi moduli addiziunali dispunibule</string>
     <!-- Title of the Nimbus message for extension general availability-->
     <string name="addon_ga_message_title_2" tools:ignore="UnusedResources">Nove estensioni dispunibule</string>
     <!-- Body of the Nimbus message for add-ons general availability. 'Firefox' intentionally hardcoded here-->
     <string name="addon_ga_message_body" tools:ignore="UnusedResources">Scuprite più di 100 estensioni nove chì vi permettenu di persunalizà Firefox.</string>
-    <!-- Button text of the Nimbus message for add-ons general availability. -->
-    <string name="addon_ga_message_button" moz:removedIn="126" tools:ignore="UnusedResources">Esplurà i moduli addiziunali</string>
 
     <!-- Button text of the Nimbus message for extensions general availability. -->
     <string name="addon_ga_message_button_2" tools:ignore="UnusedResources">Esplurà l’estensioni</string>
 
     <!-- Extension process crash dialog to user -->
-    <!-- Title of a dialog shown to the user when enough errors have occurred with addons and they need to be temporarily disabled -->
-    <string name="addon_process_crash_dialog_title" moz:removedIn="126" tools:ignore="UnusedResources">I moduli addiziunali sò disattivati timpurariamente</string>
     <!-- Title of the extension crash dialog shown to the user when enough errors have occurred with extensions and they need to be temporarily disabled -->
     <string name="extension_process_crash_dialog_title">L’estensioni sò disattivate timpurariamente</string>
-    <!-- The first parameter is the application name. This is a message shown to the user when too many errors have occurred with the addons process and they have been disabled. The user can decide if they would like to continue trying to start add-ons or if they'd rather continue without them. -->
-    <string name="addon_process_crash_dialog_message" moz:removedIn="126" tools:ignore="UnusedResources">Certi moduli addiziunale anu fermatu di funziunà, rindendu u vostru sistema instabile. %1$s hà pruvatu, senza successu, di rilancialli.\n\nSti moduli addiziunale ùn seranu micca rilanciati durante a sessione attuale.\n\nCaccialli o disattivalli puderia currege stu prublema.</string>
     <!-- This is a message shown to the user when too many errors have occurred with the extensions process and they have been disabled.
     The user can decide if they would like to continue trying to start extensions or if they'd rather continue without them.
     The first parameter is the application name. -->
     <string name="extension_process_crash_dialog_message">Certe estensioni anu fermatu di funziunà, rindendu u vostru sistema instabile. %1$s hà pruvatu, senza successu, di rilancialle.\n\nSt’estensioni ùn seranu micca rilanciate durante a sessione attuale.\n\nCaccialle o disattivalle puderia currege stu prublema.</string>
-    <!-- This will cause the add-ons to try restarting but the dialog will reappear if it is unsuccessful again -->
-    <string name="addon_process_crash_dialog_retry_button_text" moz:removedIn="126" tools:ignore="UnusedResources">Pruvà di rilancià i moduli</string>
     <!-- Button text on the extension crash dialog to prompt the user to try restarting the extensions but the dialog will reappear if it is unsuccessful again -->
     <string name="extension_process_crash_dialog_retry_button_text" tools:ignore="UnusedResources">Pruvà di rilancià l’estensioni</string>
-    <!-- The user will continue with all add-ons disabled -->
-    <string name="addon_process_crash_dialog_disable_addons_button_text" moz:removedIn="126" tools:ignore="UnusedResources">Cuntinuà cù i moduli disattivati</string>
 
     <!-- Button text on the extension crash dialog to prompt the user to continue with all extensions disabled. -->
     <string name="extension_process_crash_dialog_disable_extensions_button_text">Cuntinuà cù l’estensioni disattivate</string>
@@ -805,8 +802,6 @@
     <string name="preferences_sync_history">Cronolugia</string>
     <!-- Preference for syncing bookmarks -->
     <string name="preferences_sync_bookmarks">Indette</string>
-    <!-- Preference for syncing logins -->
-    <string name="preferences_sync_logins" moz:RemovedIn="125" tools:ignore="UnusedResources">Identificazioni di cunnessione</string>
     <!-- Preference for syncing passwords -->
     <string name="preferences_sync_logins_2">Parolle d’intesa</string>
     <!-- Preference for syncing tabs -->
@@ -833,9 +828,6 @@
         and the third is the device model. -->
     <string name="default_device_name_2">%1$s nant’à %2$s %3$s</string>
 
-    <!-- Preference for syncing credit cards -->
-    <string name="preferences_sync_credit_cards" moz:RemovedIn="125" tools:ignore="UnusedResources">Carte bancarie</string>
-
     <!-- Preference for syncing payment methods -->
     <string name="preferences_sync_credit_cards_2">Metode di pagamentu</string>
     <!-- Preference for syncing addresses -->
@@ -851,6 +843,14 @@
     <!-- %s is the device name -->
     <string name="fxa_tab_received_from_notification_name">Unghjetta pruvinendu da %s</string>
 
+    <!-- Close Synced Tabs -->
+    <!-- The title for a notification shown when the user closes tabs that are currently
+    open on this device from another device that's signed in to the same Mozilla account.
+    %1$s is a placeholder for the app name; %2$d is the number of tabs closed.  -->
+    <string name="fxa_tabs_closed_notification_title">%2$d unghjette chjose nant’à %1$s</string>
+    <!-- The body for a "closed synced tabs" notification. -->
+    <string name="fxa_tabs_closed_text">Affissà l’unghjette chjose pocu fà</string>
+
     <!-- Advanced Preferences -->
     <!-- Preference for tracking protection exceptions -->
     <string name="preferences_tracking_protection_exceptions">Eccezzioni</string>
@@ -909,10 +909,16 @@
     <string name="preference_gestures_dynamic_toolbar">Sfilà per piattà a barra d’attrezzi</string>
 
     <!-- Preference for switching tabs by swiping horizontally on the toolbar -->
-    <string name="preference_gestures_swipe_toolbar_switch_tabs">Fà sfilà a barra d’attrezzi lateralmente per cambià d’unghjetta</string>
+    <string name="preference_gestures_swipe_toolbar_switch_tabs" moz:removedIn="129" tools:ignore="UnusedResources">Fà sfilà a barra d’attrezzi lateralmente per cambià d’unghjetta</string>
     <!-- Preference for showing the opened tabs by swiping up on the toolbar-->
     <string name="preference_gestures_swipe_toolbar_show_tabs">Fà sfilà a barra d’attrezzi insù per apre unghjette</string>
 
+    <!-- Preference for using the dynamic toolbars -->
+    <string name="preference_gestures_dynamic_toolbar_2">Sfilà per piattà a barra d’indirizzu è a barra d’attrezzi</string>
+
+    <!-- Preference for switching tabs by swiping horizontally on the addressbar -->
+    <string name="preference_gestures_swipe_toolbar_switch_tabs_2">Fà sguillà a barra d’indirizzu lateralmente per cambià d’unghjetta</string>
+
     <!-- Library -->
     <!-- Option in Library to open Downloads page -->
     <string name="library_downloads">Scaricamenti</string>
@@ -931,7 +937,7 @@
     <!-- Option in Library to open a new tab -->
     <string name="library_new_tab">Nova unghjetta</string>
     <!-- Settings Page Title -->
-    <string name="settings_title">Preferenze</string>
+    <string name="settings_title">Parametri</string>
 
     <!-- Content description (not visible, for screen readers etc.): "Close button for library settings" -->
     <string name="content_description_close_button">Chjode</string>
@@ -1066,9 +1072,9 @@
     <!-- Text shown in the tabs tray inactive tabs section -->
     <string name="tab_tray_inactive_recently_closed" tools:ignore="UnusedResources">Chjose pocu fà</string>
     <!-- Text shown in the menu to view account settings -->
-    <string name="tab_tray_menu_account_settings">Preferenze di u contu</string>
+    <string name="tab_tray_menu_account_settings">Parametri di u contu</string>
     <!-- Text shown in the menu to view tab settings -->
-    <string name="tab_tray_menu_tab_settings">Preferenze di l’unghjette</string>
+    <string name="tab_tray_menu_tab_settings">Parametri di l’unghjette</string>
     <!-- Text shown in the menu for closing all tabs -->
     <string name="tab_tray_menu_item_close">Chjode tutte l’unghjette</string>
     <!-- Text shown in the multiselect menu for bookmarking selected tabs. -->
@@ -1236,11 +1242,11 @@
 
     <!-- Site Permissions -->
     <!-- Button label that take the user to the Android App setting -->
-    <string name="phone_feature_go_to_settings">Andà à e preferenze</string>
+    <string name="phone_feature_go_to_settings">Andà à i parametri</string>
     <!-- Content description (not visible, for screen readers etc.): Quick settings sheet
         to give users access to site specific information / settings. For example:
         Secure settings status and a button to modify site permissions -->
-    <string name="quick_settings_sheet">Panellu d’accessu rapidu à e preferenze</string>
+    <string name="quick_settings_sheet">Panellu d’accessu rapidu à i parametri</string>
     <!-- Label that indicates that this option it the recommended one -->
     <string name="phone_feature_recommended">Ricumandatu</string>
 
@@ -1425,6 +1431,22 @@
     <!-- Text shown in the notification that pops up to remind the user that a private browsing session is active. -->
     <string name="notification_pbm_delete_text_2">Chjode l’unghjette private</string>
 
+    <!-- Microsuverys -->
+    <!-- Text shown in prompt for printing microsurvey. "sec" It's an abrevation for "second". -->
+    <string name="microsurvey_prompt_printing_title" tools:ignore="UnusedResources">Aiutateci à amendà a stampa in Firefox. Què piglia solu una stonda</string>
+    <!-- Text shown in prompt for printing microsurvey. 'Firefox' intentionally hardcoded here--> --&gt;
+    <string name="microsurvey_survey_printing_title" tools:ignore="UnusedResources">Site cuntenti di a stampa in Firefox ?</string>
+    <!-- Text for option one, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_0" tools:ignore="UnusedResources">Indifferente</string>
+    <!-- Text for option two, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_1" tools:ignore="UnusedResources">Assai infelice</string>
+    <!-- Text for option three, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_2" tools:ignore="UnusedResources">Infelice</string>
+    <!-- Text for option four, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_3" tools:ignore="UnusedResources">Felice</string>
+    <!-- Text for option five, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_4" tools:ignore="UnusedResources">Assai felice</string>
+
     <!-- Text shown in the notification that pops up to remind the user that a private browsing session is active for Android 14+ -->
     <string name="notification_erase_title_android_14">Chjode l’unghjette private ?</string>
 
@@ -1500,10 +1522,6 @@
     <string name="qr_scanner_dialog_invalid_ok">Vai</string>
     <!-- Tab collection deletion prompt dialog message. Placeholder will be replaced with the collection name -->
     <string name="tab_collection_dialog_message">Vulete veramente squassà %1$s ?</string>
-    <!-- Collection and tab deletion prompt dialog message. This will show when the last tab from a collection is deleted -->
-    <string name="delete_tab_and_collection_dialog_message">A squassatura di st’unghjetta squasserà a cullezzione sana. Pudete creà nove cullezzioni à ogni mumentu.</string>
-    <!-- Collection and tab deletion prompt dialog title. Placeholder will be replaced with the collection name. This will show when the last tab from a collection is deleted -->
-    <string name="delete_tab_and_collection_dialog_title">Squassà %1$s ?</string>
     <!-- Tab collection deletion prompt dialog option to delete the collection -->
     <string name="tab_collection_dialog_positive">Squassà</string>
     <!-- Text displayed in a notification when the user enters full screen mode -->
@@ -1520,7 +1538,7 @@
     <!-- Title for Accessibility Text Automatic Size Scaling Preference -->
     <string name="preference_accessibility_auto_size_2">Dimensione autumatica di e grafie</string>
     <!-- Summary for Accessibility Text Automatic Size Scaling Preference -->
-    <string name="preference_accessibility_auto_size_summary">A dimensione di a grafia currispunderà à e vostre preferenze d’Android. Disattivate st’ozzione per amministrà a dimensione di a grafia.</string>
+    <string name="preference_accessibility_auto_size_summary">A dimensione di a grafia currispunderà à i vostri parametri d’Android. Disattivate st’ozzione per amministrà a dimensione di a grafia.</string>
 
     <!-- Title for the Delete browsing data preference -->
     <string name="preferences_delete_browsing_data">Squassà i dati di navigazione</string>
@@ -1624,7 +1642,7 @@
 
     <!-- Enhanced Tracking Protection -->
     <!-- Link displayed in enhanced tracking protection panel to access tracking protection settings -->
-    <string name="etp_settings">Preferenze di prutezzione</string>
+    <string name="etp_settings">Parametri di prutezzione</string>
     <!-- Preference title for enhanced tracking protection settings -->
     <string name="preference_enhanced_tracking_protection">Prutezzione rinfurzata contr’à u spiunagiu</string>
     <!-- Preference summary for enhanced tracking protection settings on/off switch -->
@@ -1779,13 +1797,9 @@
     <!-- Describes the add to homescreen functionality -->
     <string name="add_to_homescreen_description_2">Hè faciule d’aghjunghje stu situ nant’à u screnu d’accolta di u vostru apparechju per accedeci direttamente è navigà più prestu cum’è s’ella fussi un’appiecazione.</string>
 
-    <!-- Preference for managing the settings for logins and passwords in Fenix -->
-    <string name="preferences_passwords_logins_and_passwords" moz:RemovedIn="125" tools:ignore="UnusedResources">Identificazioni è parolle d’intesa</string>
     <!-- Preference for managing the settings for logins and passwords in Fenix -->
     <string name="preferences_passwords_logins_and_passwords_2">Parolle d’intesa</string>
     <!-- Preference for managing the saving of logins and passwords in Fenix -->
-    <string name="preferences_passwords_save_logins" moz:RemovedIn="125" tools:ignore="UnusedResources">Arregistrà l’identificazioni è e parolle d’intesa</string>
-    <!-- Preference for managing the saving of logins and passwords in Fenix -->
     <string name="preferences_passwords_save_logins_2">Arregistrà e parolle d’intesa</string>
     <!-- Preference option for asking to save passwords in Fenix -->
     <string name="preferences_passwords_save_logins_ask_to_save">Dumandà per arregistrà</string>
@@ -1801,46 +1815,27 @@
     <!-- Description for the preference for autofilling logins from Fenix in other apps (e.g. autofilling the Twitter app) -->
     <string name="preferences_android_autofill_description">Riimpiete nomi d’utilizatore è parolle d’intesa in l’altre appiecazioni nant’à u vostru apparechju.</string>
 
-    <!-- Preference option for adding a login -->
-    <string name="preferences_logins_add_login" moz:RemovedIn="125" tools:ignore="UnusedResources">Aghjunghje un’identificazione di cunnessione</string>
-
     <!-- Preference option for adding a password -->
     <string name="preferences_logins_add_login_2">Aghjunghje una parolla d’intesa</string>
 
-    <!-- Preference for syncing saved passwords in Fenix -->
-    <string name="preferences_passwords_sync_logins" moz:RemovedIn="125" tools:ignore="UnusedResources">Sincrunizà l’identificazioni</string>
     <!-- Preference for syncing saved passwords in Fenix -->
     <string name="preferences_passwords_sync_logins_2">Sincrunizà e parolle d’intesa</string>
-    <!-- Preference for syncing saved logins in Fenix, when not signed in-->
-    <string name="preferences_passwords_sync_logins_across_devices" moz:RemovedIn="125" tools:ignore="UnusedResources">Sincrunizà l’identificazioni di cunnessione trà l’apparechji</string>
     <!-- Preference for syncing saved passwords in Fenix, when not signed in-->
     <string name="preferences_passwords_sync_logins_across_devices_2">Sincrunizà e parolle d’intesa trà l’apparechji</string>
-    <!-- Preference to access list of saved logins -->
-    <string name="preferences_passwords_saved_logins" moz:RemovedIn="125" tools:ignore="UnusedResources">Identificazioni di cunnessione arregistrate</string>
     <!-- Preference to access list of saved passwords -->
     <string name="preferences_passwords_saved_logins_2">Parolle d’intesa arregistrate</string>
     <!-- Description of empty list of saved passwords. Placeholder is replaced with app name.  -->
-    <string name="preferences_passwords_saved_logins_description_empty_text" moz:RemovedIn="125" tools:ignore="UnusedResources">L’identificazioni di cunnessione chì voi arregistrate o sincrunizate cù %s seranu affissate quì.</string>
-    <!-- Description of empty list of saved passwords. Placeholder is replaced with app name.  -->
     <string name="preferences_passwords_saved_logins_description_empty_text_2">E parolle d’intesa chì vo arregistrate o sincrunizate cù %s seranu affissate quì. Tutte e parolle d’intesa chì vo arregistrate sò cifrate.</string>
-    <!-- Preference to access list of saved logins -->
-    <string name="preferences_passwords_saved_logins_description_empty_learn_more_link" moz:RemovedIn="125" tools:ignore="UnusedResources">Sapene di più nant’à Sync.</string>
     <!-- Clickable text for opening an external link for more information about Sync. -->
     <string name="preferences_passwords_saved_logins_description_empty_learn_more_link_2">Sapene di più nant’à a sincrunizazione</string>
     <!-- Preference to access list of login exceptions that we never save logins for -->
     <string name="preferences_passwords_exceptions">Eccezzioni</string>
-    <!-- Empty description of list of login exceptions that we never save logins for -->
-    <string name="preferences_passwords_exceptions_description_empty" moz:RemovedIn="125" tools:ignore="UnusedResources">L’identificazioni è parolle d’intesa chì ùn sò micca arregistrate seranu affissate quì.</string>
     <!-- Empty description of list of login exceptions that we never save passwords for. Parameter will be replaced by app name. -->
     <string name="preferences_passwords_exceptions_description_empty_2">%s ùn arregistrerà micca e parolle d’intesa per i siti allistinati quì.</string>
-    <!-- Description of list of login exceptions that we never save logins for -->
-    <string name="preferences_passwords_exceptions_description" moz:RemovedIn="125" tools:ignore="UnusedResources">L’identificazioni è parolle d’intesa ùn seranu micca arregistrate per sti siti.</string>
     <!-- Description of list of login exceptions that we never save passwords for. Parameter will be replaced by app name. -->
     <string name="preferences_passwords_exceptions_description_2">%s ùn arregistrerà micca e parolle d’intesa per sti siti.</string>
     <!-- Text on button to remove all saved login exceptions -->
     <string name="preferences_passwords_exceptions_remove_all">Squassà tutte l’eccezzioni</string>
-    <!-- Hint for search box in logins list -->
-    <string name="preferences_passwords_saved_logins_search" moz:RemovedIn="125" tools:ignore="UnusedResources">Ricercà identificazioni di cunnessione</string>
 
     <!-- Hint for search box in passwords list -->
     <string name="preferences_passwords_saved_logins_search_2">Ricercà parolle d’intesa</string>
@@ -1871,17 +1866,11 @@
     <string name="saved_login_reveal_password">Affissa a parolla d’intesa</string>
     <!-- Content Description (for screenreaders etc) read for the button to hide a password in logins -->
     <string name="saved_login_hide_password">Piattà a parolla d’intesa</string>
-    <!-- Message displayed in biometric prompt displayed for authentication before allowing users to view their logins -->
-    <string name="logins_biometric_prompt_message" moz:RemovedIn="125" tools:ignore="UnusedResources">Spalancate per affissà l’identificazioni di cunnessione arregistrate</string>
     <!-- Message displayed in biometric prompt displayed for authentication before allowing users to view their passwords -->
     <string name="logins_biometric_prompt_message_2">Spalancate per affissà e vostre parolle d’intesa arregistrate</string>
     <!-- Title of warning dialog if users have no device authentication set up -->
-    <string name="logins_warning_dialog_title" moz:RemovedIn="125" tools:ignore="UnusedResources">Prutigite e vostre identificazioni di cunnessione è parolle d’intesa</string>
-    <!-- Title of warning dialog if users have no device authentication set up -->
     <string name="logins_warning_dialog_title_2">Prutigite e vostre parolle d’intesa arregistrate</string>
     <!-- Message of warning dialog if users have no device authentication set up -->
-    <string name="logins_warning_dialog_message" moz:RemovedIn="125" tools:ignore="UnusedResources">Definite un dissegnu di chjusura, un codice PIN o una parolla d’intesa per prutege e vostre identificazioni di cunnessione è parolle d’intesa arregistrate s’ellu ci era qualchissia chì accidissi à u vostru apparechju.</string>
-    <!-- Message of warning dialog if users have no device authentication set up -->
     <string name="logins_warning_dialog_message_2">Definite un dissegnu di chjuditura, un codice PIN o una parolla d’intesa per prutege e vostre parolle d’intesa arregistrate s’ellu ci era qualchissia chì accidissi à u vostru apparechju.</string>
     <!-- Negative button to ignore warning dialog if users have no device authentication set up -->
     <string name="logins_warning_dialog_later">Dopu</string>
@@ -1899,9 +1888,6 @@
     <!-- Saved logins sorting strategy menu item -by last used- (if selected, it will sort saved logins by last used) -->
     <string name="saved_logins_sort_strategy_last_used">Ultimu impiegu</string>
 
-    <!-- Content description (not visible, for screen readers etc.): Sort saved logins dropdown menu chevron icon -->
-    <string name="saved_logins_menu_dropdown_chevron_icon_content_description" moz:RemovedIn="125" tools:ignore="UnusedResources">Listinu di classificazione di l’identificazioni</string>
-
     <!-- Content description (not visible, for screen readers etc.) -->
     <string name="saved_logins_menu_dropdown_chevron_icon_content_description_2">Listinu di classificazione di e parolle d’intesa</string>
 
@@ -1910,28 +1896,18 @@
     <string name="preferences_autofill">Riempiimentu autumaticu</string>
     <!-- Preference and title for managing the settings for addresses -->
     <string name="preferences_addresses">Indirizzi</string>
-    <!-- Preference and title for managing the settings for credit cards -->
-    <string name="preferences_credit_cards" moz:RemovedIn="125" tools:ignore="UnusedResources">Carte bancarie</string>
     <!-- Preference and title for managing the settings for payment methods -->
     <string name="preferences_credit_cards_2">Metode di pagamentu</string>
     <!-- Preference for saving and autofilling credit cards -->
-    <string name="preferences_credit_cards_save_and_autofill_cards" moz:RemovedIn="125" tools:ignore="UnusedResources">Arregistrà è riempie autumaticamente e carte</string>
-    <!-- Preference for saving and autofilling credit cards -->
     <string name="preferences_credit_cards_save_and_autofill_cards_2">Arregistrà è rinsignà e metode di pagamentu</string>
-    <!-- Preference summary for saving and autofilling credit card data -->
-    <string name="preferences_credit_cards_save_and_autofill_cards_summary" moz:RemovedIn="125" tools:ignore="UnusedResources">I dati sò cifrati</string>
     <!-- Preference summary for saving and autofilling payment method data. Parameter will be replaced by app name. -->
     <string name="preferences_credit_cards_save_and_autofill_cards_summary_2">%s cifra tutte e metode di pagamentu chì vo arregistrate</string>
     <!-- Preference option for syncing credit cards across devices. This is displayed when the user is not signed into sync -->
     <string name="preferences_credit_cards_sync_cards_across_devices">Sincrunizate e carte trà i vostri apparechji</string>
     <!-- Preference option for syncing credit cards across devices. This is displayed when the user is signed into sync -->
     <string name="preferences_credit_cards_sync_cards">Sincrunizà e carte</string>
-    <!-- Preference option for adding a credit card -->
-    <string name="preferences_credit_cards_add_credit_card" moz:RemovedIn="125" tools:ignore="UnusedResources">Aghjunghje una carta bancaria</string>
     <!-- Preference option for adding a card -->
     <string name="preferences_credit_cards_add_credit_card_2">Aghjunghje una carta</string>
-    <!-- Preference option for managing saved credit cards -->
-    <string name="preferences_credit_cards_manage_saved_cards" moz:RemovedIn="125" tools:ignore="UnusedResources">Amministrà e carte arregistrate</string>
     <!-- Preference option for managing saved cards -->
     <string name="preferences_credit_cards_manage_saved_cards_2">Amministrà e carte</string>
     <!-- Preference option for adding an address -->
@@ -1939,12 +1915,8 @@
     <!-- Preference option for managing saved addresses -->
     <string name="preferences_addresses_manage_addresses">Urganizà l’indirizzi</string>
 
-    <!-- Preference for saving and autofilling addresses -->
-    <string name="preferences_addresses_save_and_autofill_addresses" moz:RemovedIn="125" tools:ignore="UnusedResources">Arregistrà è riempie autumaticamente l’indirizzi</string>
     <!-- Preference for saving and filling addresses -->
     <string name="preferences_addresses_save_and_autofill_addresses_2">Arregistrà è rinsignà autumaticamente l’indirizzi</string>
-    <!-- Preference summary for saving and autofilling address data -->
-    <string name="preferences_addresses_save_and_autofill_addresses_summary" moz:RemovedIn="125" tools:ignore="UnusedResources">Include l’infurmazioni cum’è i numeri, i messaghji elettronichi è l’indirizzi di spedizione</string>
 
     <!-- Preference summary for saving and filling address data -->
     <string name="preferences_addresses_save_and_autofill_addresses_summary_2">Include i numeri di telefonu è l’indirizzi elettronichi</string>
@@ -1969,8 +1941,6 @@
     <!-- The text for the "Delete card" button for deleting a credit card -->
     <string name="credit_cards_delete_card_button">Squassà a carta</string>
     <!-- The text for the confirmation message of "Delete card" dialog -->
-    <string name="credit_cards_delete_dialog_confirmation" moz:RemovedIn="125" tools:ignore="UnusedResources">Vulete veramente squassà sta carta bancaria ?</string>
-    <!-- The text for the confirmation message of "Delete card" dialog -->
     <string name="credit_cards_delete_dialog_confirmation_2">Squassà a carta ?</string>
     <!-- The text for the positive button on "Delete card" dialog -->
     <string name="credit_cards_delete_dialog_button">Squassà</string>
@@ -1983,25 +1953,16 @@
     <!-- Title of the "Saved cards" screen -->
     <string name="credit_cards_saved_cards">Carte arregistrate</string>
 
-    <!-- Error message for credit card number validation -->
-    <string name="credit_cards_number_validation_error_message" moz:RemovedIn="125" tools:ignore="UnusedResources">Ci vole à stampittà un numeru accettevule di carta bancaria</string>
-
     <!-- Error message for card number validation -->
     <string name="credit_cards_number_validation_error_message_2">Stampittate un numeru di carta bancaria accettevule</string>
-    <!-- Error message for credit card name on card validation -->
-    <string name="credit_cards_name_on_card_validation_error_message" moz:RemovedIn="125" tools:ignore="UnusedResources">Ci vole à riempie stu campu</string>
     <!-- Error message for card name on card validation -->
     <string name="credit_cards_name_on_card_validation_error_message_2">Aghjunghje un nome</string>
     <!-- Message displayed in biometric prompt displayed for authentication before allowing users to view their saved credit cards -->
     <string name="credit_cards_biometric_prompt_message">Spalancate per affissà e vostre carte arregistrate</string>
 
-    <!-- Title of warning dialog if users have no device authentication set up -->
-    <string name="credit_cards_warning_dialog_title" moz:RemovedIn="125" tools:ignore="UnusedResources">Prutege e vostre carte bancarie</string>
     <!-- Title of warning dialog if users have no device authentication set up -->
     <string name="credit_cards_warning_dialog_title_2">Prutigite e vostre metode di pagamentu arregistrate</string>
     <!-- Message of warning dialog if users have no device authentication set up -->
-    <string name="credit_cards_warning_dialog_message" moz:RemovedIn="125" tools:ignore="UnusedResources">Definite un dissegnu di chjusura, un codice PIN o una parolla d’intesa per prutege e vostre carte arregistrate s’ellu ci era qualchissia chì accidissi à u vostru apparechju.</string>
-    <!-- Message of warning dialog if users have no device authentication set up -->
     <string name="credit_cards_warning_dialog_message_3">Definite un dissegnu di chjusura, un codice PIN o una parolla d’intesa per prutege e vostre metode di pagamentu arregistrate s’ellu ci era qualchissia chì accidissi à u vostru apparechju.</string>
     <!-- Positive button to send users to set up a pin of warning dialog if users have no device authentication set up -->
     <string name="credit_cards_warning_dialog_set_up_now">Cunfigurà subitu</string>
@@ -2009,8 +1970,6 @@
     <string name="credit_cards_warning_dialog_later">Dopu</string>
     <!-- Title of PIN verification dialog to direct users to re-enter their device credentials to access their credit cards -->
     <string name="credit_cards_biometric_prompt_message_pin">Spalancate u vostru apparechju</string>
-    <!-- Message displayed in biometric prompt for authentication, before allowing users to use their stored credit card information -->
-    <string name="credit_cards_biometric_prompt_unlock_message" moz:RemovedIn="125" tools:ignore="UnusedResources">Spalancate per impiegà l’infurmazione di e carte bancarie arregistrate</string>
 
     <!-- Message displayed in biometric prompt for authentication, before allowing users to use their stored payment method information -->
     <string name="credit_cards_biometric_prompt_unlock_message_2">Spalancate per impiegà e metode di pagamentu arregistrate</string>
@@ -2020,12 +1979,6 @@
     <string name="addresses_edit_address">Mudificà l’indirizzu</string>
     <!-- Title of the "Manage addresses" screen -->
     <string name="addresses_manage_addresses">Urganizà l’indirizzi</string>
-    <!-- The header for the first name of an address -->
-    <string name="addresses_first_name" moz:removedIn="125" tools:ignore="UnusedResources">Nome</string>
-    <!-- The header for the middle name of an address -->
-    <string name="addresses_middle_name" moz:removedIn="125" tools:ignore="UnusedResources">Secondu nome</string>
-    <!-- The header for the last name of an address -->
-    <string name="addresses_last_name" moz:removedIn="125" tools:ignore="UnusedResources">Casata</string>
     <!-- The header for the name of an address. Name represents a person's full name, typically made up of a first, middle and last name, e.g. John Joe Doe. -->
     <string name="addresses_name">Nome cumpletu</string>
     <!-- The header for the street address of an address -->
@@ -2052,8 +2005,6 @@
     <!-- The text for the "Delete address" button for deleting an address -->
     <string name="addressess_delete_address_button">Squassà l’indirizzu</string>
     <!-- The title for the "Delete address" confirmation dialog -->
-    <string name="addressess_confirm_dialog_message" moz:RemovedIn="125" tools:ignore="UnusedResources">Vulete veramente squassà st’indirizzu ?</string>
-    <!-- The title for the "Delete address" confirmation dialog -->
     <string name="addressess_confirm_dialog_message_2">Squassà st’indirizzu ?</string>
     <!-- The text for the positive button on "Delete address" dialog -->
     <string name="addressess_confirm_dialog_ok_button">Squassà</string>
@@ -2116,7 +2067,7 @@
     <!-- Heading for the instructions to allow a permission -->
     <string name="phone_feature_blocked_intro">Per permettelu :</string>
     <!-- First step for the allowing a permission -->
-    <string name="phone_feature_blocked_step_settings">1. Andate à e preferenze Android</string>
+    <string name="phone_feature_blocked_step_settings">1. Andate à i parametri Android</string>
     <!-- Second step for the allowing a permission -->
     <string name="phone_feature_blocked_step_permissions"><![CDATA[2. Tucchate <b>Permessi</b>]]></string>
 
@@ -2152,49 +2103,29 @@
     <string name="login_menu_delete_button">Squassà</string>
     <!-- Login overflow menu edit button -->
     <string name="login_menu_edit_button">Mudificà</string>
-    <!-- Message in delete confirmation dialog for logins -->
-    <string name="login_deletion_confirmation" moz:RemovedIn="125" tools:ignore="UnusedResources">Vulete veramente squassà st’identificazione di cunnessione ?</string>
     <!-- Message in delete confirmation dialog for password -->
     <string name="login_deletion_confirmation_2">Vulete veramente squassà sta parolla d’intesa ?</string>
     <!-- Positive action of a dialog asking to delete  -->
     <string name="dialog_delete_positive">Squassà</string>
     <!-- Negative action of a dialog asking to delete login -->
     <string name="dialog_delete_negative">Abbandunà</string>
-    <!--  The saved login options menu description. -->
-    <string name="login_options_menu" moz:RemovedIn="125" tools:ignore="UnusedResources">Ozzioni di l’identificazione</string>
     <!--  The saved password options menu description. -->
     <string name="login_options_menu_2">Ozzioni di parolla d’intesa</string>
-    <!--  The editable text field for a login's web address. -->
-    <string name="saved_login_hostname_description" moz:RemovedIn="125" tools:ignore="UnusedResources">U campu di testu mudifichevule per l’indirizzu web di l’identificazione.</string>
     <!--  The editable text field for a website address. -->
     <string name="saved_login_hostname_description_3">U campu di testu mudifichevule per l’indirizzu di u situ web.</string>
-    <!--  The editable text field for a login's username. -->
-    <string name="saved_login_username_description" moz:RemovedIn="125" tools:ignore="UnusedResources">U campu di testu mudifichevule per u nome d’utilizatore di l’identificazione.</string>
     <!--  The editable text field for a username. -->
     <string name="saved_login_username_description_3">U campu di testu mudifichevule per u nome d’utilizatore.</string>
     <!--  The editable text field for a login's password. -->
-    <string name="saved_login_password_description" moz:RemovedIn="125" tools:ignore="UnusedResources">U campu di testu mudifichevule per a parolla d’intesa di l’identificazione.</string>
-    <!--  The editable text field for a login's password. -->
     <string name="saved_login_password_description_2">U campu di testu mudifichevule per a parolla d’intesa.</string>
-    <!--  The button description to save changes to an edited login. -->
-    <string name="save_changes_to_login" moz:RemovedIn="125" tools:ignore="UnusedResources">Arregistrà i cambiamenti di l’identificazione.</string>
     <!--  The button description to save changes to an edited password. -->
     <string name="save_changes_to_login_2">Arregistrà i cambiamenti.</string>
-    <!--  The page title for editing a saved login. -->
-    <string name="edit" moz:RemovedIn="125" tools:ignore="UnusedResources">Mudificà</string>
     <!--  The page title for editing a saved password. -->
     <string name="edit_2">Mudificà a parolla d’intesa</string>
-    <!--  The page title for adding new login. -->
-    <string name="add_login" moz:RemovedIn="125" tools:ignore="UnusedResources">Aghjunghje una nova identificazione di cunnessione</string>
     <!--  The page title for adding new password. -->
     <string name="add_login_2">Aghjunghje una parolla d’intesa</string>
-    <!--  The error message in add/edit login view when password field is blank. -->
-    <string name="saved_login_password_required" moz:RemovedIn="125" tools:ignore="UnusedResources">Parolla d’intesa richiesta</string>
     <!--  Error text displayed underneath the password field when it is in an error case. -->
     <string name="saved_login_password_required_2">Stampittate una parolla d’intesa</string>
     <!--  The error message in add login view when username field is blank. -->
-    <string name="saved_login_username_required" moz:RemovedIn="125" tools:ignore="UnusedResources">U nome d’utilizatore hè richiestu</string>
-    <!--  The error message in add login view when username field is blank. -->
     <string name="saved_login_username_required_2">Stampittate un nome d’utilizatore</string>
     <!--  The error message in add login view when hostname field is blank. -->
     <string name="saved_login_hostname_required" tools:ignore="UnusedResources">U nome d’ospite hè richiestu</string>
@@ -2259,7 +2190,7 @@
     <string name="top_sites_rename_dialog_cancel">Abbandunà</string>
 
     <!-- Text for the menu button to open the homepage settings. -->
-    <string name="top_sites_menu_settings">Preferenze</string>
+    <string name="top_sites_menu_settings">Parametri</string>
     <!-- Text for the menu button to navigate to sponsors and privacy support articles. '&amp;' is replaced with the ampersand symbol: & -->
     <string name="top_sites_menu_sponsor_privacy">I nostri spunsurizatori è a vostra vita privata</string>
     <!-- Label text displayed for a sponsored top site. -->
@@ -2335,7 +2266,7 @@
     <!-- Snackbar message for enrolling in a Nimbus experiment from the secret settings when Studies preference is Off.-->
     <string name="experiments_snackbar">Attivà a telemetria per mandà dati.</string>
     <!-- Snackbar button text to navigate to telemetry settings.-->
-    <string name="experiments_snackbar_button">Andà à e preferenze</string>
+    <string name="experiments_snackbar_button">Andà à i parametri</string>
 
     <!-- Review quality check feature-->
     <!-- Name for the review quality check feature used as title for the panel. -->
@@ -2380,7 +2311,7 @@
     <!-- Clickable text that links to review quality check SuMo page. First parameter is the Fakespot product name. -->
     <string name="review_quality_check_info_learn_more_link_2">cumu %s determineghja a qualità di l’avisi</string>
     <!-- Text for title of settings section. -->
-    <string name="review_quality_check_settings_title">Preferenze</string>
+    <string name="review_quality_check_settings_title">Parametri</string>
     <!-- Text for label for switch preference to show recommended products from review quality check settings section. -->
     <string name="review_quality_check_settings_recommended_products">Affissà publicità in u verificadore d’avisu</string>
 
@@ -2575,8 +2506,6 @@
     <string name="translation_error_could_not_load_languages_warning_text">Ùn si pò micca caricà e lingue. Ci vole à verificà a vostra cunnessione internet è pruvà torna.</string>
     <!-- The title of the warning card informs the user that a language is not supported. The first parameter is the name of the language that is not supported. -->
     <string name="translation_error_language_not_supported_warning_text">Per disgrazia, a lingua %1$s ùn hè ancu accettata.</string>
-    <!-- Button text on the warning card when a language is not supported. The link will take the user to a page to a support page about translations. -->
-    <string name="translation_error_language_not_supported_learn_more" moz:removedIn="126" tools:ignore="UnusedResources">Sapene di più</string>
 
 
     <!-- Snackbar title shown if the user closes the Translation Request dialogue and a translation is in progress. -->
@@ -2590,8 +2519,6 @@
 
     <!-- Translations options dialog -->
     <!-- Title of the translation options dialog that allows a user to set their translation options for the site the user is currently on. -->
-    <string name="translation_option_bottom_sheet_title" moz:removedIn="126" tools:ignore="UnusedResources">Ozzioni di traduzzione</string>
-    <!-- Title of the translation options dialog that allows a user to set their translation options for the site the user is currently on. -->
     <string name="translation_option_bottom_sheet_title_heading">Ozzioni di traduzzione</string>
     <!-- Toggle switch label that allows a user to set the setting if they would like the browser to always offer or suggest translations when available. -->
     <string name="translation_option_bottom_sheet_always_translate">Prupone sempre di traduce</string>
@@ -2602,11 +2529,11 @@
     <!-- Toggle switch label that allows a user to set the setting if they would like the browser to never translate the site the user is currently visiting. -->
     <string name="translation_option_bottom_sheet_never_translate_site">Ùn traduce mai stu situ</string>
     <!-- Toggle switch description that will appear under the "Never translate these sites" settings toggle switch to provide more information on how this setting interacts with other settings. -->
-    <string name="translation_option_bottom_sheet_switch_never_translate_site_description">Supraneghja tutte l’altre preferenze</string>
+    <string name="translation_option_bottom_sheet_switch_never_translate_site_description">Supraneghja tutti l’altri parametri</string>
     <!-- Toggle switch description that will appear under the "Never translate" and "Always translate" toggle switch settings to provide more information on how these  settings interacts with other settings. -->
     <string name="translation_option_bottom_sheet_switch_description">Supraneghja e pruposte di traduzzione</string>
     <!-- Button text for the button that will take the user to the translation settings dialog. -->
-    <string name="translation_option_bottom_sheet_translation_settings">Preferenze di traduzzione</string>
+    <string name="translation_option_bottom_sheet_translation_settings">Parametri di traduzzione</string>
 
     <!-- Button text for the button that will take the user to a website to learn more about how translations works in the given app. The first parameter is the name of the application, for example, "Fenix". -->
     <string name="translation_option_bottom_sheet_about_translations">Apprupositu di e traduzzioni in %1$s</string>
@@ -2614,6 +2541,9 @@
     <!-- Content description (not visible, for screen readers etc.) for closing the translations bottom sheet. -->
     <string name="translation_option_bottom_sheet_close_content_description">Chjode u panellu di e traduzzioni</string>
 
+    <!-- The title of the warning card informs the user that an error has occurred at page settings. -->
+    <string name="translation_option_bottom_sheet_error_warning_text">Certi parametri sò timpurariamente indispunibule.</string>
+
     <!-- Translation settings dialog -->
     <!-- Title of the translation settings dialog that allows a user to set their preferred translation settings. -->
     <string name="translation_settings_toolbar_title">Traduzzioni</string>
@@ -2637,6 +2567,9 @@
     <!-- Screen header presenting the automatic translation preference feature. It will appear under the toolbar. -->
     <string name="automatic_translation_header_preference">Selezziunà una lingua per sceglie l’ozzione « Traduce sempre » o « Ùn traduce mai ».</string>
 
+    <!-- The title of the warning card informs the user that the system could not load languages for translation settings. -->
+    <string name="automatic_translation_error_warning_text">Ùn si pò micca caricà e lingue. Ci vole à verificà un’altra volta.</string>
+
     <!-- Automatic translation options preference screen -->
     <!-- Preference option for offering to translate. Radio button title text.-->
     <string name="automatic_translation_option_offer_to_translate_title_preference">Prupone di traduce (predefinitu)</string>
@@ -2660,6 +2593,8 @@
     <!-- Content description (not visible, for screen readers etc.): For a never-translated site list item that is selected.
              The first parameter is web site url (for example:"wikipedia.com") -->
     <string name="never_translate_site_item_list_content_description_preference">Caccià %1$s</string>
+    <!-- The title of the warning card informs the user that an error has occurred at the never translate sites list. -->
+    <string name="never_translate_site_error_warning_text">Ùn si pò micca caricà i siti. Ci vole à verificà un’altra volta.</string>
     <!-- The Delete site dialogue title will appear when the user clicks on a list item.
              The first parameter is web site url (for example:"wikipedia.com") -->
     <string name="never_translate_site_dialog_title_preference">Squassà %1$s ?</string>
@@ -2686,8 +2621,10 @@
     <string name="download_languages_language_item_preference">%1$s (%2$s)</string>
     <!-- The subhead of the download language preference screen will appear above the items that were not downloaded. -->
     <string name="download_language_header_preference">Scaricà lingue</string>
-    <!-- All languages list item. When the user presses this item, they can download or delete all languages. -->
+    <!-- All languages list item. When the user presses this item, they can download all languages. -->
     <string name="download_language_all_languages_item_preference">Tutte e lingue</string>
+    <!-- All languages list item. When the user presses this item, they can delete all languages that were downloaded. -->
+    <string name="download_language_all_languages_item_preference_to_delete">Squassà tutte e lingue</string>
     <!-- Content description (not visible, for screen readers etc.): For a language list item that was downloaded, the user can now delete it. -->
     <string name="download_languages_item_content_description_downloaded_state">Squassà</string>
     <!-- Content description (not visible, for screen readers etc.): For a language list item, downloading is in progress. -->
@@ -2695,7 +2632,16 @@
     <!-- Content description (not visible, for screen readers etc.): For a language list item that was not downloaded. -->
     <string name="download_languages_item_content_description_not_downloaded_state">Scaricà</string>
     <!-- Content description (not visible, for screen readers etc.): For a language list item that is selected. -->
-    <string name="download_languages_item_content_description_selected_state">Selezziunata</string>
+    <string name="download_languages_item_content_description_selected_state" moz:removedIn="127" tools:ignore="UnusedResources">Selezziunata</string>
+
+    <!-- The title of the warning card informs the user that an error has occurred when fetching the list of languages. -->
+    <string name="download_languages_fetch_error_warning_text">Ùn si pò micca caricà e lingue. Ci vole à verificà un’altra volta.</string>
+    <!-- The title of the warning card informs the user that an error has occurred at downloading a language.
+      The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_error_warning_text"><![CDATA[Ùn si pò micca scaricà <b>%1$s</b>. Pruvate torna.]]></string>
+    <!-- The title of the warning card informs the user that an error has occurred at deleting a language.
+          The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_delete_error_warning_text"><![CDATA[Ùn si pò micca squassà <b>%1$s</b>. Pruvate torna.]]></string>
 
     <!-- Title for the dialog used by the translations feature to confirm deleting a language.
     The dialog will be presented when the user requests deletion of a language.
@@ -2723,7 +2669,7 @@
     <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation. -->
     <string name="download_language_file_dialog_message_all_languages">Scarichemu in a vostra impiatta certe parti di lingue per mantene private e vostre traduzzioni.</string>
     <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation without mentioning the cache. -->
-    <string name="download_language_file_dialog_message_all_languages_no_cache">Scarichemu certe parti di lingue per mantene private e vostre traduzzioni.</string>
+    <string name="download_language_file_dialog_message_all_languages_no_cache" moz:removedIn="129" tools:ignore="UnusedResources">Scarichemu certe parti di lingue per mantene private e vostre traduzzioni.</string>
     <!-- Checkbox label text on the data saving mode warning dialog used by the translations feature. This checkbox allows users to ignore the data usage warnings. -->
     <string name="download_language_file_dialog_checkbox_text">Scaricà sempre in modu di risparmiu di dati</string>
     <!-- Button text on the data saving mode warning dialog used by the translations feature to allow users to confirm they wish to continue and download the language file. -->
@@ -2739,6 +2685,9 @@
     <!-- Content description (not visible, for screen readers etc.): Navigate back within the debug drawer. -->
     <string name="debug_drawer_back_button_content_description">Navigazione in daretu</string>
 
+    <!-- Content description (not visible, for screen readers etc.): Open debug drawer. -->
+    <string name="debug_drawer_fab_content_description">Apre a cantera di spannatura</string>
+
     <!-- Debug drawer tabs tools -->
     <!-- The title of the Tab Tools feature in the Debug Drawer. -->
     <string name="debug_drawer_tab_tools_title">Attrezzi d’unghjette</string>
@@ -2746,6 +2695,8 @@
     <string name="debug_drawer_tab_tools_tab_count_title">Numeru d’unghjette</string>
     <!-- The active tab count category in the tab count section in Tab Tools. -->
     <string name="debug_drawer_tab_tools_tab_count_normal" moz:removedIn="127" tools:ignore="UnusedResources">Attive</string>
+    <!-- The active tab count category in the tab count section in Tab Tools. -->
+    <string name="debug_drawer_tab_tools_tab_count_active">Attive</string>
     <!-- The inactive tab count category in the tab count section in Tab Tools. -->
     <string name="debug_drawer_tab_tools_tab_count_inactive">Inattive</string>
     <!-- The private tab count category in the tab count section in Tab Tools. -->
@@ -2756,6 +2707,16 @@
     <string name="debug_drawer_tab_tools_tab_creation_tool_title">Attrezzu di creazione d’unghjetta</string>
     <!-- The label of the text field in the tab creation tool. -->
     <string name="debug_drawer_tab_tools_tab_creation_tool_text_field_label">Numeru d’unghjette à creà</string>
+    <!-- The error message of the text field in the tab creation tool when the text field is empty -->
+    <string name="debug_drawer_tab_tools_tab_quantity_empty_error">U campu di testu hè viotu</string>
+    <!-- The error message of the text field in the tab creation tool when the text field has characters other than digits -->
+    <string name="debug_drawer_tab_tools_tab_quantity_non_digits_error">Stampittate solu numeri interi pusitivi</string>
+    <!-- The error message of the text field in the tab creation tool when the text field is a zero -->
+    <string name="debug_drawer_tab_tools_tab_quantity_non_zero_error">Stampittate un numeri superiore à zeru</string>
+    <!-- The error message of the text field in the tab creation tool when the text field is a
+        quantity greater than the max tabs. The first parameter is the maximum number of tabs
+        that can be generated in one operation.-->
+    <string name="debug_drawer_tab_tools_tab_quantity_exceed_max_error">Avete trapassatu u numeru massimu d’unghjette (%1$s) chì ponu esse ingenerate in una sola operazione</string>
     <!-- The button text to add tabs to the active tab group in the tab creation tool. -->
     <string name="debug_drawer_tab_tools_tab_creation_tool_button_text_active">Aghjunghje à l’unghjette attive</string>
     <!-- The button text to add tabs to the inactive tab group in the tab creation tool. -->
@@ -2765,19 +2726,30 @@
 
     <!-- Micro survey -->
 
+    <!-- Microsurvey -->
+    <!-- Prompt view -->
+    <!-- The microsurvey prompt title. Note: The word "Firefox" should NOT be translated -->
+    <string name="micro_survey_prompt_title" tools:ignore="UnusedResources">Aiutateci à amendà Firefox. Què piglia solu un minutu.</string>
     <!-- The continue button label -->
     <string name="micro_survey_continue_button_label" tools:ignore="UnusedResources">Cuntinuà</string>
+    <!-- Survey view -->
+    <!-- The survey header -->
+    <string name="micro_survey_survey_header" moz:removedIn="129" tools:ignore="UnusedResources">Participà à l’inchiesta</string>
     <!-- The survey header -->
-    <string name="micro_survey_survey_header">Participà à l’inchiesta</string>
+    <string name="micro_survey_survey_header_2">Vi ringraziemu di risponde à l’inchiesta</string>
+    <!-- The privacy notice link -->
+    <string name="micro_survey_privacy_notice" moz:removedIn="129" tools:ignore="UnusedResources">Pulitica di cunfidenzialità</string>
     <!-- The privacy notice link -->
-    <string name="micro_survey_privacy_notice">Pulitica di cunfidenzialità</string>
+    <string name="micro_survey_privacy_notice_2">Pulitica di cunfidenzialità</string>
     <!-- The submit button label text -->
-    <string name="micro_survey_submit_button_label" tools:ignore="UnusedResources">Mandà</string>
+    <string name="micro_survey_submit_button_label">Mandà</string>
     <!-- The close button label text -->
-    <string name="micro_survey_close_button_label">Chjode</string>
+    <string name="micro_survey_close_button_label" moz:removedIn="128" tools:ignore="UnusedResources">Chjode</string>
 
+    <!-- The survey completion header -->
+    <string name="micro_survey_survey_header_confirmation" tools:ignore="UnusedResources">Inchiesta compia</string>
     <!-- The survey completion confirmation text -->
-    <string name="micro_survey_feedback_confirmation" tools:ignore="UnusedResources">Vi ringraziemu d’avè spartitu u vostru avisu !</string>
+    <string name="micro_survey_feedback_confirmation">Vi ringraziemu d’avè spartitu u vostru avisu !</string>
     <!-- Option for likert scale -->
     <string name="likert_scale_option_1" tools:ignore="UnusedResources">Assai felice</string>
     <!-- Option for likert scale -->
@@ -2789,6 +2761,18 @@
     <!-- Option for likert scale -->
     <string name="likert_scale_option_5" tools:ignore="UnusedResources">Assai infelice</string>
 
+    <!-- Option for likert scale -->
+    <string name="likert_scale_option_6" tools:ignore="UnusedResources">Ùn l’impiegu micca</string>
+    <!-- Text shown in prompt for homepage microsurvey. 'Firefox' intentionally hardcoded here- -->
+    <string name="microsurvey_prompt_homepage_title" tools:ignore="UnusedResources">Site cuntenti di a vostra pagina d’accolta in Firefox ?</string>
+    <!-- Accessibility -->
+    <!-- Content description (not visible, for screen readers etc.) for opening microsurvey bottom sheet. -->
+    <string name="microsurvey_open_handle_content_description" tools:ignore="UnusedResources">Apre l’inchiesta</string>
+    <!-- Content description (not visible, for screen readers etc.) for closing microsurvey bottom sheet. -->
+    <string name="microsurvey_close_handle_content_description" tools:ignore="UnusedResources">Chjode l’inchiesta</string>
+    <!-- Content description for "X" button that is closing microsurvey. -->
+    <string name="microsurvey_close_button_content_description" tools:ignore="UnusedResources">Chjode</string>
+
     <!-- Debug drawer logins -->
     <!-- The title of the Logins feature in the Debug Drawer. -->
     <string name="debug_drawer_logins_title">Identificazioni di cunnessione</string>
diff --git a/mobile/android/fenix/app/src/main/res/values-cs/strings.xml b/mobile/android/fenix/app/src/main/res/values-cs/strings.xml
index ced0a0170d79ce2e833d38a8b58ed37c70ea5eb7..573e8c36b7ed4f9d2e6884fae375ef661888c926 100644
--- a/mobile/android/fenix/app/src/main/res/values-cs/strings.xml
+++ b/mobile/android/fenix/app/src/main/res/values-cs/strings.xml
@@ -2631,6 +2631,13 @@
     <!-- The title of the warning card informs the user that an error has occurred when fetching the list of languages. -->
     <string name="download_languages_fetch_error_warning_text">Nelze načíst jazyky. Zkuste to prosím později.</string>
 
+    <!-- The title of the warning card informs the user that an error has occurred at downloading a language.
+      The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_error_warning_text"><![CDATA[Jazyk <b>%1$s</b> se nepodařilo stáhnout. Zkuste to znovu.]]></string>
+    <!-- The title of the warning card informs the user that an error has occurred at deleting a language.
+          The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_delete_error_warning_text"><![CDATA[Jazyk <b>%1$s</b> se nepodařilo smazat. Zkuste to znovu.]]></string>
+
     <!-- Title for the dialog used by the translations feature to confirm deleting a language.
     The dialog will be presented when the user requests deletion of a language.
     The first parameter is the name of the language, for example, "Spanish" and the second parameter is the size in kilobytes or megabytes of the language file. -->
diff --git a/mobile/android/fenix/app/src/main/res/values-da/strings.xml b/mobile/android/fenix/app/src/main/res/values-da/strings.xml
index 801007193efc4570398fefad464e9ecdd1be4070..397918a05080039764b9fe9dc076c4e2cea7d0d9 100644
--- a/mobile/android/fenix/app/src/main/res/values-da/strings.xml
+++ b/mobile/android/fenix/app/src/main/res/values-da/strings.xml
@@ -2347,9 +2347,9 @@
     <string name="review_quality_check_contextual_onboarding_title">Prøv vores pålidelige vejledning til produktanmeldelser</string>
 
     <!-- Description for review quality check contextual onboarding card. The first and last two parameters are for retailer names (e.g. Amazon, Walmart). The second parameter is for the name of the application (e.g. Firefox). -->
-    <string name="review_quality_check_contextual_onboarding_description">Se hvor pålidelige produktanmeldelser på %1$s er, inden du køber. Verificering af anmeldelser, en eksperimental funktion fra %2$s, er indbygget i browseren. Den virker også på %3$s og %4$s.</string>
+    <string name="review_quality_check_contextual_onboarding_description">Se hvor pålidelige produktanmeldelser på %1$s er, inden du køber. Verificering af anmeldelser, en eksperimentel funktion fra %2$s, er indbygget i browseren. Den virker også på %3$s og %4$s.</string>
     <!-- Description for review quality check contextual onboarding card. The first parameters is for retailer name (e.g. Amazon). The second parameter is for the name of the application (e.g. Firefox). -->
-    <string name="review_quality_check_contextual_onboarding_description_one_vendor">Se hvor pålidelige produktanmeldelser på %1$s er, inden du køber. Verificering af anmeldelser, en eksperimental funktion fra %2$s, er indbygget i browseren.</string>
+    <string name="review_quality_check_contextual_onboarding_description_one_vendor">Se hvor pålidelige produktanmeldelser på %1$s er, inden du køber. Verificering af anmeldelser, en eksperimentel funktion fra %2$s, er indbygget i browseren.</string>
     <!-- Paragraph presenting review quality check feature. First parameter is the Fakespot product name. Second parameter is for clickable text defined in review_quality_check_contextual_onboarding_learn_more_link. In the phrase "Fakespot by Mozilla", "by" can be localized. Does not need to stay by. -->
     <string name="review_quality_check_contextual_onboarding_learn_more">Ved hjælp af %1$s fra Mozilla gør vi det nemmere for dig undgå partiske og uægte anmeldelser. Vores kunstig intelligens-model forbedres altid for at beskytte dig, mens du handler. %2$s</string>
     <!-- Clickable text from the contextual onboarding card that links to review quality check support article. -->
diff --git a/mobile/android/fenix/app/src/main/res/values-fi/strings.xml b/mobile/android/fenix/app/src/main/res/values-fi/strings.xml
index 1fd220a7f509c36018aff1ebaf6f25fef8dd926f..58b98475ac2b78716459f071d619b13a84767800 100644
--- a/mobile/android/fenix/app/src/main/res/values-fi/strings.xml
+++ b/mobile/android/fenix/app/src/main/res/values-fi/strings.xml
@@ -2372,6 +2372,10 @@
     <string name="review_quality_check_no_analysis_link">Tarkista arvostelun laatu</string>
     <!-- Headline for review quality check contextual onboarding card. -->
     <string name="review_quality_check_contextual_onboarding_title">Kokeile luotettavaa tuotearvosteluopastamme</string>
+    <!-- Description for review quality check contextual onboarding card. The first parameters is for retailer name (e.g. Amazon). The second parameter is for the name of the application (e.g. Firefox). -->
+    <string name="review_quality_check_contextual_onboarding_description_one_vendor">Katso, kuinka luotettavia tuotearvostelut ovat palvelussa %1$s, ennen kuin ostat. Arvostelujen tarkistin, %2$sin kokeellinen ominaisuus, on sisäänrakennettu suoraan selaimeen.</string>
+    <!-- Paragraph presenting review quality check feature. First parameter is the Fakespot product name. Second parameter is for clickable text defined in review_quality_check_contextual_onboarding_learn_more_link. In the phrase "Fakespot by Mozilla", "by" can be localized. Does not need to stay by. -->
+    <string name="review_quality_check_contextual_onboarding_learn_more">Mozillan %1$s auttaa välttämään puolueellisia ja epäaitoja arvosteluja. Tekoälymallimme kehittyy jatkuvasti suojatakseen sinua, kun teet ostoksia. %2$s</string>
     <!-- Clickable text from the contextual onboarding card that links to review quality check support article. -->
     <string name="review_quality_check_contextual_onboarding_learn_more_link">Lue lisää</string>
     <!-- Text for opt-in button from the review quality check contextual onboarding card. -->
diff --git a/mobile/android/fenix/app/src/main/res/values-fur/strings.xml b/mobile/android/fenix/app/src/main/res/values-fur/strings.xml
index 6ed0def33de3ce3660644f7b949cc175d996336d..2fe5d0327edc906339ed2438abfc9af78a6655a3 100644
--- a/mobile/android/fenix/app/src/main/res/values-fur/strings.xml
+++ b/mobile/android/fenix/app/src/main/res/values-fur/strings.xml
@@ -156,8 +156,6 @@
 
     <!-- Shortcut action to open Passwords screen -->
     <string name="home_screen_shortcut_passwords">Passwords</string>
-    <!-- Shortcut action to open Passwords screen -->
-    <string name="home_screen_shortcut_open_password_screen" moz:removedIn="126" tools:ignore="UnusedResources">Scurte pes passwords</string>
 
     <!-- Recent Tabs -->
     <!-- Header text for jumping back into the recent tab in the home screen -->
@@ -195,8 +193,6 @@
     <string name="browser_menu_refresh">Inzorne</string>
     <!-- Content description (not visible, for screen readers etc.): Stop loading current website -->
     <string name="browser_menu_stop">Ferme</string>
-    <!-- Browser menu button that opens the addon manager -->
-    <string name="browser_menu_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">Components adizionâi</string>
     <!-- Browser menu button that opens the extensions manager -->
     <string name="browser_menu_extensions">Estensions</string>
     <!-- Browser menu button that opens the extensions manager -->
@@ -205,8 +201,6 @@
     <string name="browser_menu_discover_more_extensions">Scuvierç altris estensions</string>
     <!-- Browser menu button that opens account settings -->
     <string name="browser_menu_account_settings">Informazions account</string>
-    <!-- Text displayed when there are no add-ons to be shown -->
-    <string name="no_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">Nissun component adizionâl achì</string>
     <!-- Browser menu button that sends a user to help articles -->
     <string name="browser_menu_help">Jutori</string>
     <!-- Browser menu button that sends a to a the what's new article -->
@@ -223,8 +217,6 @@
     <string name="browser_menu_add_to_homescreen">Zonte a schermade principâl</string>
     <!-- Browser menu toggle that adds a shortcut to the site on the device home screen. -->
     <string name="browser_menu_add_to_homescreen_2">Zonte a scherm. di inizi…</string>
-    <!-- Browser menu toggle that installs a Progressive Web App shortcut to the site on the device home screen. -->
-    <string name="browser_menu_install_on_homescreen" moz:removedIn="126" tools:ignore="UnusedResources">Instale</string>
     <!-- Content description (not visible, for screen readers etc.) for the Resync tabs button -->
     <string name="resync_button_content_description">Torne sincronize</string>
     <!-- Browser menu button that opens the find in page menu -->
@@ -598,7 +590,9 @@
     <!-- Preference category for account information -->
     <string name="preferences_category_account">Account</string>
     <!-- Preference for changing where the toolbar is positioned -->
-    <string name="preferences_toolbar">Sbare dai struments</string>
+    <string name="preferences_toolbar" moz:removedIn="129" tools:ignore="UnusedResources">Sbare dai struments</string>
+    <!-- Preference for changing where the AddressBar is positioned -->
+    <string name="preferences_toolbar_2">Posizion de sbare de direzion</string>
     <!-- Preference for changing default theme to dark or light mode -->
     <string name="preferences_theme">Teme</string>
     <!-- Preference for customizing the home screen -->
@@ -672,12 +666,8 @@
     <!-- Message to indicate users that we are quitting the application to apply the changes -->
     <string name="quit_application">Daûr a sierâ la aplicazion par aplicâ lis modifichis…</string>
 
-    <!-- Preference for add_ons -->
-    <string name="preferences_addons" moz:removedIn="126" tools:ignore="UnusedResources">Components adizionâi</string>
     <!-- Preference for extensions -->
     <string name="preferences_extensions">Estensions</string>
-    <!-- Preference for installing a local add-on -->
-    <string name="preferences_install_local_addon" moz:removedIn="126" tools:ignore="UnusedResources">Instale component adizionâl di un file</string>
     <!-- Preference for installing a local extension -->
     <string name="preferences_install_local_extension">Instale estension indicant un file</string>
     <!-- Preference for notifications -->
@@ -703,8 +693,6 @@
 
     <!-- Add-on Preferences -->
     <!-- Preference to customize the configured AMO (addons.mozilla.org) collection -->
-    <string name="preferences_customize_amo_collection" moz:removedIn="126" tools:ignore="UnusedResources">Racuelte personalizade di components adizionai</string>
-    <!-- Preference to customize the configured AMO (addons.mozilla.org) collection -->
     <string name="preferences_customize_extension_collection">Racuelte di estensions personalizade</string>
     <!-- Button caption to confirm the add-on collection configuration -->
     <string name="customize_addon_collection_ok">Va ben</string>
@@ -716,9 +704,6 @@
     <string name="customize_addon_collection_user_hint">Proprietari de racuelte (ID utent)</string>
 
 
-    <!-- Toast shown after confirming the custom add-on collection configuration -->
-    <string name="toast_customize_addon_collection_done" moz:removedIn="126" tools:ignore="UnusedResources">Racuelte di components adizionâi modificade. La aplicazion e vignarà sierade par aplicâ lis modifichis…</string>
-
     <!-- Toast shown after confirming the custom extension collection configuration -->
     <string name="toast_customize_extension_collection_done">Racuelte di estensions modificade. La aplicazion e vignarà sierade par aplicâ lis modifichis…</string>
 
@@ -777,36 +762,23 @@
     <string name="wallpapers_onboarding_dialog_explore_more_button_text">Scuvierç altris fonts</string>
 
     <!-- Add-ons general availability nimbus message-->
-    <!-- Title of the Nimbus message for add-ons general availability-->
-    <string name="addon_ga_message_title" moz:removedIn="126" tools:ignore="UnusedResources">A son disponibii gnûfs components adizionâi</string>
     <!-- Title of the Nimbus message for extension general availability-->
     <string name="addon_ga_message_title_2" tools:ignore="UnusedResources">A son disponibilis gnovis estensions</string>
     <!-- Body of the Nimbus message for add-ons general availability. 'Firefox' intentionally hardcoded here-->
     <string name="addon_ga_message_body" tools:ignore="UnusedResources">Scuvierç plui di 100 gnovis estensions che ti permetin di personalizâ Firefox.</string>
-    <!-- Button text of the Nimbus message for add-ons general availability. -->
-    <string name="addon_ga_message_button" moz:removedIn="126" tools:ignore="UnusedResources">Esplore i components adizionâi</string>
 
     <!-- Button text of the Nimbus message for extensions general availability. -->
     <string name="addon_ga_message_button_2" tools:ignore="UnusedResources">Esplore lis estensions</string>
 
     <!-- Extension process crash dialog to user -->
-    <!-- Title of a dialog shown to the user when enough errors have occurred with addons and they need to be temporarily disabled -->
-    <string name="addon_process_crash_dialog_title" moz:removedIn="126" tools:ignore="UnusedResources">I components adizionâi a son disativâts in mût temporani</string>
-
     <!-- Title of the extension crash dialog shown to the user when enough errors have occurred with extensions and they need to be temporarily disabled -->
     <string name="extension_process_crash_dialog_title">Lis estensions a son disativadis in mût temporani</string>
-    <!-- The first parameter is the application name. This is a message shown to the user when too many errors have occurred with the addons process and they have been disabled. The user can decide if they would like to continue trying to start add-ons or if they'd rather continue without them. -->
-    <string name="addon_process_crash_dialog_message" moz:removedIn="126" tools:ignore="UnusedResources">Un o plui components adizionâi a àn fermât di funzionâ, rindint instabil il sisteme. %1$s al à cirût di tornâ a inviâ i components adizionâi cence sucès.\n\nDilunc cheste session no si tornarà a inviâ i components adizionâi.\n\nLa rimozion o la disativazion dai components adizionâi e podarès risolvi chest probleme.</string>
     <!-- This is a message shown to the user when too many errors have occurred with the extensions process and they have been disabled.
     The user can decide if they would like to continue trying to start extensions or if they'd rather continue without them.
     The first parameter is the application name. -->
     <string name="extension_process_crash_dialog_message">Une o plui estensions si son fermadis e no funzionin, rindint instabil il sisteme. %1$s al à cirût di tornâ a inviâ lis estensions cence furtune.\n\nIn cheste session lis estensions no vignaran plui inviadis di gnûf.\n\nLa rimozion o la disativazion des estensions e podarès comedâ il probleme.</string>
-    <!-- This will cause the add-ons to try restarting but the dialog will reappear if it is unsuccessful again -->
-    <string name="addon_process_crash_dialog_retry_button_text" moz:removedIn="126" tools:ignore="UnusedResources">Prove a tornâ a inviâ i components adizionâi</string>
     <!-- Button text on the extension crash dialog to prompt the user to try restarting the extensions but the dialog will reappear if it is unsuccessful again -->
     <string name="extension_process_crash_dialog_retry_button_text" tools:ignore="UnusedResources">Prove a inviâ di gnûf lis estensions</string>
-    <!-- The user will continue with all add-ons disabled -->
-    <string name="addon_process_crash_dialog_disable_addons_button_text" moz:removedIn="126" tools:ignore="UnusedResources">Continue cui components adizionâi disativâts</string>
 
     <!-- Button text on the extension crash dialog to prompt the user to continue with all extensions disabled. -->
     <string name="extension_process_crash_dialog_disable_extensions_button_text">Continue cu lis estensions disativadis</string>
@@ -933,10 +905,15 @@
     <!-- Preference for using the dynamic toolbar -->
     <string name="preference_gestures_dynamic_toolbar">Scor par platâ la sbare dai struments</string>
     <!-- Preference for switching tabs by swiping horizontally on the toolbar -->
-    <string name="preference_gestures_swipe_toolbar_switch_tabs">Scor la sbare dai struments in bande par cambiâ schede</string>
+    <string name="preference_gestures_swipe_toolbar_switch_tabs" moz:removedIn="129" tools:ignore="UnusedResources">Scor la sbare dai struments in bande par cambiâ schede</string>
     <!-- Preference for showing the opened tabs by swiping up on the toolbar-->
     <string name="preference_gestures_swipe_toolbar_show_tabs">Scor la sbare dai struments in alt par vierzi lis schedis</string>
 
+    <!-- Preference for using the dynamic toolbars -->
+    <string name="preference_gestures_dynamic_toolbar_2">Scor par platâ la sbare de direzion e chê dai struments</string>
+    <!-- Preference for switching tabs by swiping horizontally on the addressbar -->
+    <string name="preference_gestures_swipe_toolbar_switch_tabs_2">Scor la sbare de direzion di une bande o chê altre par cambiâ schede</string>
+
     <!-- Library -->
     <!-- Option in Library to open Downloads page -->
     <string name="library_downloads">Discjamâts</string>
@@ -2506,8 +2483,6 @@
 
     <!-- The title of the warning card informs the user that a language is not supported. The first parameter is the name of the language that is not supported. -->
     <string name="translation_error_language_not_supported_warning_text">Nus displâs, %1$s nol è ancjemò supuartât.</string>
-    <!-- Button text on the warning card when a language is not supported. The link will take the user to a page to a support page about translations. -->
-    <string name="translation_error_language_not_supported_learn_more" moz:removedIn="126" tools:ignore="UnusedResources">Plui informazions</string>
 
 
     <!-- Snackbar title shown if the user closes the Translation Request dialogue and a translation is in progress. -->
@@ -2521,8 +2496,6 @@
 
     <!-- Translations options dialog -->
     <!-- Title of the translation options dialog that allows a user to set their translation options for the site the user is currently on. -->
-    <string name="translation_option_bottom_sheet_title" moz:removedIn="126" tools:ignore="UnusedResources">Opzions di traduzion</string>
-    <!-- Title of the translation options dialog that allows a user to set their translation options for the site the user is currently on. -->
     <string name="translation_option_bottom_sheet_title_heading">Opzions di traduzion</string>
     <!-- Toggle switch label that allows a user to set the setting if they would like the browser to always offer or suggest translations when available. -->
     <string name="translation_option_bottom_sheet_always_translate">Propon simpri la traduzion</string>
@@ -2635,6 +2608,15 @@
     <!-- Content description (not visible, for screen readers etc.): For a language list item that is selected. -->
     <string name="download_languages_item_content_description_selected_state" moz:removedIn="127" tools:ignore="UnusedResources">Selezionade</string>
 
+    <!-- The title of the warning card informs the user that an error has occurred when fetching the list of languages. -->
+    <string name="download_languages_fetch_error_warning_text">Impussibil cjariâ lis lenghis. Torne controle plui tart.</string>
+    <!-- The title of the warning card informs the user that an error has occurred at downloading a language.
+      The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_error_warning_text"><![CDATA[Impussibil discjariâ <b>%1$s</b>. Torne prove.]]></string>
+    <!-- The title of the warning card informs the user that an error has occurred at deleting a language.
+          The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_delete_error_warning_text"><![CDATA[Impussibil eliminâ <b>%1$s</b>. Torne prove.]]></string>
+
     <!-- Title for the dialog used by the translations feature to confirm deleting a language.
     The dialog will be presented when the user requests deletion of a language.
     The first parameter is the name of the language, for example, "Spanish" and the second parameter is the size in kilobytes or megabytes of the language file. -->
@@ -2662,7 +2644,7 @@
     <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation. -->
     <string name="download_language_file_dialog_message_all_languages">O discjamìn lenghis parziâls te tô memorie cache par tignî privadis lis traduzions.</string>
     <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation without mentioning the cache. -->
-    <string name="download_language_file_dialog_message_all_languages_no_cache">O discjariìn lenghis parziâls par mantignî privadis lis traduzions.</string>
+    <string name="download_language_file_dialog_message_all_languages_no_cache" moz:removedIn="129" tools:ignore="UnusedResources">O discjariìn lenghis parziâls par mantignî privadis lis traduzions.</string>
     <!-- Checkbox label text on the data saving mode warning dialog used by the translations feature. This checkbox allows users to ignore the data usage warnings. -->
     <string name="download_language_file_dialog_checkbox_text">Discjame simpri in modalitât sparagn dâts</string>
     <!-- Button text on the data saving mode warning dialog used by the translations feature to allow users to confirm they wish to continue and download the language file. -->
@@ -2720,16 +2702,27 @@
 
     <!-- Micro survey -->
 
+    <!-- Microsurvey -->
+    <!-- Prompt view -->
+    <!-- The microsurvey prompt title. Note: The word "Firefox" should NOT be translated -->
+    <string name="micro_survey_prompt_title" tools:ignore="UnusedResources">Judinus a miorâ Firefox. Al puarte vie dome un minût.</string>
     <!-- The continue button label -->
     <string name="micro_survey_continue_button_label" tools:ignore="UnusedResources">Continue</string>
+    <!-- Survey view -->
+    <!-- The survey header -->
+    <string name="micro_survey_survey_header" moz:removedIn="129" tools:ignore="UnusedResources">Complete chest sondaç</string>
     <!-- The survey header -->
-    <string name="micro_survey_survey_header">Complete chest sondaç</string>
+    <string name="micro_survey_survey_header_2">Complete il sondaç</string>
     <!-- The privacy notice link -->
-    <string name="micro_survey_privacy_notice">Informative su la riservatece</string>
+    <string name="micro_survey_privacy_notice" moz:removedIn="129" tools:ignore="UnusedResources">Informative su la riservatece</string>
+    <!-- The privacy notice link -->
+    <string name="micro_survey_privacy_notice_2">Informative su la riservatece</string>
     <!-- The submit button label text -->
     <string name="micro_survey_submit_button_label">Invie</string>
     <!-- The close button label text -->
     <string name="micro_survey_close_button_label" moz:removedIn="128" tools:ignore="UnusedResources">Siere</string>
+    <!-- The survey completion header -->
+    <string name="micro_survey_survey_header_confirmation" tools:ignore="UnusedResources">Sondaç completât</string>
     <!-- The survey completion confirmation text -->
     <string name="micro_survey_feedback_confirmation">Graciis di vê condividude la tô opinion.</string>
     <!-- Option for likert scale -->
@@ -2743,7 +2736,11 @@
     <!-- Option for likert scale -->
     <string name="likert_scale_option_5" tools:ignore="UnusedResources">Une vore insodisfat(e)</string>
 
-    <!-- Microsurvey accessibility -->
+    <!-- Option for likert scale -->
+    <string name="likert_scale_option_6" tools:ignore="UnusedResources">No dopri cheste funzion</string>
+    <!-- Text shown in prompt for homepage microsurvey. 'Firefox' intentionally hardcoded here- -->
+    <string name="microsurvey_prompt_homepage_title" tools:ignore="UnusedResources">Trop sêstu sodisfat/e de tô pagjine iniziâl di Firefox?</string>
+    <!-- Accessibility -->
     <!-- Content description (not visible, for screen readers etc.) for opening microsurvey bottom sheet. -->
     <string name="microsurvey_open_handle_content_description" tools:ignore="UnusedResources">Vierç sondaç</string>
     <!-- Content description (not visible, for screen readers etc.) for closing microsurvey bottom sheet. -->
diff --git a/mobile/android/fenix/app/src/main/res/values-ja/strings.xml b/mobile/android/fenix/app/src/main/res/values-ja/strings.xml
index cad2df70fac85861de4d6ee94d7d94602dc811b9..5f0ad25109ab79e1ece1f1c8560babd878488c27 100644
--- a/mobile/android/fenix/app/src/main/res/values-ja/strings.xml
+++ b/mobile/android/fenix/app/src/main/res/values-ja/strings.xml
@@ -157,8 +157,6 @@
 
     <!-- Shortcut action to open Passwords screen -->
     <string name="home_screen_shortcut_passwords">パスワード</string>
-    <!-- Shortcut action to open Passwords screen -->
-    <string name="home_screen_shortcut_open_password_screen" moz:removedIn="126" tools:ignore="UnusedResources">パスワードのショートカット</string>
 
     <!-- Recent Tabs -->
     <!-- Header text for jumping back into the recent tab in the home screen -->
@@ -199,8 +197,6 @@
     <string name="browser_menu_refresh">更新</string>
     <!-- Content description (not visible, for screen readers etc.): Stop loading current website -->
     <string name="browser_menu_stop">中止</string>
-    <!-- Browser menu button that opens the addon manager -->
-    <string name="browser_menu_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">アドオン</string>
     <!-- Browser menu button that opens the extensions manager -->
     <string name="browser_menu_extensions">拡張機能</string>
     <!-- Browser menu button that opens the extensions manager -->
@@ -209,8 +205,6 @@
     <string name="browser_menu_discover_more_extensions">拡張機能を探す</string>
     <!-- Browser menu button that opens account settings -->
     <string name="browser_menu_account_settings">アカウント情報</string>
-    <!-- Text displayed when there are no add-ons to be shown -->
-    <string name="no_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">アドオンがありません</string>
     <!-- Browser menu button that sends a user to help articles -->
     <string name="browser_menu_help">ヘルプ</string>
     <!-- Browser menu button that sends a to a the what's new article -->
@@ -227,8 +221,6 @@
     <string name="browser_menu_add_to_homescreen">ホーム画面に追加</string>
     <!-- Browser menu toggle that adds a shortcut to the site on the device home screen. -->
     <string name="browser_menu_add_to_homescreen_2">ホーム画面に追加...</string>
-    <!-- Browser menu toggle that installs a Progressive Web App shortcut to the site on the device home screen. -->
-    <string name="browser_menu_install_on_homescreen" moz:removedIn="126" tools:ignore="UnusedResources">インストール</string>
     <!-- Content description (not visible, for screen readers etc.) for the Resync tabs button -->
     <string name="resync_button_content_description">再同期</string>
     <!-- Browser menu button that opens the find in page menu -->
@@ -606,7 +598,9 @@
     <!-- Preference category for account information -->
     <string name="preferences_category_account">アカウント</string>
     <!-- Preference for changing where the toolbar is positioned -->
-    <string name="preferences_toolbar">ツールバー</string>
+    <string name="preferences_toolbar" moz:removedIn="129" tools:ignore="UnusedResources">ツールバー</string>
+    <!-- Preference for changing where the AddressBar is positioned -->
+    <string name="preferences_toolbar_2">アドレスバーの配置</string>
     <!-- Preference for changing default theme to dark or light mode -->
     <string name="preferences_theme">テーマ</string>
     <!-- Preference for customizing the home screen -->
@@ -678,13 +672,8 @@
     <!-- Message to indicate users that we are quitting the application to apply the changes -->
     <string name="quit_application">変更を適用するためアプリケーションを終了します...</string>
 
-    <!-- Preference for add_ons -->
-    <string name="preferences_addons" moz:removedIn="126" tools:ignore="UnusedResources">アドオン</string>
-
     <!-- Preference for extensions -->
     <string name="preferences_extensions">拡張機能</string>
-    <!-- Preference for installing a local add-on -->
-    <string name="preferences_install_local_addon" moz:removedIn="126" tools:ignore="UnusedResources">ファイルからアドオンをインストール</string>
     <!-- Preference for installing a local extension -->
     <string name="preferences_install_local_extension">ファイルから拡張機能をインストール</string>
     <!-- Preference for notifications -->
@@ -706,10 +695,11 @@
     <!-- The subtitle for the allow for all sites preference toggle -->
     <string name="addons_permissions_allow_for_all_sites_subtitle" tools:ignore="UnusedResources">この拡張機能を信頼する場合は、すべてのウェブサイトに対して権限を与えられます。</string>
 
+    <!-- The text shown when an extension does not require permissions -->
+    <string name="addons_does_not_require_permissions">この拡張機能は権限を必要としません。</string>
+
     <!-- Add-on Preferences -->
     <!-- Preference to customize the configured AMO (addons.mozilla.org) collection -->
-    <string name="preferences_customize_amo_collection" moz:removedIn="126" tools:ignore="UnusedResources">カスタムアドオンコレクション</string>
-    <!-- Preference to customize the configured AMO (addons.mozilla.org) collection -->
     <string name="preferences_customize_extension_collection">カスタム拡張機能コレクション</string>
     <!-- Button caption to confirm the add-on collection configuration -->
     <string name="customize_addon_collection_ok">OK</string>
@@ -719,8 +709,6 @@
     <string name="customize_addon_collection_hint">コレクション名</string>
     <!-- Hint displayed on input field for custom collection user ID-->
     <string name="customize_addon_collection_user_hint">コレクションの所有者 (ユーザーID)</string>
-    <!-- Toast shown after confirming the custom add-on collection configuration -->
-    <string name="toast_customize_addon_collection_done" moz:removedIn="126" tools:ignore="UnusedResources">アドオンコレクションが変更されました。変更を適用するためにアプリケーションを終了しています…</string>
 
     <!-- Toast shown after confirming the custom extension collection configuration -->
     <string name="toast_customize_extension_collection_done">拡張機能コレクションが変更されました。変更を適用するためにアプリケーションを終了しています…</string>
@@ -779,36 +767,23 @@
     <string name="wallpapers_onboarding_dialog_explore_more_button_text">他の壁紙を探す</string>
 
     <!-- Add-ons general availability nimbus message-->
-    <!-- Title of the Nimbus message for add-ons general availability-->
-    <string name="addon_ga_message_title" moz:removedIn="126" tools:ignore="UnusedResources">新しいアドオンが利用可能になりました</string>
     <!-- Title of the Nimbus message for extension general availability-->
     <string name="addon_ga_message_title_2" tools:ignore="UnusedResources">新しい拡張機能が利用可能になりました</string>
     <!-- Body of the Nimbus message for add-ons general availability. 'Firefox' intentionally hardcoded here-->
     <string name="addon_ga_message_body" tools:ignore="UnusedResources">あなただけの Firefox にカスタマイズできる 100 以上の新しい拡張機能を確認してください。</string>
-    <!-- Button text of the Nimbus message for add-ons general availability. -->
-    <string name="addon_ga_message_button" moz:removedIn="126" tools:ignore="UnusedResources">アドオンを探す</string>
 
     <!-- Button text of the Nimbus message for extensions general availability. -->
     <string name="addon_ga_message_button_2" tools:ignore="UnusedResources">拡張機能を探す</string>
 
     <!-- Extension process crash dialog to user -->
-    <!-- Title of a dialog shown to the user when enough errors have occurred with addons and they need to be temporarily disabled -->
-    <string name="addon_process_crash_dialog_title" moz:removedIn="126" tools:ignore="UnusedResources">アドオンは一時的に無効化されています</string>
-
     <!-- Title of the extension crash dialog shown to the user when enough errors have occurred with extensions and they need to be temporarily disabled -->
     <string name="extension_process_crash_dialog_title">拡張機能は一時的に無効化されています</string>
-    <!-- The first parameter is the application name. This is a message shown to the user when too many errors have occurred with the addons process and they have been disabled. The user can decide if they would like to continue trying to start add-ons or if they'd rather continue without them. -->
-    <string name="addon_process_crash_dialog_message" moz:removedIn="126" tools:ignore="UnusedResources">システムを不安定にしている 1 つ以上のアドオンが動作を停止しました。 %1$s によるアドオンの再起動が失敗しました。\n\nアドオンは現在のセッション中に再起動されません。\n\nアドオンを削除または無効にすると、この問題が解決される可能性があります。</string>
     <!-- This is a message shown to the user when too many errors have occurred with the extensions process and they have been disabled.
     The user can decide if they would like to continue trying to start extensions or if they'd rather continue without them.
     The first parameter is the application name. -->
     <string name="extension_process_crash_dialog_message">システムを不安定にしている 1 個以上の拡張機能が動作を停止しました。 %1$s による拡張機能の再起動が失敗しました。\n\n拡張機能は現在のセッション中に再起動されません。\n\n拡張機能を削除または無効にすることで、この問題を解決できるかもしれません。</string>
-    <!-- This will cause the add-ons to try restarting but the dialog will reappear if it is unsuccessful again -->
-    <string name="addon_process_crash_dialog_retry_button_text" moz:removedIn="126" tools:ignore="UnusedResources">アドオンを再起動してみてください</string>
     <!-- Button text on the extension crash dialog to prompt the user to try restarting the extensions but the dialog will reappear if it is unsuccessful again -->
     <string name="extension_process_crash_dialog_retry_button_text" tools:ignore="UnusedResources">拡張機能を再起動してみてください</string>
-    <!-- The user will continue with all add-ons disabled -->
-    <string name="addon_process_crash_dialog_disable_addons_button_text" moz:removedIn="126" tools:ignore="UnusedResources">アドオンを無効にして続ける</string>
 
     <!-- Button text on the extension crash dialog to prompt the user to continue with all extensions disabled. -->
     <string name="extension_process_crash_dialog_disable_extensions_button_text">拡張機能を無効にして続ける</string>
@@ -935,10 +910,15 @@
     <!-- Preference for using the dynamic toolbar -->
     <string name="preference_gestures_dynamic_toolbar">スクロール時にツールバーを隠す</string>
     <!-- Preference for switching tabs by swiping horizontally on the toolbar -->
-    <string name="preference_gestures_swipe_toolbar_switch_tabs">ツールバーの横スワイプでタブ切り替え</string>
+    <string name="preference_gestures_swipe_toolbar_switch_tabs" moz:removedIn="129" tools:ignore="UnusedResources">ツールバーの横スワイプでタブ切り替え</string>
     <!-- Preference for showing the opened tabs by swiping up on the toolbar-->
     <string name="preference_gestures_swipe_toolbar_show_tabs">ツールバーの上スワイプでタブ表示</string>
 
+    <!-- Preference for using the dynamic toolbars -->
+    <string name="preference_gestures_dynamic_toolbar_2">スクロール時にアドレスバーとツールバーを隠す</string>
+    <!-- Preference for switching tabs by swiping horizontally on the addressbar -->
+    <string name="preference_gestures_swipe_toolbar_switch_tabs_2">アドレスバーの横スワイプでタブを切り替える</string>
+
     <!-- Library -->
     <!-- Option in Library to open Downloads page -->
     <string name="library_downloads">ダウンロード一覧</string>
@@ -1454,6 +1434,22 @@
     <!-- Text shown in the notification that pops up to remind the user that a private browsing session is active. -->
     <string name="notification_pbm_delete_text_2">プライベートタブを閉じる</string>
 
+    <!-- Microsuverys -->
+    <!-- Text shown in prompt for printing microsurvey. "sec" It's an abrevation for "second". -->
+    <string name="microsurvey_prompt_printing_title" tools:ignore="UnusedResources">Firefox の印刷機能の改善にご協力ください。時間はかかりません。</string>
+    <!-- Text shown in prompt for printing microsurvey. 'Firefox' intentionally hardcoded here--> --&gt;
+    <string name="microsurvey_survey_printing_title" tools:ignore="UnusedResources">Firefox での印刷にどの程度満足していますか?</string>
+    <!-- Text for option one, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_0" tools:ignore="UnusedResources">どちらでもない</string>
+    <!-- Text for option two, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_1" tools:ignore="UnusedResources">非常に不満</string>
+    <!-- Text for option three, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_2" tools:ignore="UnusedResources">不満</string>
+    <!-- Text for option four, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_3" tools:ignore="UnusedResources">満足</string>
+    <!-- Text for option five, shown in microsurvey.-->
+    <string name="microsurvey_survey_5_point_option_4" tools:ignore="UnusedResources">とても満足</string>
+
     <!-- Text shown in the notification that pops up to remind the user that a private browsing session is active for Android 14+ -->
     <string name="notification_erase_title_android_14">プライベートタブを閉じますか?</string>
     <string name="notification_erase_text_android_14">プライベートタブを閉じるには、この通知をタップまたはスワイプしてください。</string>
@@ -1529,10 +1525,6 @@
     <string name="qr_scanner_dialog_invalid_ok">OK</string>
     <!-- Tab collection deletion prompt dialog message. Placeholder will be replaced with the collection name -->
     <string name="tab_collection_dialog_message">本当に %1$s を削除してもよろしいですか?</string>
-    <!-- Collection and tab deletion prompt dialog message. This will show when the last tab from a collection is deleted -->
-    <string name="delete_tab_and_collection_dialog_message">このタブを削除するとコレクション全体が削除されます。新しいコレクションはいつでも作成できます。</string>
-    <!-- Collection and tab deletion prompt dialog title. Placeholder will be replaced with the collection name. This will show when the last tab from a collection is deleted -->
-    <string name="delete_tab_and_collection_dialog_title">%1$s のコレクションを削除しますか?</string>
     <!-- Tab collection deletion prompt dialog option to delete the collection -->
     <string name="tab_collection_dialog_positive">削除</string>
     <!-- Text displayed in a notification when the user enters full screen mode -->
@@ -2515,8 +2507,6 @@
     <string name="translation_error_could_not_load_languages_warning_text">言語を読み込めませんでした。インターネット接続を確認して、もう一度試してください。</string>
     <!-- The title of the warning card informs the user that a language is not supported. The first parameter is the name of the language that is not supported. -->
     <string name="translation_error_language_not_supported_warning_text">申し訳ありませんが、%1$s はまだサポートされていません。</string>
-    <!-- Button text on the warning card when a language is not supported. The link will take the user to a page to a support page about translations. -->
-    <string name="translation_error_language_not_supported_learn_more" moz:removedIn="126" tools:ignore="UnusedResources">詳細情報</string>
 
     <!-- Snackbar title shown if the user closes the Translation Request dialogue and a translation is in progress. -->
     <string name="translation_in_progress_snackbar">翻訳中…</string>
@@ -2531,8 +2521,6 @@
 
     <!-- Translations options dialog -->
     <!-- Title of the translation options dialog that allows a user to set their translation options for the site the user is currently on. -->
-    <string name="translation_option_bottom_sheet_title" moz:removedIn="126" tools:ignore="UnusedResources">翻訳オプション</string>
-    <!-- Title of the translation options dialog that allows a user to set their translation options for the site the user is currently on. -->
     <string name="translation_option_bottom_sheet_title_heading">翻訳オプション</string>
     <!-- Toggle switch label that allows a user to set the setting if they would like the browser to always offer or suggest translations when available. -->
     <string name="translation_option_bottom_sheet_always_translate">常に翻訳機能を提供する</string>
@@ -2633,8 +2621,10 @@
     <string name="download_languages_language_item_preference">%1$s (%2$s)</string>
     <!-- The subhead of the download language preference screen will appear above the items that were not downloaded. -->
     <string name="download_language_header_preference">言語をダウンロード</string>
-    <!-- All languages list item. When the user presses this item, they can download or delete all languages. -->
+    <!-- All languages list item. When the user presses this item, they can download all languages. -->
     <string name="download_language_all_languages_item_preference">すべての言語</string>
+    <!-- All languages list item. When the user presses this item, they can delete all languages that were downloaded. -->
+    <string name="download_language_all_languages_item_preference_to_delete">すべての言語を削除</string>
     <!-- Content description (not visible, for screen readers etc.): For a language list item that was downloaded, the user can now delete it. -->
     <string name="download_languages_item_content_description_downloaded_state">削除</string>
     <!-- Content description (not visible, for screen readers etc.): For a language list item, downloading is in progress. -->
@@ -2642,7 +2632,16 @@
     <!-- Content description (not visible, for screen readers etc.): For a language list item that was not downloaded. -->
     <string name="download_languages_item_content_description_not_downloaded_state">ダウンロード</string>
     <!-- Content description (not visible, for screen readers etc.): For a language list item that is selected. -->
-    <string name="download_languages_item_content_description_selected_state">選択済み</string>
+    <string name="download_languages_item_content_description_selected_state" moz:removedIn="127" tools:ignore="UnusedResources">選択済み</string>
+
+    <!-- The title of the warning card informs the user that an error has occurred when fetching the list of languages. -->
+    <string name="download_languages_fetch_error_warning_text">言語を読み込めませんでした。後でもう一度ご確認ください。</string>
+    <!-- The title of the warning card informs the user that an error has occurred at downloading a language.
+      The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_error_warning_text"><![CDATA[<b>%1$s</b> をダウンロードできませんでした。もう一度試してください。]]></string>
+    <!-- The title of the warning card informs the user that an error has occurred at deleting a language.
+          The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_delete_error_warning_text"><![CDATA[<b>%1$s</b> を削除できませんでした。もう一度試してください。]]></string>
 
     <!-- Title for the dialog used by the translations feature to confirm deleting a language.
     The dialog will be presented when the user requests deletion of a language.
@@ -2669,7 +2668,7 @@
     <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation. -->
     <string name="download_language_file_dialog_message_all_languages">翻訳のプライバシー保つため、言語の一部をキャッシュにダウンロードします。</string>
     <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation without mentioning the cache. -->
-    <string name="download_language_file_dialog_message_all_languages_no_cache">翻訳のプライバシーを保つため、言語の一部をダウンロードします。</string>
+    <string name="download_language_file_dialog_message_all_languages_no_cache" moz:removedIn="129" tools:ignore="UnusedResources">翻訳のプライバシーを保つため、言語の一部をダウンロードします。</string>
     <!-- Checkbox label text on the data saving mode warning dialog used by the translations feature. This checkbox allows users to ignore the data usage warnings. -->
     <string name="download_language_file_dialog_checkbox_text">常にデータ節約モードでダウンロードする</string>
     <!-- Button text on the data saving mode warning dialog used by the translations feature to allow users to confirm they wish to continue and download the language file. -->
@@ -2726,16 +2725,27 @@
 
     <!-- Micro survey -->
 
+    <!-- Microsurvey -->
+    <!-- Prompt view -->
+    <!-- The microsurvey prompt title. Note: The word "Firefox" should NOT be translated -->
+    <string name="micro_survey_prompt_title" tools:ignore="UnusedResources">Firefox の改善にご協力ください。時間はかかりません。</string>
     <!-- The continue button label -->
     <string name="micro_survey_continue_button_label" tools:ignore="UnusedResources">続ける</string>
+    <!-- Survey view -->
     <!-- The survey header -->
-    <string name="micro_survey_survey_header">このアンケートにご回答ください</string>
+    <string name="micro_survey_survey_header" moz:removedIn="129" tools:ignore="UnusedResources">このアンケートにご回答ください</string>
+    <!-- The survey header -->
+    <string name="micro_survey_survey_header_2">アンケートにご回答ください</string>
+    <!-- The privacy notice link -->
+    <string name="micro_survey_privacy_notice" moz:removedIn="129" tools:ignore="UnusedResources">プライバシー通知</string>
     <!-- The privacy notice link -->
-    <string name="micro_survey_privacy_notice">プライバシー通知</string>
+    <string name="micro_survey_privacy_notice_2">プライバシー通知</string>
     <!-- The submit button label text -->
     <string name="micro_survey_submit_button_label">送信</string>
     <!-- The close button label text -->
-    <string name="micro_survey_close_button_label" tools:ignore="UnusedResources">閉じる</string>
+    <string name="micro_survey_close_button_label" moz:removedIn="128" tools:ignore="UnusedResources">閉じる</string>
+    <!-- The survey completion header -->
+    <string name="micro_survey_survey_header_confirmation" tools:ignore="UnusedResources">回答完了</string>
     <!-- The survey completion confirmation text -->
     <string name="micro_survey_feedback_confirmation">フィードバックのご提供ありがとうございます。</string>
     <!-- Option for likert scale -->
@@ -2749,7 +2759,11 @@
     <!-- Option for likert scale -->
     <string name="likert_scale_option_5" tools:ignore="UnusedResources">非常に不満</string>
 
-    <!-- Microsurvey accessibility -->
+    <!-- Option for likert scale -->
+    <string name="likert_scale_option_6" tools:ignore="UnusedResources">使わない</string>
+    <!-- Text shown in prompt for homepage microsurvey. 'Firefox' intentionally hardcoded here- -->
+    <string name="microsurvey_prompt_homepage_title" tools:ignore="UnusedResources">Firefox ホームページにどの程度満足していますか?</string>
+    <!-- Accessibility -->
     <!-- Content description (not visible, for screen readers etc.) for opening microsurvey bottom sheet. -->
     <string name="microsurvey_open_handle_content_description" tools:ignore="UnusedResources">アンケートを開く</string>
     <!-- Content description (not visible, for screen readers etc.) for closing microsurvey bottom sheet. -->
diff --git a/mobile/android/fenix/app/src/main/res/values-meh/strings.xml b/mobile/android/fenix/app/src/main/res/values-meh/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e506040a4793c233cd6ed6539271bd7695d43be2
--- /dev/null
+++ b/mobile/android/fenix/app/src/main/res/values-meh/strings.xml
@@ -0,0 +1,2296 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:tools="http://schemas.android.com/tools" xmlns:moz="http://mozac.org/tools">
+
+    <!-- App name for private browsing mode. The first parameter is the name of the app defined in app_name (for example: Fenix)-->
+    <string name="app_name_private_5">%s yɨ´ɨ yu´u</string>
+    <!-- App name for private browsing mode. The first parameter is the name of the app defined in app_name (for example: Fenix)-->
+    <string name="app_name_private_4">%s (yɨ´ɨ yu´u)</string>
+
+    <!-- Home Fragment -->
+    <!-- Content description (not visible, for screen readers etc.): "Three dot" menu button. -->
+    <string name="content_description_menu">Kue´eka nuu kají</string>
+    <!-- Content description (not visible, for screen readers etc.): "Private Browsing" menu button. -->
+    <string name="content_description_private_browsing_button">Kua\'a kaka yu´unu</string>
+    <!-- Content description (not visible, for screen readers etc.): "Private Browsing" menu button. -->
+    <string name="content_description_disable_private_browsing_button">Xita kaka yu´unu</string>
+    <!-- Placeholder text shown in the search bar before a user enters text for the default engine -->
+    <string name="search_hint">Nánuku a xíín chu´un iin nuu</string>
+    <!-- Placeholder text shown in the search bar before a user enters text for a general engine -->
+    <string name="search_hint_general_engine">Nánuku nuu Web</string>
+    <!-- Placeholder text shown in search bar when using history search -->
+    <string name="history_search_hint">Nánuku a nsá´ánu</string>
+    <!-- Placeholder text shown in search bar when using bookmarks search -->
+    <string name="bookmark_search_hint">Nánuku marcadores</string>
+    <!-- Placeholder text shown in search bar when using tabs search -->
+    <string name="tab_search_hint">Nánuku pestañas</string>
+    <!-- Placeholder text shown in the search bar when using application search engines -->
+    <string name="application_search_hint">Tee a nánukunu</string>
+    <!-- No Open Tabs Message Description -->
+    <string name="no_open_tabs_description">Ya\'a kene daa pestañas nune</string>
+    <!-- No Private Tabs Message Description -->
+    <string name="no_private_tabs_description">Daa pestañas yu\'u kene ya\'a.</string>
+    <!-- Tab tray multi select title in app bar. The first parameter is the number of tabs selected -->
+    <string name="tab_tray_multi_select_title">%1$d nkaji</string>
+    <!-- Label of button in create collection dialog for creating a new collection  -->
+    <string name="tab_tray_add_new_collection">Tee iin colección jíía</string>
+    <!-- Label of editable text in create collection dialog for naming a new collection  -->
+    <string name="tab_tray_add_new_collection_name">Sivɨ</string>
+    <!-- Label of button in save to collection dialog for selecting a current collection  -->
+    <string name="tab_tray_select_collection">Kaji selección</string>
+
+    <!-- Content description for close button while in multiselect mode in tab tray -->
+    <string name="tab_tray_close_multiselect_content_description">Kene selección múltiple</string>
+    <!-- Content description for save to collection button while in multiselect mode in tab tray -->
+    <string name="tab_tray_collection_button_multiselect_content_description">Chuva\'a daa pestañas nkaji nuu colección</string>
+    <!-- Content description on checkmark while tab is selected in multiselect mode in tab tray -->
+    <string name="tab_tray_multiselect_selected_content_description">Nkaji</string>
+
+    <!-- Home - Recently saved bookmarks -->
+    <!-- Title for the home screen section with recently saved bookmarks. -->
+    <string name="recently_saved_title" moz:removedIn="127" tools:ignore="UnusedResources">Daa skuata nchuva\'a</string>
+    <!-- Content description for the button which navigates the user to show all of their saved bookmarks. -->
+    <string name="recently_saved_show_all_content_description_2" moz:removedIn="127" tools:ignore="UnusedResources">Xituvi kuaiyo a ta´a ini noo´o</string>
+    <!-- Text for the menu button to remove a recently saved bookmark from the user's home screen -->
+    <string name="recently_saved_menu_item_remove" moz:removedIn="127" tools:ignore="UnusedResources">Xita</string>
+
+    <!-- Home - Bookmarks -->
+    <!-- Title for the home screen section with bookmarks. -->
+    <string name="home_bookmarks_title">A ta´a ini noo´o</string>
+    <!-- Text for the menu button to remove a recently saved bookmark from the user's home screen -->
+    <string name="home_bookmarks_menu_item_remove">Xita</string>
+
+    <!-- About content. The first parameter is the name of the application. (For example: Fenix) -->
+    <string name="about_content">%1$s kuvi iin a sá´á Mozilla.</string>
+
+    <!-- Private Browsing -->
+    <!-- Explanation for private browsing displayed to users on home view when they first enable private mode
+        The first parameter is the name of the app defined in app_name (for example: Fenix) -->
+    <string name="private_browsing_placeholder_description_2">%1$s xita a nnánukunu a nsá´ánu saa kenenu nuu ka̱a̱ a xiin nakasɨnu kuaiyo da pestaña jíí ventana nánuku yu´u. Ya´a ntu taji a noo´o nánuku yu´u nuu Web ji nuu ñɨvu tatu Internet, ya´a kumiji noo\'o a nnánukunu nuu inka ñɨvu ni´i ka̱a̱ tee nɨnuu ya´a.</string>
+    <string name="private_browsing_common_myths">Tu´un nakani jiee nánuku yu\'u</string>
+
+    <!-- True Private Browsing Mode -->
+    <!-- Title for info card on private homescreen in True Private Browsing Mode. -->
+    <string name="felt_privacy_desc_card_title">Nxinonu rastros nuu ka̱a̱ ya\'a</string>
+    <!-- Explanation for private browsing displayed to users on home view when they first enable
+        private mode in our new Total Private Browsing mode.
+        The first parameter is the name of the app defined in app_name (for example: Firefox Nightly)
+        The second parameter is the clickable link text in felt_privacy_info_card_subtitle_link_text -->
+    <string name="felt_privacy_info_card_subtitle_2">%1$s xina daa cookies, a nnánukunu jíí datos nuu ya\'a sa nakasɨnu kuaiyo da pestañas yu\'u. %2$s</string>
+    <!-- Clickable portion of the explanation for private browsing that links the user to our
+        about privacy page.
+        This string is used in felt_privacy_info_card_subtitle as the second parameter.-->
+    <string name="felt_privacy_info_card_subtitle_link_text">¿Neva kuvi kune\'ya a sá\'áni?</string>
+
+    <!-- Private mode shortcut "contextual feature recommendation" (CFR) -->
+    <!-- Text for the Private mode shortcut CFR message for adding a private mode shortcut to open private tabs from the Home screen -->
+    <string name="private_mode_cfr_message_2">Kuaxin sa kaji\'e síne pestaña yu\'u.</string>
+    <!-- Text for the positive button to accept adding a Private Browsing shortcut to the Home screen -->
+    <string name="private_mode_cfr_pos_button_text">Chisó ya´a nuu kajie´e</string>
+    <!-- Text for the negative button to decline adding a Private Browsing shortcut to the Home screen -->
+    <string name="cfr_neg_button_text">Ntuvi, kuta´vini</string>
+
+    <!-- Open in App "contextual feature recommendation" (CFR) -->
+    <!-- Text for the info message. The first parameter is the name of the application.-->
+    <string name="open_in_app_cfr_info_message_2">Kuvi ke\'inu %1$s sa síne automaticamente da enlaces nu daa aplicaciones.</string>
+    <!-- Text for the positive action button -->
+    <string name="open_in_app_cfr_positive_button_text">Kua´an nuu da ke´i</string>
+    <!-- Text for the negative action button -->
+    <string name="open_in_app_cfr_negative_button_text">Xita</string>
+
+
+    <!-- Text displayed that links to website containing documentation about the "Total cookie protection" feature. -->
+    <string name="tcp_cfr_learn_more">Kue\'eka tu\'un jííe protección cookies</string>
+
+
+    <!-- Private browsing erase action "contextual feature recommendation" (CFR) -->
+    <!-- Text for the message displayed in the contextual feature recommendation popup promoting the erase private browsing feature. -->
+    <string name="erase_action_cfr_message">Kuaxin ya\'a sa kajie\'e sesión yu\'u. Xita da nnánukunu, cookies — todo.</string>
+
+
+    <!-- Text for the info dialog when camera permissions have been denied but user tries to access a camera feature. -->
+    <string name="camera_permissions_needed_message">Jiniñu\'u kua\'anu kivɨ nu ka̱a̱ nátava. Kua\'a nu ke\'i Android, kauxin permisos jee kachi de kuvi.</string>
+    <!-- Text for the positive action button to go to Android Settings to grant permissions. -->
+    <string name="camera_permissions_needed_positive_button_text">Kua´an nuu da ke´i</string>
+    <!-- Text for the negative action button to dismiss the dialog. -->
+    <string name="camera_permissions_needed_negative_button_text">Xita</string>
+
+    <!-- Text for the positive action button to go to Settings for auto close tabs. -->
+    <string name="tab_tray_close_tabs_banner_positive_button_text">Síne da nu kaji</string>
+    <!-- Text for the negative action button to dismiss the Close Tabs Banner. -->
+    <string name="tab_tray_close_tabs_banner_negative_button_text">Xita</string>
+    <!-- Text for the banner message to tell users about our inactive tabs feature. -->
+    <string name="tab_tray_inactive_onboarding_message">Daa pestañas ntu sínenu uvi semana yata ya\'a kutuvi.</string>
+    <!-- Text for the action link to go to Settings for inactive tabs. -->
+    <string name="tab_tray_inactive_onboarding_button_text">Xita nuu daa ajustes</string>
+    <!-- Text for title for the auto-close dialog of the inactive tabs. -->
+    <string name="tab_tray_inactive_auto_close_title">¿Nakasɨ dee nña\'a iin yoo?</string>
+    <!-- Text for the body for the auto-close dialog of the inactive tabs.
+        The first parameter is the name of the application.-->
+    <string name="tab_tray_inactive_auto_close_body_2">%1$s kuvi nakasɨ pestañas de nña\'a iin yoo jee ntu sinenuma.</string>
+    <!-- Content description for close button in the auto-close dialog of the inactive tabs. -->
+    <string name="tab_tray_inactive_auto_close_button_content_description">Nakasɨ</string>
+
+
+    <!-- Text for turn on auto close tabs button in the auto-close dialog of the inactive tabs. -->
+    <string name="tab_tray_inactive_turn_on_auto_close_button_2">Tee cierre automático</string>
+
+
+    <!-- Home screen icons - Long press shortcuts -->
+    <!-- Shortcut action to open new tab -->
+    <string name="home_screen_shortcut_open_new_tab_2">Sukua jíía</string>
+    <!-- Shortcut action to open new private tab -->
+    <string name="home_screen_shortcut_open_new_private_tab_2">Pestaña yu´u jíía</string>
+    <!-- Shortcut action to open Passwords screen -->
+    <string name="home_screen_shortcut_passwords">Contraseñas</string>
+    <!-- Shortcut action to open Passwords screen -->
+    <string name="home_screen_shortcut_open_password_screen" moz:removedIn="126" tools:ignore="UnusedResources">Contraseñas</string>
+
+    <!-- Recent Tabs -->
+    <!-- Header text for jumping back into the recent tab in the home screen -->
+    <string name="recent_tabs_header">Niko íchi yata</string>
+    <!-- Button text for showing all the tabs in the tabs tray -->
+    <string name="recent_tabs_show_all">Kune´yá kuaiyo</string>
+
+
+    <!-- Content description for the button which navigates the user to show all recent tabs in the tabs tray. -->
+    <string name="recent_tabs_show_all_content_description_2">Xituvi botón daa pestañas nnune</string>
+
+
+    <!-- Text for button in synced tab card that opens synced tabs tray -->
+    <string name="recent_tabs_see_all_synced_tabs_button_text">Kune\'ya kuaiyo daa pestañas sincronizadas</string>
+    <!-- Accessibility description for device icon used for recent synced tab -->
+    <string name="recent_tabs_synced_device_icon_content_description">Ka̱a̱ sincronizado</string>
+    <!-- Text for the dropdown menu to remove a recent synced tab from the homescreen -->
+    <string name="recent_synced_tab_menu_item_remove">Xita</string>
+    <!-- Text for the menu button to remove a grouped highlight from the user's browsing history
+         in the Recently visited section -->
+    <string name="recent_tab_menu_item_remove">Xita</string>
+
+    <!-- History Metadata -->
+    <!-- Header text for a section on the home screen that displays grouped highlights from the
+         user's browsing history, such as topics they have researched or explored on the web -->
+    <string name="history_metadata_header_2">Daa skuata nne\'yanu</string>
+    <!-- Text for the menu button to remove a grouped highlight from the user's browsing history
+         in the Recently visited section -->
+    <string name="recently_visited_menu_item_remove">Xita</string>
+    <!-- Content description for the button which navigates the user to show all of their history. -->
+    <string name="past_explorations_show_all_content_description_2">Kutuvi kuaiyo daa exploraciones yata</string>
+
+    <!-- Browser Fragment -->
+    <!-- Content description (not visible, for screen readers etc.): Navigate backward (browsing history) -->
+    <string name="browser_menu_back">Niko yata</string>
+    <!-- Content description (not visible, for screen readers etc.): Navigate forward (browsing history) -->
+    <string name="browser_menu_forward">Ichi nuu</string>
+    <!-- Content description (not visible, for screen readers etc.): Refresh current website -->
+    <string name="browser_menu_refresh">Naxi\'ña</string>
+    <!-- Content description (not visible, for screen readers etc.): Stop loading current website -->
+    <string name="browser_menu_stop">Siankuiñi</string>
+    <!-- Browser menu button that opens the addon manager -->
+    <string name="browser_menu_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">Ka̱a̱ chunta´an</string>
+    <!-- Browser menu button that opens the extensions manager -->
+    <string name="browser_menu_extensions">Extensiones</string>
+    <!-- Browser menu button that opens the extensions manager -->
+    <string name="browser_menu_manage_extensions">Tetiñu extensión</string>
+    <!-- Browser menu button that opens account settings -->
+    <string name="browser_menu_account_settings">Información de la cuenta</string>
+    <!-- Text displayed when there are no add-ons to be shown -->
+    <string name="no_add_ons" moz:removedIn="126" tools:ignore="UnusedResources">Ya\'a ntu íyo ka̱a̱ chunta\'an</string>
+    <!-- Browser menu button that sends a user to help articles -->
+    <string name="browser_menu_help">Chinei</string>
+    <!-- Browser menu button that sends a to a the what's new article -->
+    <string name="browser_menu_whats_new">Naku íyo a jíía</string>
+    <!-- Browser menu button that opens the settings menu -->
+    <string name="browser_menu_settings">Ke´i</string>
+    <!-- Browser menu button that opens a user's library -->
+    <string name="browser_menu_library">Ve\'i libro</string>
+    <!-- Browser menu toggle that requests a desktop site -->
+    <string name="browser_menu_desktop_site">Sitio de escritorio</string>
+    <!-- Browser menu button that reopens a private tab as a regular tab -->
+    <string name="browser_menu_open_in_regular_tab">Síne nuu iin pestaña</string>
+    <!-- Browser menu toggle that adds a shortcut to the site on the device home screen. -->
+    <string name="browser_menu_add_to_homescreen">Chisó ya´a nuu kajie´e</string>
+    <!-- Browser menu toggle that installs a Progressive Web App shortcut to the site on the device home screen. -->
+    <string name="browser_menu_install_on_homescreen" moz:removedIn="126" tools:ignore="UnusedResources">Chu´un</string>
+    <!-- Content description (not visible, for screen readers etc.) for the Resync tabs button -->
+    <string name="resync_button_content_description">Resincronizar</string>
+    <!-- Browser menu button that opens the find in page menu -->
+    <string name="browser_menu_find_in_page">Nánuku nuu página</string>
+    <!-- Browser menu button that opens the find in page menu -->
+    <string name="browser_menu_find_in_page_2">Nánuku nuu página…</string>
+    <!-- Browser menu button that opens the translations dialog, which has options to translate the current browser page. -->
+    <string name="browser_menu_translations">Traducir página</string>
+    <!-- Browser menu button that saves the current tab to a collection -->
+    <string name="browser_menu_save_to_collection_2">Chuva\'a nuu colección</string>
+    <!-- Browser menu button that open a share menu to share the current site -->
+    <string name="browser_menu_share">Kua´a</string>
+    <!-- Browser menu button that open a share menu to share the current site -->
+    <string name="browser_menu_share_2">Kua´a…</string>
+    <!-- Browser menu button shown in custom tabs that opens the current tab in Fenix
+        The first parameter is the name of the app defined in app_name (for example: Fenix) -->
+    <string name="browser_menu_open_in_fenix">Síne jii %1$s</string>
+    <!-- Browser menu text shown in custom tabs to indicate this is a Fenix tab
+        The first parameter is the name of the app defined in app_name (for example: Fenix) -->
+    <string name="browser_menu_powered_by">Ya´a nsa´a %1$s</string>
+    <!-- Browser menu text shown in custom tabs to indicate this is a Fenix tab
+        The first parameter is the name of the app defined in app_name (for example: Fenix) -->
+    <string name="browser_menu_powered_by2">Ya´a nsa´a %1$s</string>
+    <!-- Browser menu button to put the current page in reader mode -->
+    <string name="browser_menu_read">Vista ka\'vi</string>
+    <!-- Browser menu button content description to close reader mode and return the user to the regular browser -->
+    <string name="browser_menu_read_close">Kene nuu vista ka\'vi</string>
+    <!-- Browser menu button to open the current page in an external app -->
+    <string name="browser_menu_open_app_link">Síne jii aplicación</string>
+    <!-- Browser menu button to show reader view appearance controls e.g. the used font type and size -->
+    <string name="browser_menu_customize_reader_view">Sá\'á vii jíí vista lectura</string>
+    <!-- Browser menu label for adding a bookmark -->
+    <string name="browser_menu_add">Tee</string>
+    <!-- Browser menu label for editing a bookmark -->
+    <string name="browser_menu_edit">Natee</string>
+
+
+    <!-- Button shown on the home page that opens the Customize home settings -->
+    <string name="browser_menu_customize_home_1">Sá´á vii nuu kajie´e</string>
+
+    <!-- Browser menu label to sign in to sync on the device using Mozilla accounts -->
+    <string name="browser_menu_sign_in">Kajie´e sesión</string>
+
+    <!-- Browser menu label that creates a private tab -->
+    <string name="browser_menu_new_private_tab">Pestaña yu´u jíía</string>
+    <!-- Browser menu label that navigates to the Password screen -->
+    <string name="browser_menu_passwords">Contraseñas</string>
+    <!-- Browser menu label that navigates to the SUMO page for the Firefox for Android release notes.
+         The first parameter is the name of the app defined in app_name (for example: Fenix)-->
+    <string name="browser_menu_new_in_firefox">A jíí kene %1$s</string>
+    <!-- Browser menu label that navigates to the page tools sub-menu -->
+    <string name="browser_menu_tools">Daa ka̱a̱</string>
+    <!-- Browser menu label that navigates to the save sub-menu, which contains various save related menu items such as
+         bookmarking a page, saving to collection, shortcut or as a PDF, and adding to home screen -->
+    <string name="browser_menu_save">Chuva´a</string>
+
+    <!-- Browser menu label for the print feature -->
+    <string name="browser_menu_print">Nátava…</string>
+
+    <!-- Extensions management fragment -->
+    <!-- Text displayed when there are no extensions to be shown -->
+    <string name="extensions_management_no_extensions">Na íyo extensiones ya\'a</string>
+
+    <!-- Browser Toolbar -->
+    <!-- Content description for the Home screen button on the browser toolbar -->
+    <string name="browser_toolbar_home">Pantalla nue kajie\'e</string>
+    <!-- Content description (not visible, for screen readers etc.): Erase button: Erase the browsing
+         history and go back to the home screen. -->
+    <string name="browser_toolbar_erase">Xiná daa nnánukunu</string>
+    <!-- Content description for the translate page toolbar button that opens the translations dialog when no translation has occurred. -->
+    <string name="browser_toolbar_translate">Traducir página</string>
+
+    <!-- Locale Settings Fragment -->
+    <!-- Content description for tick mark on selected language -->
+    <string name="a11y_selected_locale_content_description">Kaji tu\'un</string>
+    <!-- Text for default locale item -->
+    <string name="default_locale_text">Ni´i tu\'un stila ka̱a̱</string>
+
+    <!-- Placeholder text shown in the search bar before a user enters text -->
+    <string name="locale_search_hint">Nánuku tu\'un</string>
+
+    <!-- Search Fragment -->
+    <!-- Button in the search view that lets a user search by scanning a QR code -->
+    <string name="search_scan_button">Táva nákuaxin</string>
+    <!-- Button in the search view when shortcuts are displayed that takes a user to the search engine settings -->
+    <string name="search_shortcuts_engine_settings">Ke\'i naka nánuku ka̱a̱</string>
+    <!-- Button in the search view that lets a user navigate to the site in their clipboard -->
+    <string name="awesomebar_clipboard_title">Tee enlace vaji nu portapapeles</string>
+    <!-- Button in the search suggestions onboarding that allows search suggestions in private sessions -->
+    <string name="search_suggestions_onboarding_allow_button">Kuvi</string>
+    <!-- Button in the search suggestions onboarding that does not allow search suggestions in private sessions -->
+    <string name="search_suggestions_onboarding_do_not_allow_button">Nkuvi kua\'a</string>
+    <!-- Search suggestion onboarding hint title text -->
+    <string name="search_suggestions_onboarding_title">¿Xituvi sugerencias nánuku nuu da sesiones yu\'u?</string>
+    <!-- Search engine suggestion title text. The first parameter is the name of the suggested engine-->
+    <string name="search_engine_suggestions_title">Nánuku %s</string>
+
+    <!-- Search engine suggestion description text -->
+    <string name="search_engine_suggestions_description">Nánuku ne nuu barra da direcciones</string>
+    <!-- Menu option in the search selector menu to open the search settings -->
+    <string name="search_settings_menu_item">Nu ke\'i naja nánuku</string>
+    <!-- Header text for the search selector menu -->
+    <string name="search_header_menu_item_2">Vitan nánuku ji:</string>
+    <!-- Content description (not visible, for screen readers etc.): Search engine icon. The first parameter is the search engine name (for example: DuckDuckGo). -->
+    <string name="search_engine_icon_content_description" tools:ignore="UnusedResources">Ka̱a̱ nánuku %s</string>
+
+    <!-- Home onboarding -->
+    <!-- Onboarding home screen popup dialog, shown on top of the Jump back in section. -->
+    <string name="onboarding_home_screen_jump_back_contextual_hint_2">Kuni naja íyo tutu nu kaji\'e. Daa pestañas skuata nsíne, daa a ta´a ini noo´o jíí daa a nnánukunu ya\'a kutuvi.</string>
+    <!-- Home onboarding dialog welcome screen title text. -->
+    <string name="onboarding_home_welcome_title_2">Kusɨɨ inidáni nkantanu nu iin internet kua jiniñu\'unuma</string>
+    <!-- Home onboarding dialog welcome screen description text. -->
+    <string name="onboarding_home_welcome_description">Kue\'eka da teku. Ku\'eka privacidad. Iin compromiso jíí da ñivɨ por encima de los beneficios.</string>
+    <!-- Home onboarding dialog sign into sync screen title text. -->
+    <string name="onboarding_home_sync_title_3">Sama pantalla kuviji iin ntu viji</string>
+    <!-- Text for the button to continue the onboarding on the home onboarding dialog. -->
+    <string name="onboarding_home_get_started_button">Kajie´e</string>
+    <!-- Text for the button to navigate to the sync sign in screen on the home onboarding dialog. -->
+    <string name="onboarding_home_sign_in_button">Kajie´e sesión</string>
+    <!-- Text for the button to skip the onboarding on the home onboarding dialog. -->
+    <string name="onboarding_home_skip_button">Ignorar</string>
+    <!-- Onboarding home screen sync popup dialog message, shown on top of Recent Synced Tabs in the Jump back in section. -->
+    <string name="sync_cfr_message">¡Tus pestañas se están sincronizando! Kaka nu inkinonu nu inka ka̱a̱ noo\'o</string>
+    <!-- Content description (not visible, for screen readers etc.): Close button for the home onboarding dialog -->
+    <string name="onboarding_home_content_description_close_button">Nakasɨ</string>
+
+    <!-- Notification pre-permission dialog -->
+    <!-- Enable notification pre permission dialog title
+        The first parameter is the name of the app defined in app_name (for example: Fenix) -->
+    <string name="onboarding_home_enable_notifications_title" moz:removedIn="124" tools:ignore="UnusedResources">Daa notificaciones chineí sá´ánu kue\'eka jíí %s</string>
+    <!-- Text for the button to request notification permission on the device -->
+    <string name="onboarding_home_enable_notifications_positive_button" moz:removedIn="124" tools:ignore="UnusedResources">Kɨ´ɨ</string>
+    <!-- Text for the button to not request notification permission on the device and dismiss the dialog -->
+    <string name="onboarding_home_enable_notifications_negative_button" moz:removedIn="124" tools:ignore="UnusedResources">Nkuvi ntañu´u</string>
+
+    <!-- Juno first user onboarding flow experiment, strings are marked unused as they are only referenced by Nimbus experiments. -->
+    <!-- Description for learning more about our privacy notice. -->
+    <string name="juno_onboarding_privacy_notice_text">Tu´un xitu Firefox a nejika kumio</string>
+    <!-- Title for set firefox as default browser screen used by Nimbus experiments. -->
+    <string name="juno_onboarding_default_browser_title_nimbus_2">Kɨsɨ inidani a kumidani noo\'o</string>
+    <!-- Title for set firefox as default browser screen used by Nimbus experiments.
+        Note: The word "Firefox" should NOT be translated -->
+    <string name="juno_onboarding_default_browser_title_nimbus_3" tools:ignore="UnusedResources">Kuni navi chi kue\'etuni ñivɨ ta\'an inida Firefox</string>
+    <!-- Description for set firefox as default browser screen used by Nimbus experiments. -->
+    <string name="juno_onboarding_default_browser_description_nimbus_4" tools:ignore="UnusedResources">Kue\'e tuni ñivɨ kumidaja privacidad mada jee kajida iin ka̱a̱ a sá´á iin vetiñu ntu ntava xu\'un.</string>
+    <!-- Text for the link to the privacy notice webpage for set as firefox default browser screen.
+    This is part of the string with the key "juno_onboarding_default_browser_description". -->
+    <string name="juno_onboarding_default_browser_description_link_text" moz:RemovedIn="124" tools:ignore="UnusedResources">Tu´un xitu a kumiji noo´o</string>
+    <!-- Text for the button to set firefox as default browser on the device -->
+    <string name="juno_onboarding_default_browser_positive_button" tools:ignore="UnusedResources">Sá´á ka̱a̱ ya´a iin a ni´inu ntaka íchi</string>
+    <!-- Text for the button dismiss the screen and move on with the flow -->
+    <string name="juno_onboarding_default_browser_negative_button" tools:ignore="UnusedResources">Nkuvi ntañu´u</string>
+    <!-- Text for the button to sign in to sync on the device -->
+    <string name="juno_onboarding_sign_in_positive_button" tools:ignore="UnusedResources">Kajie´e sesión</string>
+    <!-- Text for the button dismiss the screen and move on with the flow -->
+    <string name="juno_onboarding_sign_in_negative_button" tools:ignore="UnusedResources">Nkuvi ntañu´u</string>
+    <!-- Title for enable notification permission screen used by Nimbus experiments. Nimbus experiments do not support string placeholders.
+        Note: The word "Firefox" should NOT be translated -->
+    <string name="juno_onboarding_enable_notifications_title_nimbus_2">Daa notificaciones chineí koo va\'anu jíí Firefox</string>
+    <!-- Text for the button to request notification permission on the device -->
+    <string name="juno_onboarding_enable_notifications_positive_button" tools:ignore="UnusedResources">Tee notificaciones</string>
+    <!-- Text for the button dismiss the screen and move on with the flow -->
+    <string name="juno_onboarding_enable_notifications_negative_button" tools:ignore="UnusedResources">Nkuvi ntañu´u</string>
+    <!-- Title for add search widget screen used by Nimbus experiments. Nimbus experiments do not support string placeholders.
+        Note: The word "Firefox" should NOT be translated -->
+    <string name="juno_onboarding_add_search_widget_title" tools:ignore="UnusedResources">Ni\'i widget a nánuku jíí Firefox</string>
+    <!-- Text for the button to add search widget on the device used by Nimbus experiments. Nimbus experiments do not support string placeholders.
+        Note: The word "Firefox" should NOT be translated -->
+    <string name="juno_onboarding_add_search_widget_positive_button" tools:ignore="UnusedResources">Tee widget Firefox</string>
+    <!-- Text for the button to dismiss the screen and move on with the flow -->
+    <string name="juno_onboarding_add_search_widget_negative_button" tools:ignore="UnusedResources">Nkuvi ntañu´u</string>
+
+    <!-- Search Widget -->
+    <!-- Content description for searching with a widget. The first parameter is the name of the application.-->
+    <string name="search_widget_content_description_2">Síne iin pestaña jíía %1$s</string>
+    <!-- Text preview for smaller sized widgets -->
+    <string name="search_widget_text_short">Nánuku</string>
+    <!-- Text preview for larger sized widgets -->
+    <string name="search_widget_text_long">Nánuku nuu Web</string>
+    <!-- Content description (not visible, for screen readers etc.): Voice search -->
+    <string name="search_widget_voice">Nánuku jíí nasun yu\'unu</string>
+
+    <!-- Preferences -->
+    <!-- Title for the settings page-->
+    <string name="settings">Ke´i</string>
+    <!-- Preference category for general settings -->
+    <string name="preferences_category_general">Ntaka</string>
+    <!-- Preference category for all links about Fenix -->
+    <string name="preferences_category_about">Jiee ya´a</string>
+    <!-- Preference category for settings related to changing the default search engine -->
+    <string name="preferences_category_select_default_search_engine">Kaji iin</string>
+    <!-- Preference for settings related to managing search shortcuts for the quick search menu -->
+    <string name="preferences_manage_search_shortcuts_2">Ke\'i naja nánuku a jiniñu\'unu</string>
+    <!-- Summary for preference for settings related to managing search shortcuts for the quick search menu -->
+    <string name="preferences_manage_search_shortcuts_summary">Natee daa ka̱a̱ tuvi nuu menú nánuku</string>
+    <!-- Preference category for settings related to managing search shortcuts for the quick search menu -->
+    <string name="preferences_category_engines_in_search_menu">Daa ka̱a̱ tuvi nuu menú nánuku</string>
+
+
+    <!-- Preference for settings related to changing the default search engine -->
+    <string name="preferences_default_search_engine">Ka̱a̱ nánuku predeterminado</string>
+    <!-- Preference for settings related to Search -->
+    <string name="preferences_search">Nánuku</string>
+    <!-- Preference for settings related to Search engines -->
+    <string name="preferences_search_engines">Daa ka̱a̱ nánuku</string>
+    <!-- Preference for settings related to Search engines suggestions-->
+    <string name="preferences_search_engines_suggestions">Sama daa ka̱a̱ nánuku</string>
+    <!-- Preference Category for settings related to Search address bar -->
+    <string name="preferences_settings_address_bar">Sama barra daa nuu</string>
+    <!-- Preference Category for settings to Firefox Suggest -->
+    <string name="preference_search_address_bar_fx_suggest">Barra daa nuu - Ya\'a vi daa a kachi Firefox</string>
+    <!-- Preference link to Learn more about Firefox Suggest -->
+    <string name="preference_search_learn_about_fx_suggest">Ka´vi kue´eka jie´e Firefox Suggest</string>
+    <!-- Preference link to rating Fenix on the Play Store -->
+    <string name="preferences_rate">Tee iin tuni nuu Google Play</string>
+    <!-- Preference linking to about page for Fenix
+        The first parameter is the name of the app defined in app_name (for example: Fenix) -->
+    <string name="preferences_about">Jiee ya´a %1$s</string>
+    <!-- Preference for settings related to changing the default browser -->
+    <string name="preferences_set_as_default_browser">Sá´á ka̱a̱ ya´a iin a ni´inu ntaka íchi</string>
+    <!-- Preference category for advanced settings -->
+    <string name="preferences_category_advanced">Avanzado</string>
+    <!-- Preference category for privacy and security settings -->
+    <string name="preferences_category_privacy_security">Privacidad jii seguridad</string>
+    <!-- Preference for advanced site permissions -->
+    <string name="preferences_site_permissions">Permisos del sitio</string>
+    <!-- Preference for private browsing options -->
+    <string name="preferences_private_browsing_options">Nánuku yu´u</string>
+    <!-- Preference for opening links in a private tab-->
+    <string name="preferences_open_links_in_a_private_tab">Síne enlace nuu iin pestaña yu\'u</string>
+    <!-- Preference for allowing screenshots to be taken while in a private tab-->
+    <string name="preferences_allow_screenshots_in_private_mode">Kua\'a tɨɨn iin tutu nátava sa jika yu\'unu nu ka̱a̱ ya\'a</string>
+    <!-- Will inform the user of the risk of activating Allow screenshots in private browsing option -->
+    <string name="preferences_screenshots_in_private_mode_disclaimer">Dee jia\'anu, daa pestañas yu\'u kuvi kutuvi de íyo kue\'e daa aplicaciones nune</string>
+    <!-- Preference for adding private browsing shortcut -->
+    <string name="preferences_add_private_browsing_shortcut">Tee a kivu ñama nu jika yu\'unu</string>
+    <!-- Preference for enabling "HTTPS-Only" mode -->
+    <string name="preferences_https_only_title">Ntu xini HTTPS</string>
+
+    <!-- Label for cookie banner section in quick settings panel. -->
+    <string name="cookie_banner_blocker">Nakasɨ daa anuncios daa cookies</string>
+
+    <!-- Preference for removing cookie/consent banners from sites automatically in private mode. See reduce_cookie_banner_summary for additional context. -->
+    <string name="preferences_cookie_banner_reduction_private_mode">Bloqueador de anuncios de cookies nu jika yu\'u</string>
+    <!-- Text for indicating cookie banner handling is off this site, this is shown as part of the protections panel with the tracking protection toggle -->
+    <string name="reduce_cookie_banner_off_for_site">Nna\'va nu sitio ya´a</string>
+    <!-- Text for cancel button indicating that cookie banner reduction is not supported for the current site, this is shown as part of the cookie banner details view. -->
+    <string name="cookie_banner_handling_details_site_is_not_supported_cancel_button">Nkuvi-ka</string>
+    <!-- Text for request support button indicating that cookie banner reduction is not supported for the current site, this is shown as part of the cookie banner details view. -->
+    <string name="cookie_banner_handling_details_site_is_not_supported_request_support_button_2">Chu\'un íchi solicitud</string>
+    <!-- Text for title indicating that cookie banner reduction is not supported for the current site, this is shown as part of the cookie banner details view. -->
+    <string name="cookie_banner_handling_details_site_is_not_supported_title_2">¿Kakan soporte nu sitio ya\'a?</string>
+    <!-- Label for the snackBar, after the user reports with success a website where cookie banner reducer did not work -->
+    <string name="cookie_banner_handling_report_site_snack_bar_text_2">Nchu\'un íchi solicitud</string>
+    <!-- Text for indicating cookie banner handling is on this site, this is shown as part of the protections panel with the tracking protection toggle -->
+    <string name="reduce_cookie_banner_on_for_site">Tee nu siti ya\'a</string>
+    <!-- Text for indicating that a request for unsupported site was sent to Nimbus (it's a Mozilla library for experiments), this is shown as part of the protections panel with the tracking protection toggle -->
+    <string name="reduce_cookie_banner_unsupported_site_request_submitted_2">Solicitud de soporte nchu\'un íchi</string>
+    <!-- Text for indicating cookie banner handling is currently not supported for this site, this is shown as part of the protections panel with the tracking protection toggle -->
+    <string name="reduce_cookie_banner_unsupported_site">Sitio ntu satiñu vatu ntañu´u</string>
+
+    <!-- Title text for a detail explanation indicating cookie banner handling is on this site, this is shown as part of the cookie banner panel in the toolbar. The first parameter is a shortened URL of the current site-->
+    <string name="reduce_cookie_banner_details_panel_title_on_for_site_1">¿A kuvinu teenu bloqueo de aviso cookies nu %1$s?</string>
+    <!-- Title text for a detail explanation indicating cookie banner handling is off this site, this is shown as part of the cookie banner panel in the toolbar. The first parameter is a shortened URL of the current site-->
+    <string name="reduce_cookie_banner_details_panel_title_off_for_site_1">¿Xina\'va bloqueo de aviso cookies nu %1$s?</string>
+
+    <!-- Description of the preference to enable "HTTPS-Only" mode. -->
+    <string name="preferences_https_only_summary">Intentar conectarse automáticamente a sitios que utilizan el protocolo de encriptación HTTPS para mayor seguridad.</string>
+    <!-- Summary of https only preference if https only is set to off -->
+    <string name="preferences_https_only_off">Xina´va</string>
+    <!-- Summary of https only preference if https only is set to on in all tabs -->
+    <string name="preferences_https_only_on_all">Kutuvi nu kuaiyo daa pestañas</string>
+    <!-- Summary of https only preference if https only is set to on in private tabs only -->
+    <string name="preferences_https_only_on_private">Kutuvi nu ntaka daa pestañas yu\'u</string>
+    <!-- Text displayed that links to website containing documentation about "HTTPS-Only" mode -->
+    <string name="preferences_http_only_learn_more">Ka´vi kue´eka</string>
+    <!-- Option for the https only setting -->
+    <string name="preferences_https_only_in_all_tabs">Kutuvi nu kuaiyo daa pestañas</string>
+    <!-- Option for the https only setting -->
+    <string name="preferences_https_only_in_private_tabs">Tee ntu xini nu pestañas yu\'u</string>
+    <!-- Title shown in the error page for when trying to access a http website while https only mode is enabled. -->
+    <string name="errorpage_httpsonly_title">Sitio va\'a ntu íyo tiñu</string>
+    <!-- Message shown in the error page for when trying to access a http website while https only mode is enabled. The message has two paragraphs. This is the first. -->
+    <string name="errorpage_httpsonly_message_title">Sana nuu web ntu satiñu va\'a jíí HTTPs.</string>
+    <!-- Preference for accessibility -->
+    <string name="preferences_accessibility">Accesibilidad</string>
+    <!-- Preference to override the Mozilla account server -->
+    <string name="preferences_override_account_server">Servidor personalizado de cuenta de Mozilla</string>
+    <!-- Preference to override the Sync token server -->
+    <string name="preferences_override_sync_tokenserver">Servidor personalizado de Sync</string>
+    <!-- Preference category for account information -->
+    <string name="preferences_category_account">Cuenta</string>
+    <!-- Preference for changing where the toolbar is positioned -->
+    <string name="preferences_toolbar">Barra daa ka̱a̱</string>
+    <!-- Preference for changing default theme to dark or light mode -->
+    <string name="preferences_theme">Tema</string>
+    <!-- Preference for customizing the home screen -->
+    <string name="preferences_home_2">Nuu kajie´e</string>
+    <!-- Preference for gestures based actions -->
+    <string name="preferences_gestures">Gestos</string>
+    <!-- Preference for settings related to visual options -->
+    <string name="preferences_customize">Sá´á vii</string>
+    <!-- Preference description for banner about signing in -->
+    <string name="preferences_sign_in_description_2">Kajie´e sesión saa kuvi saa sincronizar daa pestañas, a ta´a ini noo´o, contraseñas jii kue´eka.</string>
+    <!-- Preference shown instead of account display name while account profile information isn't available yet. -->
+    <string name="preferences_account_default_name_2">Cuenta de Mozilla</string>
+    <!-- Preference text for account title when there was an error syncing FxA -->
+    <string name="preferences_account_sync_error">Nakivɨ tuku sa nakajie\'e sincronización</string>
+    <!-- Preference for language -->
+    <string name="preferences_language">Tu´un</string>
+    <!-- Preference for data choices -->
+    <string name="preferences_data_choices">Nuu kaji daa datos</string>
+    <!-- Preference for data collection -->
+    <string name="preferences_data_collection">Recopilación de datos</string>
+    <!-- Preference for developers -->
+    <string name="preferences_remote_debugging">Depuración remota vía USB</string>
+    <!-- Preference title for switch preference to show search suggestions -->
+    <string name="preferences_show_search_suggestions">Xituvi daa sugerencias a nánuku</string>
+    <!-- Preference title for switch preference to show voice search button -->
+    <string name="preferences_show_voice_search">Nánuku jíí nasun yu\'unu</string>
+    <!-- Preference title for switch preference to show search suggestions also in private mode -->
+    <string name="preferences_show_search_suggestions_in_private">Kutuvi nu daa sesiones yu\'u</string>
+    <!-- Preference title for switch preference to show a clipboard suggestion when searching -->
+    <string name="preferences_show_clipboard_suggestions">Xituvi daa sugerencias portapapeles</string>
+    <!-- Preference title for switch preference to suggest browsing history when searching -->
+    <string name="preferences_search_browsing_history">Nánuku daa nnánuku noo´o</string>
+    <!-- Preference title for switch preference to suggest bookmarks when searching -->
+    <string name="preferences_search_bookmarks">Nánuku a ta´a ini noo´o</string>
+    <!-- Preference title for switch preference to suggest synced tabs when searching -->
+    <string name="preferences_search_synced_tabs">Nánuku pestañas sincronizadas</string>
+    <!-- Preference for account settings -->
+    <string name="preferences_account_settings">Nuu ke\'i cuenta</string>
+    <!-- Preference for enabling url autocomplete-->
+    <string name="preferences_enable_autocomplete_urls">Tee URLs</string>
+    <!-- Preference title for switch preference to show sponsored Firefox Suggest search suggestions -->
+    <string name="preferences_show_sponsored_suggestions">Sugerencias de patrocinadores</string>
+    <!-- Preference for open links in third party apps -->
+    <string name="preferences_open_links_in_apps">Síne enlaces jíí aplicaciones</string>
+    <!-- Preference for open links in third party apps always open in apps option -->
+    <string name="preferences_open_links_in_apps_always">Ntaka ichi</string>
+    <!-- Preference for open links in third party apps ask before opening option -->
+    <string name="preferences_open_links_in_apps_ask">Katu\'un ntaka síne</string>
+    <!-- Preference for open links in third party apps never open in apps option -->
+    <string name="preferences_open_links_in_apps_never">Ni´in íchi</string>
+
+
+    <!-- Preference for open download with an external download manager app -->
+    <string name="preferences_external_download_manager">Ke\'i daa xínuu externo</string>
+    <!-- Preference for enabling gecko engine logs -->
+    <string name="preferences_enable_gecko_logs">Tee registros Gecko</string>
+
+    <!-- Message to indicate users that we are quitting the application to apply the changes -->
+    <string name="quit_application">Nakasɨ ka̱a̱ sa kutuvi a jíia…</string>
+
+    <!-- Preference for add_ons -->
+    <string name="preferences_addons" moz:removedIn="126" tools:ignore="UnusedResources">Ka̱a̱ chunta´an</string>
+    <!-- Preference for extensions -->
+    <string name="preferences_extensions">Extensiones</string>
+    <!-- Preference for installing a local add-on -->
+    <string name="preferences_install_local_addon" moz:removedIn="126" tools:ignore="UnusedResources">Chu\'un ka̱a̱ chunta´an jíí iin archivo</string>
+    <!-- Preference for installing a local extension -->
+    <string name="preferences_install_local_extension">Chu\'un extensión jíí iin archivo</string>
+    <!-- Preference for notifications -->
+    <string name="preferences_notifications">Notificaciones</string>
+    <!-- Summary for notification preference indicating notifications are allowed -->
+    <string name="notifications_allowed_summary">Kuvi</string>
+    <!-- Summary for notification preference indicating notifications are not allowed -->
+    <string name="notifications_not_allowed_summary">Nkua\'a</string>
+
+    <!-- The title of the optional permissions section from addon's permissions screen -->
+    <string name="addons_permissions_heading_optional" tools:ignore="UnusedResources">Kaji</string>
+
+    <!-- Add-on Preferences -->
+    <!-- Preference to customize the configured AMO (addons.mozilla.org) collection -->
+    <string name="preferences_customize_amo_collection" moz:removedIn="126" tools:ignore="UnusedResources">Colección daa ka̱a̱ chunta´an personalizada</string>
+    <!-- Preference to customize the configured AMO (addons.mozilla.org) collection -->
+    <string name="preferences_customize_extension_collection">Colección personalizada de extensiones</string>
+    <!-- Button caption to confirm the add-on collection configuration -->
+    <string name="customize_addon_collection_ok">Kuvi</string>
+    <!-- Button caption to abort the add-on collection configuration -->
+    <string name="customize_addon_collection_cancel">Nkuvi-ka</string>
+    <!-- Hint displayed on input field for custom collection name -->
+    <string name="customize_addon_collection_hint">Sivɨ colección</string>
+
+    <!-- Hint displayed on input field for custom collection user ID-->
+    <string name="customize_addon_collection_user_hint">Dueño de la colección (ID de usuario)</string>
+
+    <!-- Toast shown after confirming the custom add-on collection configuration -->
+    <string name="toast_customize_addon_collection_done" moz:removedIn="126" tools:ignore="UnusedResources">Colección daa ka̱a̱ chunta´an nsama. Nakasɨdani ka̱a̱ sa kuvi kene daa a nsama…</string>
+
+    <!-- Toast shown after confirming the custom extension collection configuration -->
+    <string name="toast_customize_extension_collection_done">Colección daa colección. Nakasɨdani ka̱a̱ sa kuvi kene daa a nsama…</string>
+
+    <!-- Customize Home -->
+    <!-- Header text for jumping back into the recent tab in customize the home screen -->
+    <string name="customize_toggle_jump_back_in">Niko íchi yata</string>
+    <!-- Title for the customize home screen section with recently saved bookmarks. -->
+    <string name="customize_toggle_recent_bookmarks" moz:removedIn="127" tools:ignore="UnusedResources">A ta´a ini noo´o skuata nne\'yanu</string>
+    <!-- Title for the customize home screen section with recently visited. Recently visited is
+    a section where users see a list of tabs that they have visited in the past few days -->
+    <string name="customize_toggle_recently_visited">Daa skuata nne\'yanu</string>
+    <!-- Title for the customize home screen section with Pocket. -->
+    <string name="customize_toggle_pocket_2">Daa tu\'un sá´á a kajie\'o kaninio</string>
+    <!-- Summary for the customize home screen section with Pocket. The first parameter is product name Pocket -->
+    <string name="customize_toggle_pocket_summary">Artículos desarrollados por %s</string>
+    <!-- Title for the customize home screen section with sponsored Pocket stories. -->
+    <string name="customize_toggle_pocket_sponsored">Historias patrocinadas</string>
+    <!-- Title for the opening wallpaper settings screen -->
+    <string name="customize_wallpapers">Fondos de pantalla</string>
+    <!-- Title for the customize home screen section with sponsored shortcuts. -->
+    <string name="customize_toggle_contile">Da acceso íyo patrocinado</string>
+
+    <!-- Wallpapers -->
+    <!-- Content description for various wallpapers. The first parameter is the name of the wallpaper -->
+    <string name="wallpapers_item_name_content_description">Elemento de fondo de pantalla: %1$s</string>
+    <!-- Snackbar message for when wallpaper is selected -->
+    <string name="wallpaper_updated_snackbar_message">¡Fondo de pantalla actualizado!</string>
+    <!-- Snackbar label for action to view selected wallpaper -->
+    <string name="wallpaper_updated_snackbar_action">Kune\'ya</string>
+    <!-- Snackbar message for when wallpaper couldn't be downloaded -->
+    <string name="wallpaper_download_error_snackbar_message">Ntu nkuvi xinuu fondo pantalla</string>
+    <!-- Snackbar label for action to retry downloading the wallpaper -->
+    <string name="wallpaper_download_error_snackbar_action">Nasá´á tuku</string>
+    <!-- Snackbar message for when wallpaper couldn't be selected because of the disk error -->
+    <string name="wallpaper_select_error_snackbar_message">Ntu nkuvi sama fondo pantalla</string>
+    <!-- Text displayed that links to website containing documentation about the "Limited Edition" wallpapers. -->
+    <string name="wallpaper_learn_more">Ka´vi kue´eka</string>
+    <!-- Text for classic wallpapers title. The first parameter is the Firefox name. -->
+    <string name="wallpaper_classic_title">Clásico %s</string>
+    <!-- Text for artist series wallpapers title. "Artist series" represents a collection of artist collaborated wallpapers. -->
+    <string name="wallpaper_artist_series_title">Serie de artistas</string>
+    <!-- Wallpaper onboarding dialog header text. -->
+    <string name="wallpapers_onboarding_dialog_title_text">Kune\'ya naja tuvi iin teku</string>
+
+    <!-- Wallpaper onboarding dialog body text. -->
+    <string name="wallpapers_onboarding_dialog_body_text">Kaji iin fondo pantalla que te represente.</string>
+    <!-- Wallpaper onboarding dialog learn more button text. The button navigates to the wallpaper settings screen. -->
+    <string name="wallpapers_onboarding_dialog_explore_more_button_text">Kune\'ya kue\'e daa fondos pantalla</string>
+
+    <!-- Add-ons general availability nimbus message-->
+    <!-- Title of the Nimbus message for add-ons general availability-->
+    <string name="addon_ga_message_title" moz:removedIn="126" tools:ignore="UnusedResources">Iyo daa ka̱a̱ chunta\'an jíía</string>
+    <!-- Title of the Nimbus message for extension general availability-->
+    <string name="addon_ga_message_title_2" tools:ignore="UnusedResources">Daa extensiones jíía íyo ntañu\'u</string>
+    <!-- Button text of the Nimbus message for add-ons general availability. -->
+    <string name="addon_ga_message_button" moz:removedIn="126" tools:ignore="UnusedResources">Kune\'ya daa ka̱a̱ chunta\'an</string>
+
+    <!-- Button text of the Nimbus message for extensions general availability. -->
+    <string name="addon_ga_message_button_2" tools:ignore="UnusedResources">Kune\'ya daa extension</string>
+
+    <!-- Extension process crash dialog to user -->
+    <!-- Title of a dialog shown to the user when enough errors have occurred with addons and they need to be temporarily disabled -->
+    <string name="addon_process_crash_dialog_title" moz:removedIn="126" tools:ignore="UnusedResources">Nna\'va daa ka̱a̱ chunta\'an</string>
+
+    <!-- Title of the extension crash dialog shown to the user when enough errors have occurred with extensions and they need to be temporarily disabled -->
+    <string name="extension_process_crash_dialog_title">Nna\'va iin nunu daa extensiones</string>
+    <!-- This will cause the add-ons to try restarting but the dialog will reappear if it is unsuccessful again -->
+    <string name="addon_process_crash_dialog_retry_button_text" moz:removedIn="126" tools:ignore="UnusedResources">Nakajie\'e tuku ka̱a̱ chunta´an</string>
+    <!-- Button text on the extension crash dialog to prompt the user to try restarting the extensions but the dialog will reappear if it is unsuccessful again -->
+    <string name="extension_process_crash_dialog_retry_button_text" tools:ignore="UnusedResources">Nakajie\'e daa extension</string>
+    <!-- The user will continue with all add-ons disabled -->
+    <string name="addon_process_crash_dialog_disable_addons_button_text" moz:removedIn="126" tools:ignore="UnusedResources">Kaka jíí ka̱a̱ chunta´an nna\'va</string>
+
+    <!-- Button text on the extension crash dialog to prompt the user to continue with all extensions disabled. -->
+    <string name="extension_process_crash_dialog_disable_extensions_button_text">Kaka jíí extensión nna\'va</string>
+
+    <!-- Account Preferences -->
+    <!-- Preference for managing your account via accounts.firefox.com -->
+    <string name="preferences_manage_account">Ke\'i cuenta</string>
+    <!-- Summary of the preference for managing your account via accounts.firefox.com. -->
+    <string name="preferences_manage_account_summary">Sama contraseña, ke\'i recopilación daa datos a xíín xina cuenta</string>
+    <!-- Preference for triggering sync -->
+    <string name="preferences_sync_now">Sincronizar ntañu´u</string>
+    <!-- Preference category for sync -->
+    <string name="preferences_sync_category">Kaji nakuvi kuvinu saa sincronizar</string>
+    <!-- Preference for syncing history -->
+    <string name="preferences_sync_history">Daa nsa´anu</string>
+    <!-- Preference for syncing bookmarks -->
+    <string name="preferences_sync_bookmarks">A ta´a ini noo´o</string>
+    <!-- Preference for syncing passwords -->
+    <string name="preferences_sync_logins_2">Contraseñas</string>
+    <!-- Preference for syncing tabs -->
+    <string name="preferences_sync_tabs_2">Pestañas nune</string>
+    <!-- Preference for signing out -->
+    <string name="preferences_sign_out">Kasɨ sesión</string>
+    <!-- Preference displays and allows changing current FxA device name -->
+    <string name="preferences_sync_device_name">Sivɨ ka̱a̱</string>
+    <!-- Text shown when user enters empty device name -->
+    <string name="empty_device_name_error">Sivɨ ka̱a̱ nkuvi koo vacío.</string>
+    <!-- Label indicating that sync is in progress -->
+    <string name="sync_syncing_in_progress">Sincronizando…</string>
+    <!-- Label summary indicating that sync failed. The first parameter is the date stamp showing last time it succeeded -->
+    <string name="sync_failed_summary">Ntu kuvi sá\'á sincronización. Nnɨ\'ɨ sincronización: %s</string>
+    <!-- Label summary showing never synced -->
+    <string name="sync_failed_never_synced_summary">Ntu kuvi sá\'á sincronización. Nnɨ\'ɨ sincronización: ni\'i íchi</string>
+    <!-- Label summary the date we last synced. The first parameter is date stamp showing last time synced -->
+    <string name="sync_last_synced_summary">Nuu nɨ´ɨ sincronización: %s</string>
+    <!-- Label summary showing never synced -->
+    <string name="sync_never_synced_summary">Nuu nɨ´ɨ sincronización: ni´i íchi</string>
+    <!-- Text for displaying the default device name.
+        The first parameter is the application name, the second is the device manufacturer name
+        and the third is the device model. -->
+    <string name="default_device_name_2">%1$s en %2$s %3$s</string>
+    <!-- Preference for syncing payment methods -->
+    <string name="preferences_sync_credit_cards_2">Naja chunanu</string>
+    <!-- Preference for syncing addresses -->
+    <string name="preferences_sync_address">Daa nuu</string>
+
+    <!-- Send Tab -->
+    <!-- Name of the "receive tabs" notification channel. Displayed in the "App notifications" system settings for the app -->
+    <string name="fxa_received_tab_channel_name">Pestañas recibidas</string>
+    <!-- Description of the "receive tabs" notification channel. Displayed in the "App notifications" system settings for the app -->
+    <string name="fxa_received_tab_channel_description">Da notificaciones da pestañas nkata jee vajida nu inka ka̱a̱ Firefox.</string>
+    <!--  The body for these is the URL of the tab received  -->
+    <string name="fxa_tab_received_notification_name">Pestaña recibida</string>
+    <!-- %s is the device name -->
+    <string name="fxa_tab_received_from_notification_name">Pestaña de %s</string>
+
+    <!-- Advanced Preferences -->
+    <!-- Preference for tracking protection exceptions -->
+    <string name="preferences_tracking_protection_exceptions">Excepciones</string>
+    <!-- Button in Exceptions Preference to turn on tracking protection for all sites (remove all exceptions) -->
+    <string name="preferences_tracking_protection_exceptions_turn_on_for_all">Tee nuu ntaka daa sitios</string>
+    <!-- Text displayed when there are no exceptions, with learn more link that brings users to a tracking protection SUMO page -->
+    <string name="exceptions_empty_message_learn_more_link">Ka´vi kue´eka</string>
+
+    <!-- Preference switch for usage and technical data collection -->
+    <string name="preference_usage_data">A ni\'i jíí datos técnicos</string>
+    <!-- Preference description for usage and technical data collection -->
+    <string name="preferences_usage_data_description">Kua\'a datos rendimiento, naja ni\'i ka̱a̱, hardware jee sá´á daa personalizaciones nu ka̱a̱ nánuku jíí Mozilla sa chineinu koo va\'a %1$s</string>
+    <!-- Preference switch for marketing data collection -->
+    <string name="preferences_marketing_data">Datos de marketing</string>
+    <!-- Preference description for marketing data collection -->
+    <string name="preferences_marketing_data_description2">Kua\'a daa datos jíí Adjust, ya\'a kuvi proveedor marketing móvil.</string>
+    <!-- Title for studies preferences -->
+    <string name="preference_experiments_2">Estudios</string>
+    <!-- Summary for studies preferences -->
+    <string name="preference_experiments_summary_2">Kua\'a Mozilla chu\'un jee sá´á estudios</string>
+
+    <!-- Turn On Sync Preferences -->
+    <!-- Header of the Sync and save your data preference view -->
+    <string name="preferences_sync_2">Sincroniza jee chuva\'a información noo\'o</string>
+    <!-- Preference for reconnecting to FxA sync -->
+    <string name="preferences_sync_sign_in_to_reconnect">Kajie´e sesión para reconectar</string>
+    <!-- Preference for removing FxA account -->
+    <string name="preferences_sync_remove_account">Xina cuenta</string>
+
+
+    <!-- Pairing Feature strings -->
+    <!-- Instructions on how to access pairing -->
+    <string name="pair_instructions_2"><![CDATA[Escanea el código QR kene jíí <b>firefox.com/pair</b>]]></string>
+
+    <!-- Toolbar Preferences -->
+    <!-- Preference for using top toolbar -->
+    <string name="preference_top_toolbar">Sikɨ</string>
+    <!-- Preference for using bottom toolbar -->
+    <string name="preference_bottom_toolbar">chuve</string>
+
+    <!-- Theme Preferences -->
+    <!-- Preference for using light theme -->
+    <string name="preference_light_theme">Claro</string>
+
+    <!-- Preference for using dark theme -->
+    <string name="preference_dark_theme">Teku tun</string>
+    <!-- Preference for using using dark or light theme automatically set by battery -->
+    <string name="preference_auto_battery_theme">Establecido por el ahorrador de batería</string>
+    <!-- Preference for using following device theme -->
+    <string name="preference_follow_device_theme">Ni´i tema ka̱a̱</string>
+
+    <!-- Gestures Preferences-->
+    <!-- Preferences for using pull to refresh in a webpage -->
+    <string name="preference_gestures_website_pull_to_refresh">Staka sa kuvi sa actualizar</string>
+    <!-- Preference for using the dynamic toolbar -->
+    <string name="preference_gestures_dynamic_toolbar">Kaka sa kuvi chiyu\'u barra</string>
+    <!-- Preference for showing the opened tabs by swiping up on the toolbar-->
+    <string name="preference_gestures_swipe_toolbar_show_tabs">Ku\'an íchi sikɨ sa kuvi síne daa pestañas</string>
+
+    <!-- Library -->
+    <!-- Option in Library to open Downloads page -->
+    <string name="library_downloads">Daa nxinuun</string>
+    <!-- Option in library to open Bookmarks page -->
+    <string name="library_bookmarks">A ta´a ini noo´o</string>
+    <!-- Option in library to open Desktop Bookmarks root page -->
+    <string name="library_desktop_bookmarks_root">Daa a ta´a ininu escritorio</string>
+    <!-- Option in library to open Desktop Bookmarks "menu" page -->
+    <string name="library_desktop_bookmarks_menu">Menu a ta´a ini noo´o</string>
+    <!-- Option in library to open Desktop Bookmarks "toolbar" page -->
+    <string name="library_desktop_bookmarks_toolbar">Barra a ta´a ini noo´o</string>
+    <!-- Option in library to open Desktop Bookmarks "unfiled" page -->
+    <string name="library_desktop_bookmarks_unfiled">Inka a ta´a ini noo´o</string>
+    <!-- Option in Library to open History page -->
+    <string name="library_history">Daa nnánukunu</string>
+    <!-- Option in Library to open a new tab -->
+    <string name="library_new_tab">Sukua jíía</string>
+    <!-- Settings Page Title -->
+    <string name="settings_title">Ke´i</string>
+    <!-- Content description (not visible, for screen readers etc.): "Close button for library settings" -->
+    <string name="content_description_close_button">Nakasɨ</string>
+
+    <!-- Title to show in alert when a lot of tabs are to be opened
+    %d is a placeholder for the number of tabs that will be opened -->
+    <string name="open_all_warning_title">¿Síne %d pestañas?</string>
+    <!-- Message to warn users that a large number of tabs will be opened
+    %s will be replaced by app name. -->
+    <string name="open_all_warning_message">De sínenu kue\'e daa pestañas sanan kuvi nsatiñu ñama %s síne daa nuu. ¿A mana kuvinu kakanu?</string>
+    <!-- Dialog button text for confirming open all tabs -->
+    <string name="open_all_warning_confirm">Síne pestañas</string>
+    <!-- Dialog button text for canceling open all tabs -->
+    <string name="open_all_warning_cancel">Nkuvi-ka</string>
+
+    <!-- Text to show users they have one page in the history group section of the History fragment.
+    %d is a placeholder for the number of pages in the group. -->
+    <string name="history_search_group_site_1">%d página</string>
+    <!-- Text to show users they have multiple pages in the history group section of the History fragment.
+    %d is a placeholder for the number of pages in the group. -->
+    <string name="history_search_group_sites_1">%d páginas</string>
+
+    <!-- Option in library for Recently Closed Tabs -->
+    <string name="library_recently_closed_tabs">Pestañas nnakasɨ ntañu´u</string>
+    <!-- Option in library to open Recently Closed Tabs page -->
+    <string name="recently_closed_show_full_history">Kutuvi kuaiyo a nsá\'ánu</string>
+    <!-- Text to show users they have multiple tabs saved in the Recently Closed Tabs section of history.
+    %d is a placeholder for the number of tabs selected. -->
+    <string name="recently_closed_tabs">%d pestañas</string>
+    <!-- Text to show users they have one tab saved in the Recently Closed Tabs section of history.
+    %d is a placeholder for the number of tabs selected. -->
+    <string name="recently_closed_tab">%d pestaña</string>
+    <!-- Recently closed tabs screen message when there are no recently closed tabs -->
+    <string name="recently_closed_empty_message">Na íyo pestañas skuata nnakasɨ</string>
+
+    <!-- Tab Management -->
+    <!-- Title of preference for tabs management -->
+    <string name="preferences_tabs">Pestañas</string>
+    <!-- Title of preference that allows a user to specify the tab view -->
+    <string name="preferences_tab_view">Vista de pestaña</string>
+    <!-- Option for a list tab view -->
+    <string name="tab_view_list">Listas</string>
+    <!-- Option for a grid tab view -->
+    <string name="tab_view_grid">Cuadrícula</string>
+    <!-- Title of preference that allows a user to auto close tabs after a specified amount of time -->
+    <string name="preferences_close_tabs">Nakasɨ pestañas</string>
+    <!-- Option for auto closing tabs that will never auto close tabs, always allows user to manually close tabs -->
+    <string name="close_tabs_manually">Manualmente</string>
+    <!-- Option for auto closing tabs that will auto close tabs after one day -->
+    <string name="close_tabs_after_one_day">De nña\'a iin kivɨ</string>
+    <!-- Option for auto closing tabs that will auto close tabs after one week -->
+    <string name="close_tabs_after_one_week">De nña\'a iin semana</string>
+    <!-- Option for auto closing tabs that will auto close tabs after one month -->
+    <string name="close_tabs_after_one_month">De nña\'a iin yoo</string>
+    <!-- Title of preference that allows a user to specify the auto-close settings for open tabs -->
+    <string name="preference_auto_close_tabs" tools:ignore="UnusedResources">Nakasɨ automáticamente pestañas nune</string>
+
+    <!-- Opening screen -->
+    <!-- Title of a preference that allows a user to choose what screen to show after opening the app -->
+    <string name="preferences_opening_screen">Pantalla de apertura</string>
+    <!-- Option for always opening the homepage when re-opening the app -->
+    <string name="opening_screen_homepage">Tutu nu kajie´e</string>
+    <!-- Option for always opening the user's last-open tab when re-opening the app -->
+    <string name="opening_screen_last_tab">Nu nɨ\'ɨ pestaña</string>
+    <!-- Option for always opening the homepage when re-opening the app after four hours of inactivity -->
+    <string name="opening_screen_after_four_hours_of_inactivity">Nnakasɨ nuu ya\'a chi a nña\'a kumi hora</string>
+    <!-- Summary for tabs preference when auto closing tabs setting is set to manual close-->
+    <string name="close_tabs_manually_summary">Nakasɨ manualmente</string>
+    <!-- Summary for tabs preference when auto closing tabs setting is set to auto close tabs after one day-->
+    <string name="close_tabs_after_one_day_summary">Nakasɨ de nña\'a iin kivɨ</string>
+    <!-- Summary for tabs preference when auto closing tabs setting is set to auto close tabs after one week-->
+    <string name="close_tabs_after_one_week_summary">Nakasɨ dee nña\'a iin semana</string>
+    <!-- Summary for tabs preference when auto closing tabs setting is set to auto close tabs after one month-->
+    <string name="close_tabs_after_one_month_summary">Nakasɨ dee nña\'a iin yoo</string>
+    <!-- Summary for homepage preference indicating always opening the homepage when re-opening the app -->
+    <string name="opening_screen_homepage_summary">Sínema nuu tutu xinañu\'u</string>
+    <!-- Summary for homepage preference indicating always opening the last-open tab when re-opening the app -->
+    <string name="opening_screen_last_tab_summary">Sinema nu nɨ\'ɨ pestaña</string>
+    <!-- Summary for homepage preference indicating opening the homepage when re-opening the app after four hours of inactivity -->
+    <string name="opening_screen_after_four_hours_of_inactivity_summary">Sinema nu página xinañu\'u de nña\'a kumi hora</string>
+
+    <!-- Inactive tabs -->
+    <!-- Category header of a preference that allows a user to enable or disable the inactive tabs feature -->
+    <string name="preferences_inactive_tabs">Skana pestañas antiguas a inactivas</string>
+    <!-- Title of inactive tabs preference -->
+    <string name="preferences_inactive_tabs_title">Daa pestañas ntu sínenu uvi semana yata ya\'a kutuvi nu sección inactiva.</string>
+
+    <!-- Studies -->
+    <!-- Title of the remove studies button -->
+    <string name="studies_remove">Xita</string>
+    <!-- Title of the active section on the studies list -->
+    <string name="studies_active">Activo</string>
+
+
+    <!-- Description for studies, it indicates why Firefox use studies. The first parameter is the name of the application. -->
+    <string name="studies_description_2">%1$s kuvi chu´un je sá´á estudios ntaka ichi.</string>
+    <!-- Learn more link for studies, links to an article for more information about studies. -->
+    <string name="studies_learn_more">Ka´vi kue´eka</string>
+    <!-- Dialog message shown after removing a study -->
+    <string name="studies_restart_app">Aplicación nejika nakasɨ sa kuvi tuvi a jíía</string>
+    <!-- Dialog button to confirm the removing a study. -->
+    <string name="studies_restart_dialog_ok">OK</string>
+    <!-- Dialog button text for canceling removing a study. -->
+    <string name="studies_restart_dialog_cancel">Nkuvi-ka</string>
+    <!-- Toast shown after turning on/off studies preferences -->
+    <string name="studies_toast_quit_application" tools:ignore="UnusedResources">Nakasɨ ka̱a̱ sa kutuvi a jíia…</string>
+
+    <!-- Sessions -->
+    <!-- Title for the list of tabs -->
+    <string name="tab_header_label">Pestañas nune</string>
+    <!-- Title for the list of tabs in the current private session -->
+    <string name="tabs_header_private_tabs_title">Pestañas yɨ´ɨ yu´u</string>
+    <!-- Title for the list of tabs in the synced tabs -->
+    <string name="tabs_header_synced_tabs_title">Pestañas sincronizadas</string>
+    <!-- Content description (not visible, for screen readers etc.): Add tab button. Adds a news tab when pressed -->
+    <string name="add_tab">Tee pestaña</string>
+    <!-- Content description (not visible, for screen readers etc.): Add tab button. Adds a news tab when pressed -->
+    <string name="add_private_tab">Tee pestaña yu´u</string>
+    <!-- Text for the new tab button to indicate adding a new private tab in the tab -->
+    <string name="tab_drawer_fab_content">Yɨ´ɨ yu´u</string>
+    <!-- Text for the new tab button to indicate syncing command on the synced tabs page -->
+    <string name="tab_drawer_fab_sync">Sincronizar</string>
+    <!-- Text shown in the menu for sharing all tabs -->
+    <string name="tab_tray_menu_item_share">Tɨɨn kuaiyo da pestañas</string>
+    <!-- Text shown in the menu to view recently closed tabs -->
+    <string name="tab_tray_menu_recently_closed">Pestañas nnakasɨ ntañu´u</string>
+
+
+    <!-- Text shown in the tabs tray inactive tabs section -->
+    <string name="tab_tray_inactive_recently_closed" tools:ignore="UnusedResources">Skuata nnakasɨ</string>
+    <!-- Text shown in the menu to view account settings -->
+    <string name="tab_tray_menu_account_settings">Nuu ke\'i cuenta</string>
+    <!-- Text shown in the menu to view tab settings -->
+    <string name="tab_tray_menu_tab_settings">Nuu ke\'i pestañas</string>
+    <!-- Text shown in the menu for closing all tabs -->
+    <string name="tab_tray_menu_item_close">Nakasɨ kuaiyo daa pestañas</string>
+    <!-- Text shown in the multiselect menu for bookmarking selected tabs. -->
+    <string name="tab_tray_multiselect_menu_item_bookmark">A ta´a ini noo´o</string>
+    <!-- Text shown in the multiselect menu for closing selected tabs. -->
+    <string name="tab_tray_multiselect_menu_item_close">Nakasɨ</string>
+    <!-- Content description for tabs tray multiselect share button -->
+    <string name="tab_tray_multiselect_share_content_description">Kua\'a daa pestañas nkaji</string>
+    <!-- Content description for tabs tray multiselect menu -->
+    <string name="tab_tray_multiselect_menu_content_description">Menú daa pestañas nkaji</string>
+    <!-- Content description (not visible, for screen readers etc.): Removes tab from collection button. Removes the selected tab from collection when pressed -->
+    <string name="remove_tab_from_collection">Xita pestaña colección</string>
+    <!-- Text for button to enter multiselect mode in tabs tray -->
+    <string name="tabs_tray_select_tabs">Kaji pestañas</string>
+    <!-- Content description (not visible, for screen readers etc.): Close tab button. Closes the current session when pressed -->
+    <string name="close_tab">Nakasɨ pestaña</string>
+    <!-- Content description (not visible, for screen readers etc.): Close tab <title> button. First parameter is tab title  -->
+    <string name="close_tab_title">Nakasɨ pestaña %s</string>
+    <!-- Content description (not visible, for screen readers etc.): Opens the open tabs menu when pressed -->
+    <string name="open_tabs_menu">Síne nu kaji pestañas</string>
+    <!-- Open tabs menu item to save tabs to collection -->
+    <string name="tabs_menu_save_to_collection1">Chuva\'a daa pestañas nu colección</string>
+    <!-- Text for the menu button to delete a collection -->
+    <string name="collection_delete">Xita colección</string>
+    <!-- Text for the menu button to rename a collection -->
+    <string name="collection_rename">Sama sivɨ colección</string>
+    <!-- Text for the button to open tabs of the selected collection -->
+    <string name="collection_open_tabs">Síne pestañas</string>
+    <!-- Hint for adding name of a collection -->
+    <string name="collection_name_hint">Sivɨ colección</string>
+    <!-- Text for the menu button to rename a top site -->
+    <string name="rename_top_site">Natee</string>
+    <!-- Text for the menu button to remove a top site -->
+    <string name="remove_top_site">Xita</string>
+    <!-- Text for the menu button to delete a top site from history -->
+    <string name="delete_from_history">Xita nuu a nnánukunu</string>
+    <!-- Postfix for private WebApp titles, placeholder is replaced with app name -->
+    <string name="pwa_site_controls_title_private">%1$s (Modo Privado)</string>
+
+    <!-- History -->
+    <!-- Text for the button to search all history -->
+    <string name="history_search_1">Tee a nnánukunu</string>
+    <!-- Text for the button to clear all history -->
+    <string name="history_delete_all">Xita a nnánukunu</string>
+    <!-- Text for the snackbar to confirm that multiple browsing history items has been deleted -->
+    <string name="history_delete_multiple_items_snackbar">A nnánukunu nxita</string>
+    <!-- Text for the snackbar to confirm that a single browsing history item has been deleted. The first parameter is the shortened URL of the deleted history item. -->
+    <string name="history_delete_single_item_snackbar">Nxita %1$s</string>
+    <!-- Context description text for the button to delete a single history item -->
+    <string name="history_delete_item">Xita</string>
+    <!-- History multi select title in app bar
+    The first parameter is the number of bookmarks selected -->
+    <string name="history_multi_select_title">%1$d seleccionado(s)</string>
+    <!-- Text for the header that groups the history for today -->
+    <string name="history_today">Ki̱vɨ̱ vitá</string>
+    <!-- Text for the header that groups the history for yesterday -->
+    <string name="history_yesterday">Ki̱vɨ̱ iku</string>
+    <!-- Text for the header that groups the history the past 7 days -->
+    <string name="history_7_days">Uxa ki̱vɨ̱ ichi yata</string>
+    <!-- Text for the header that groups the history the past 30 days -->
+    <string name="history_30_days">Uxa ki̱vɨ̱ ichi yata</string>
+    <!-- Text for the header that groups the history older than the last month -->
+    <string name="history_older">Kue\'e ichi yata</string>
+    <!-- Text shown when no history exists -->
+    <string name="history_empty_message">Ntu íyo a nnákunu</string>
+
+    <!-- Downloads -->
+    <!-- Text for the snackbar to confirm that multiple downloads items have been removed -->
+    <string name="download_delete_multiple_items_snackbar_1">Daa nxinuu removidas</string>
+    <!-- Text for the snackbar to confirm that a single download item has been removed. The first parameter is the name of the download item. -->
+    <string name="download_delete_single_item_snackbar">%1$s removido</string>
+    <!-- Text shown when no download exists -->
+    <string name="download_empty_message_1">Ntu íyo archivos nxinuu</string>
+    <!-- History multi select title in app bar
+    The first parameter is the number of downloads selected -->
+    <string name="download_multi_select_title">%1$d nkaji</string>
+    <!-- Text for the button to remove a single download item -->
+    <string name="download_delete_item_1">Xita</string>
+
+
+    <!-- Crashes -->
+    <!-- Title text displayed on the tab crash page. This first parameter is the name of the application (For example: Fenix) -->
+    <string name="tab_crash_title_2">Nei koo ini-nu. %1$s ntu nkuvi síne nuu ya\'a.</string>
+    <!-- Send crash report checkbox text on the tab crash page -->
+    <string name="tab_crash_send_report">Chu´un ichi tutu kachi ntu satiñu ka̱a̱ ya´a nu Mozilla</string>
+    <!-- Close tab button text on the tab crash page -->
+    <string name="tab_crash_close">Nakasɨ pestaña</string>
+    <!-- Restore tab button text on the tab crash page -->
+    <string name="tab_crash_restore">Natee tuku pestaña</string>
+
+    <!-- Bookmarks -->
+    <!-- Confirmation message for a dialog confirming if the user wants to delete the selected folder -->
+    <string name="bookmark_delete_folder_confirmation_dialog">¿A mana kuvinu xitanu carpeta ya´a?</string>
+    <!-- Confirmation message for a dialog confirming if the user wants to delete multiple items including folders. Parameter will be replaced by app name. -->
+    <string name="bookmark_delete_multiple_folders_confirmation_dialog">%s xita da elementos nkaji.</string>
+    <!-- Text for the cancel button on delete bookmark dialog -->
+    <string name="bookmark_delete_negative">Nkuvi-ka</string>
+    <!-- Screen title for adding a bookmarks folder -->
+    <string name="bookmark_add_folder">Tee carpeta</string>
+    <!-- Snackbar title shown after a bookmark has been created. -->
+    <string name="bookmark_saved_snackbar">¡Nchuva\'a iin a ta´a ini noo´o!</string>
+    <!-- Snackbar edit button shown after a bookmark has been created. -->
+    <string name="edit_bookmark_snackbar_action">NATEE</string>
+    <!-- Bookmark overflow menu edit button -->
+    <string name="bookmark_menu_edit_button">Natee</string>
+    <!-- Bookmark overflow menu copy button -->
+    <string name="bookmark_menu_copy_button">Tɨɨn</string>
+    <!-- Bookmark overflow menu share button -->
+    <string name="bookmark_menu_share_button">Kua´a</string>
+    <!-- Bookmark overflow menu open in new tab button -->
+    <string name="bookmark_menu_open_in_new_tab_button">Síne nuu iin pestaña jíía</string>
+    <!-- Bookmark overflow menu open in private tab button -->
+    <string name="bookmark_menu_open_in_private_tab_button">Síne nuu iin pestaña yu´u</string>
+    <!-- Bookmark overflow menu open all in tabs button -->
+    <string name="bookmark_menu_open_all_in_tabs_button">Síne kuaiyo nu pestañas jíía</string>
+    <!-- Bookmark overflow menu open all in private tabs button -->
+    <string name="bookmark_menu_open_all_in_private_tabs_button">Síne kuaiyo nu pestañas yu\'u</string>
+    <!-- Bookmark overflow menu delete button -->
+    <string name="bookmark_menu_delete_button">Xita</string>
+    <!--Bookmark overflow menu save button -->
+    <string name="bookmark_menu_save_button">Chuva´a</string>
+    <!-- Bookmark multi select title in app bar
+     The first parameter is the number of bookmarks selected -->
+    <string name="bookmarks_multi_select_title">Nkaji %1$d</string>
+    <!-- Bookmark editing screen title -->
+    <string name="edit_bookmark_fragment_title">Tee da a ta´an noo\'o</string>
+    <!-- Bookmark folder editing screen title -->
+    <string name="edit_bookmark_folder_fragment_title">Natee carpeta</string>
+    <!-- Bookmark sign in button message -->
+    <string name="bookmark_sign_in_button">Kajie´e sesión sa kune\'yanu a ta´a ini noo´o sincronizados</string>
+    <!-- Bookmark URL editing field label -->
+    <string name="bookmark_url_label">URL</string>
+    <!-- Bookmark FOLDER editing field label -->
+    <string name="bookmark_folder_label">CARPETA</string>
+    <!-- Bookmark NAME editing field label -->
+    <string name="bookmark_name_label">Sivɨ</string>
+    <!-- Bookmark add folder screen title -->
+    <string name="bookmark_add_folder_fragment_label">Tee carpeta</string>
+    <!-- Bookmark select folder screen title -->
+    <string name="bookmark_select_folder_fragment_label">Kaji carpeta</string>
+    <!-- Bookmark editing error missing title -->
+    <string name="bookmark_empty_title_error">Nejika kumiji iin título</string>
+    <!-- Bookmark editing error missing or improper URL -->
+    <string name="bookmark_invalid_url_error">URL ntu vatu</string>
+
+    <!-- Bookmark screen message for empty bookmarks folder -->
+    <string name="bookmarks_empty_message">Na íyo a ta´a ini noo´o ya\'a</string>
+    <!-- Bookmark snackbar message on deletion
+     The first parameter is the host part of the URL of the bookmark deleted, if any -->
+    <string name="bookmark_deletion_snackbar_message">Nxita %1$s</string>
+    <!-- Bookmark snackbar message on deleting multiple bookmarks not including folders-->
+    <string name="bookmark_deletion_multiple_snackbar_message_2">A ta´a ini noo´o nxita</string>
+    <!-- Bookmark snackbar message on deleting multiple bookmarks including folders-->
+    <string name="bookmark_deletion_multiple_snackbar_message_3">Xita carpetas sincronizadas</string>
+    <!-- Bookmark undo button for deletion snackbar action -->
+    <string name="bookmark_undo_deletion">DESHACER</string>
+    <!-- Text for the button to search all bookmarks -->
+    <string name="bookmark_search">Tee tu\'un nánukunu</string>
+
+    <!-- Site Permissions -->
+    <!-- Button label that take the user to the Android App setting -->
+    <string name="phone_feature_go_to_settings">Kua´an nuu da ke´i</string>
+    <!-- Content description (not visible, for screen readers etc.): Quick settings sheet
+        to give users access to site specific information / settings. For example:
+        Secure settings status and a button to modify site permissions -->
+    <string name="quick_settings_sheet">Tutu da ke\'i ñama</string>
+    <!-- Label that indicates that this option it the recommended one -->
+    <string name="phone_feature_recommended">Recomendado</string>
+    <!-- Button label for clearing all the information of site permissions-->
+    <string name="clear_permissions">Xita daa permisos</string>
+    <!-- Text for the OK button on Clear permissions dialog -->
+    <string name="clear_permissions_positive">Ok</string>
+    <!-- Text for the cancel button on Clear permissions dialog -->
+    <string name="clear_permissions_negative">Nkuvi-ka</string>
+    <!-- Button label for clearing a site permission-->
+    <string name="clear_permission">Xita permiso</string>
+    <!-- Text for the OK button on Clear permission dialog -->
+    <string name="clear_permission_positive">Ok</string>
+    <!-- Text for the cancel button on Clear permission dialog -->
+    <string name="clear_permission_negative">Nkuvi-ka</string>
+    <!-- Button label for clearing all the information on all sites-->
+    <string name="clear_permissions_on_all_sites">Xita daa permisos ntaka daa sitios</string>
+    <!-- Preference for altering video and audio autoplay for all websites -->
+    <string name="preference_browser_feature_autoplay">Reproducción automática</string>
+    <!-- Preference for altering the camera access for all websites -->
+    <string name="preference_phone_feature_camera">Ka̱a̱ natava</string>
+    <!-- Preference for altering the microphone access for all websites -->
+    <string name="preference_phone_feature_microphone">Micrófono</string>
+    <!-- Preference for altering the location access for all websites -->
+    <string name="preference_phone_feature_location">Nuu iñɨnu</string>
+
+    <!-- Preference for altering the notification access for all websites -->
+    <string name="preference_phone_feature_notification">Notificación</string>
+    <!-- Preference for altering the persistent storage access for all websites -->
+    <string name="preference_phone_feature_persistent_storage">Almacenamiento persistente</string>
+
+    <!-- Preference for altering the storage access setting for all websites -->
+    <string name="preference_phone_feature_cross_origin_storage_access">Cookies ji da sitios</string>
+    <!-- Preference for altering the EME access for all websites -->
+    <string name="preference_phone_feature_media_key_system_access">Contenido controlado por DRM</string>
+    <!-- Label that indicates that a permission must be asked always -->
+    <string name="preference_option_phone_feature_ask_to_allow">Kakan permiso</string>
+    <!-- Label that indicates that a permission must be blocked -->
+    <string name="preference_option_phone_feature_blocked">Nasɨ</string>
+    <!-- Label that indicates that a permission must be allowed -->
+    <string name="preference_option_phone_feature_allowed">Kuvi</string>
+    <!--Label that indicates a permission is by the Android OS-->
+    <string name="phone_feature_blocked_by_android">Nasɨ jiee Android</string>
+    <!-- Preference for showing a list of websites that the default configurations won't apply to them -->
+    <string name="preference_exceptions">Excepciones</string>
+    <!-- Summary of tracking protection preference if tracking protection is set to off -->
+    <string name="tracking_protection_off">Xina´va</string>
+    <!-- Summary of tracking protection preference if tracking protection is set to standard -->
+    <string name="tracking_protection_standard">Estándar</string>
+    <!-- Summary of tracking protection preference if tracking protection is set to strict -->
+    <string name="tracking_protection_strict">Estricto</string>
+    <!-- Summary of tracking protection preference if tracking protection is set to custom -->
+    <string name="tracking_protection_custom">Personalizado</string>
+    <!-- Label for global setting that indicates that all video and audio autoplay is allowed -->
+    <string name="preference_option_autoplay_allowed2">Kuvi koo nasun ji tutu kana</string>
+    <!-- Label for site specific setting that indicates that all video and audio autoplay is allowed -->
+    <string name="quick_setting_option_autoplay_allowed">Kuvi koo nasun ji tutu kana</string>
+    <!-- Label that indicates that video and audio autoplay is only allowed over Wi-Fi -->
+    <string name="preference_option_autoplay_allowed_wifi_only2">Nakasɨ nasun jíí tutu kana jíí datos móviles</string>
+    <!-- Subtext that explains 'autoplay on Wi-Fi only' option -->
+    <string name="preference_option_autoplay_allowed_wifi_subtext">Nasun jíí tutu kana kajie\'e jíí Wi-Fi</string>
+    <!-- Label for global setting that indicates that video autoplay is allowed, but audio autoplay is blocked -->
+    <string name="preference_option_autoplay_block_audio2">Kasɨ ntuxini nasun</string>
+    <!-- Label for site specific setting that indicates that video autoplay is allowed, but audio autoplay is blocked -->
+    <string name="quick_setting_option_autoplay_block_audio">Kasɨ ntuxini nasun</string>
+    <!-- Label for global setting that indicates that all video and audio autoplay is blocked -->
+    <string name="preference_option_autoplay_blocked3">Kasɨ nasun ji tutu kana</string>
+    <!-- Label for site specific setting that indicates that all video and audio autoplay is blocked -->
+    <string name="quick_setting_option_autoplay_blocked">Kasɨ nasun ji tutu kana</string>
+    <!-- Summary of delete browsing data on quit preference if it is set to on -->
+    <string name="delete_browsing_data_quit_on">Activado</string>
+    <!-- Summary of delete browsing data on quit preference if it is set to off -->
+    <string name="delete_browsing_data_quit_off">Xina´va</string>
+    <!-- Summary of studies preference if it is set to on -->
+    <string name="studies_on">Activado</string>
+    <!-- Summary of studies data on quit preference if it is set to off -->
+    <string name="studies_off">Xina´va</string>
+
+    <!-- Collections -->
+    <!-- Collections header on home fragment -->
+    <string name="collections_header">Colecciones</string>
+    <!-- Content description (not visible, for screen readers etc.): Opens the collection menu when pressed -->
+    <string name="collection_menu_button_content_description">Menú de la colección</string>
+    <!-- Label to describe what collections are to a new user without any collections -->
+    <string name="no_collections_description2">Nake\'e daa natiñu jitu ininu. \n Stutu daa nnanuku, daa nuu jíi daa pestañas inu saa kuvi kuvɨnu ñama.</string>
+    <!-- Title for the "select tabs" step of the collection creator -->
+    <string name="create_collection_select_tabs">Kaji daa pestañas</string>
+    <!-- Title for the "select collection" step of the collection creator -->
+    <string name="create_collection_select_collection">Kaji colección</string>
+    <!-- Title for the "name collection" step of the collection creator -->
+    <string name="create_collection_name_collection">Sivɨ colección</string>
+    <!-- Button to add new collection for the "select collection" step of the collection creator -->
+    <string name="create_collection_add_new_collection">Tee iin colección jíía</string>
+    <!-- Button to select all tabs in the "select tabs" step of the collection creator -->
+    <string name="create_collection_select_all">Kaji kuaiyo</string>
+    <!-- Button to deselect all tabs in the "select tabs" step of the collection creator -->
+    <string name="create_collection_deselect_all">Xino nkaji kuaiyo</string>
+    <!-- Text to prompt users to select the tabs to save in the "select tabs" step of the collection creator -->
+    <string name="create_collection_save_to_collection_empty">Kaji daa pestañas kuvinu chuva\'anu</string>
+    <!-- Text to show users how many tabs they have selected in the "select tabs" step of the collection creator.
+     %d is a placeholder for the number of tabs selected. -->
+    <string name="create_collection_save_to_collection_tabs_selected">%d pestañas nkajii</string>
+    <!-- Text to show users they have one tab selected in the "select tabs" step of the collection creator.
+    %d is a placeholder for the number of tabs selected. -->
+    <string name="create_collection_save_to_collection_tab_selected">%d pestaña nkajii</string>
+    <!-- Text shown in snackbar when multiple tabs have been saved in a collection -->
+    <string name="create_collection_tabs_saved">¡Pestañas nchuva\'a!</string>
+    <!-- Text shown in snackbar when one or multiple tabs have been saved in a new collection -->
+    <string name="create_collection_tabs_saved_new_collection">¡Colección nchuva\'a!</string>
+    <!-- Text shown in snackbar when one tab has been saved in a collection -->
+    <string name="create_collection_tab_saved">¡Pestaña nchuva\'a!</string>
+    <!-- Content description (not visible, for screen readers etc.): button to close the collection creator -->
+    <string name="create_collection_close">Nakasɨ</string>
+    <!-- Button to save currently selected tabs in the "select tabs" step of the collection creator-->
+    <string name="create_collection_save">Chuva´a</string>
+    <!-- Snackbar action to view the collection the user just created or updated -->
+    <string name="create_collection_view">Kune\'ya</string>
+    <!-- Text for the OK button from collection dialogs -->
+    <string name="create_collection_positive">Ok</string>
+    <!-- Text for the cancel button from collection dialogs -->
+    <string name="create_collection_negative">Nkuvi-ka</string>
+
+    <!-- Default name for a new collection in "name new collection" step of the collection creator. %d is a placeholder for the number of collections-->
+    <string name="create_collection_default_name">Colección %d</string>
+
+    <!-- Share -->
+    <!-- Share screen header -->
+    <string name="share_header_2">Kua´a</string>
+    <!-- Content description (not visible, for screen readers etc.):
+        "Share" button. Opens the share menu when pressed. -->
+    <string name="share_button_content_description">Kua´a</string>
+    <!-- Text for the Save to PDF feature in the share menu -->
+    <string name="share_save_to_pdf">Chuva´a kua PDF</string>
+    <!-- Text for error message when generating a PDF file Text. -->
+    <string name="unable_to_save_to_pdf_error">Ntu nkuvi tava PDF</string>
+    <!-- Text for standard error snackbar dismiss button. -->
+    <string name="standard_snackbar_error_dismiss">Descartar</string>
+    <!-- Text for error message when printing a page and it fails. -->
+    <string name="unable_to_print_page_error">Ntu nkuvi nátava tutu</string>
+    <!-- Text for the print feature in the share and browser menu -->
+    <string name="menu_print">Nátava</string>
+    <!-- Sub-header in the dialog to share a link to another sync device -->
+    <string name="share_device_subheader">Chu´un ichi nuu ka̱a̱</string>
+    <!-- Sub-header in the dialog to share a link to an app from the full list -->
+    <string name="share_link_all_apps_subheader">Kuaiyo daa acciones</string>
+    <!-- Sub-header in the dialog to share a link to an app from the most-recent sorted list -->
+    <string name="share_link_recent_apps_subheader">Daa skuata nni\'i</string>
+    <!-- Text for the copy link action in the share screen. -->
+    <string name="share_copy_link_to_clipboard">Copiar al portapapeles</string>
+    <!-- Toast shown after copying link to clipboard -->
+    <string name="toast_copy_link_to_clipboard">Copiado al portapapeles</string>
+    <!-- An option from the share dialog to sign into sync -->
+    <string name="sync_sign_in">Kajie´e sesión ji Sync</string>
+     <!-- An option from the three dot menu to sync and save data -->
+    <string name="sync_menu_sync_and_save_data">Sincroniza jee chuva\'a datos</string>
+    <!-- An option from the share dialog to send link to all other sync devices -->
+    <string name="sync_send_to_all">Chu´un ichi nuu ntaka ka̱a̱</string>
+    <!-- An option from the share dialog to reconnect to sync -->
+    <string name="sync_reconnect">Nakɨvu tuku Sync</string>
+    <!-- Text displayed when sync is offline and cannot be accessed -->
+    <string name="sync_offline">Ntu íyo conexión</string>
+    <!-- An option to connect additional devices -->
+    <string name="sync_connect_device">Chu´un inka ka̱a̱</string>
+    <!-- The dialog text shown when additional devices are not available -->
+    <string name="sync_connect_device_dialog">Sa kuvi chu\'un íchi iin pestaña, kajie´e sesión jíí Firefox nuu inka ka̱a̱.</string>
+    <!-- Confirmation dialog button -->
+    <string name="sync_confirmation_button">Kuka´nu inini</string>
+    <!-- Share error message -->
+    <string name="share_error_snackbar">Ntu nkuvi kua\'a jíí aplicación ya\'a</string>
+    <!-- Add new device screen title -->
+    <string name="sync_add_new_device_title">Chu´un ichi nuu ka̱a̱</string>
+    <!-- Text for the warning message on the Add new device screen -->
+    <string name="sync_add_new_device_message">Na íyo ka̱a̱ conectado</string>
+    <!-- Text for the button to learn about sending tabs -->
+    <string name="sync_add_new_device_learn_button">Kuni naja chu\'un íchi daa pestañas…</string>
+    <!-- Text for the button to connect another device -->
+    <string name="sync_add_new_device_connect_button">Chu´un inka ka̱a̱</string>
+
+    <!-- Notifications -->
+    <!-- Text shown in the notification that pops up to remind the user that a private browsing session is active. -->
+    <string name="notification_pbm_delete_text_2">Nakasɨ daa pestañas yu´u</string>
+
+    <!-- Text shown in the notification that pops up to remind the user that a private browsing session is active for Android 14+ -->
+    <string name="notification_erase_title_android_14">Nakasɨ daa pestañas yu´u?</string>
+
+    <!-- Name of the marketing notification channel. Displayed in the "App notifications" system settings for the app -->
+    <string name="notification_marketing_channel_name">Difusión</string>
+    <!-- Title shown in the notification that pops up to remind the user to set fenix as default browser.
+    The app name is in the text, due to limitations with localizing Nimbus experiments -->
+    <string name="nimbus_notification_default_browser_title" tools:ignore="UnusedResources">Firefox kuviji ñama jee yu\'u</string>
+    <!-- Text shown in the notification that pops up to remind the user to set fenix as default browser.
+    The app name is in the text, due to limitations with localizing Nimbus experiments -->
+    <string name="nimbus_notification_default_browser_text" tools:ignore="UnusedResources">Sá´á Firefox ka̱a̱ nánuku xinañu´u</string>
+
+    <!-- Title shown in the notification that pops up to re-engage the user -->
+    <string name="notification_re_engagement_title">Ni\'i nánuku yu\'u</string>
+    <!-- Text shown in the notification that pops up to re-engage the user.
+    %1$s is a placeholder that will be replaced by the app name. -->
+    <string name="notification_re_engagement_text">Kaka nchuva\'anu cookies jíí daa nnánukunu jíí %1$s</string>
+    <!-- Title A shown in the notification that pops up to re-engage the user -->
+    <string name="notification_re_engagement_A_title">Kaka jee nxinonu huellas</string>
+    <!-- Text A shown in the notification that pops up to re-engage the user.
+    %1$s is a placeholder that will be replaced by the app name. -->
+    <string name="notification_re_engagement_A_text">Sa nànuku yu\'unu nu %1$s ntu nkino a nnánukunu.</string>
+    <!-- Title B shown in the notification that pops up to re-engage the user -->
+    <string name="notification_re_engagement_B_title">Kaji\'e nánuku</string>
+
+    <!-- Text B shown in the notification that pops up to re-engage the user -->
+    <string name="notification_re_engagement_B_text">Nani\'i iin a kuvi yati. A xiin nuku iin a sɨɨ.</string>
+
+    <!-- Survey -->
+    <!-- Text shown in the fullscreen message that pops up to ask user to take a short survey.
+    The app name is in the text, due to limitations with localizing Nimbus experiments -->
+    <string name="nimbus_survey_message_text">Kuneka\'nu ininu, chinei Firefox jíí iin encuesta luli.</string>
+    <!-- Preference for taking the short survey. -->
+    <string name="preferences_take_survey">Chu\'un encuesta</string>
+    <!-- Preference for not taking the short survey. -->
+    <string name="preferences_not_take_survey">Nkuvi, kuta´vini</string>
+
+    <!-- Snackbar -->
+    <!-- Text shown in snackbar when user deletes a collection -->
+    <string name="snackbar_collection_deleted">Nxita colección</string>
+    <!-- Text shown in snackbar when user renames a collection -->
+    <string name="snackbar_collection_renamed">Nsama sivɨ colección</string>
+    <!-- Text shown in snackbar when user closes a tab -->
+    <string name="snackbar_tab_closed">Pestaña nasɨ</string>
+    <!-- Text shown in snackbar when user closes all tabs -->
+    <string name="snackbar_tabs_closed">Daa pestaña nasɨ</string>
+    <!-- Text shown in snackbar when user bookmarks a list of tabs -->
+    <string name="snackbar_message_bookmarks_saved">¡A ta´a ini noo´o nchuva\'a !</string>
+    <!-- Text shown in snackbar when user adds a site to shortcuts -->
+    <string name="snackbar_added_to_shortcuts">¡Tee nuu acceso ñama!</string>
+    <!-- Text shown in snackbar when user closes a private tab -->
+    <string name="snackbar_private_tab_closed">Pestaña yu\'u nasɨ</string>
+    <!-- Text shown in snackbar when user closes all private tabs -->
+    <string name="snackbar_private_tabs_closed">Pestañas yu\'u nnakasɨ</string>
+    <!-- Text shown in snackbar when user erases their private browsing data -->
+    <string name="snackbar_private_data_deleted">Nna daa datos ka̱a̱ nánuku</string>
+    <!-- Text shown in snackbar to undo deleting a tab, top site or collection -->
+    <string name="snackbar_deleted_undo">DESHACER</string>
+    <!-- Text shown in snackbar when user removes a top site -->
+    <string name="snackbar_top_site_removed">Nxita página</string>
+    <!-- QR code scanner prompt which appears after scanning a code, but before navigating to it
+        First parameter is the name of the app, second parameter is the URL or text scanned-->
+    <string name="qr_scanner_confirmation_dialog_message">Kua\'a %1$s síne %2$s</string>
+
+    <!-- QR code scanner prompt dialog positive option to allow navigation to scanned link -->
+    <string name="qr_scanner_dialog_positive">PERMITIR</string>
+    <!-- QR code scanner prompt dialog positive option to deny navigation to scanned link -->
+    <string name="qr_scanner_dialog_negative">DENEGAR</string>
+    <!-- QR code scanner prompt dialog error message shown when a hostname does not contain http or https. -->
+    <string name="qr_scanner_dialog_invalid">Nuu web ntu vatu.</string>
+    <!-- QR code scanner prompt dialog positive option when there is an error -->
+    <string name="qr_scanner_dialog_invalid_ok">Kuvi</string>
+    <!-- Tab collection deletion prompt dialog message. Placeholder will be replaced with the collection name -->
+    <string name="tab_collection_dialog_message">¿A mana kuvinu xitanu %1$s?</string>
+    <!-- Collection and tab deletion prompt dialog message. This will show when the last tab from a collection is deleted -->
+    <string name="delete_tab_and_collection_dialog_message">De xinanu pestaña ya\'a naa kuaiyo colección. Kuvi sá´ánu daa colección ntaka íchi.</string>
+    <!-- Collection and tab deletion prompt dialog title. Placeholder will be replaced with the collection name. This will show when the last tab from a collection is deleted -->
+    <string name="delete_tab_and_collection_dialog_title">¿Xita %1$s?</string>
+    <!-- Tab collection deletion prompt dialog option to delete the collection -->
+    <string name="tab_collection_dialog_positive">Xita</string>
+    <!-- Text displayed in a notification when the user enters full screen mode -->
+    <string name="full_screen_notification">Kivunɨ nu pantalla ka´nu</string>
+    <!-- Message for copying the URL via long press on the toolbar -->
+    <string name="url_copied">URL ntɨɨn</string>
+    <!-- Sample text for accessibility font size -->
+    <string name="accessibility_text_size_sample_text_1">Ya\'a kuvi iin tu\'un ejemplo. Sukua tuvi naja kino tu\'un saa sá´á ka\'nunu a xíín sá´á lulinu jíí ya\'a.</string>
+    <!-- Summary for Accessibility Text Size Scaling Preference -->
+    <string name="preference_accessibility_text_size_summary">Sá´á ka\'nu a xiin sá\'a luli tu\'un nu da nuu web</string>
+    <!-- Title for Accessibility Text Size Scaling Preference -->
+    <string name="preference_accessibility_font_size_title">Tamaño de la fuente</string>
+
+    <!-- Title for Accessibility Text Automatic Size Scaling Preference -->
+    <string name="preference_accessibility_auto_size_2">Tamaño automático de fuente</string>
+
+    <!-- Summary for Accessibility Text Automatic Size Scaling Preference -->
+    <string name="preference_accessibility_auto_size_summary">El tamaño de la fuente será el mismo que el de Android. Sna\'va opción ya\'a sa kuvi ke\'inuma ya\'a.</string>
+
+    <!-- Title for the Delete browsing data preference -->
+    <string name="preferences_delete_browsing_data">Xina daa datos nnánuku</string>
+    <!-- Title for the tabs item in Delete browsing data -->
+    <string name="preferences_delete_browsing_data_tabs_title_2">Pestañas nune</string>
+    <!-- Subtitle for the tabs item in Delete browsing data, parameter will be replaced with the number of open tabs -->
+    <string name="preferences_delete_browsing_data_tabs_subtitle">%d pestañas</string>
+    <!-- Title for the data and history items in Delete browsing data -->
+    <!-- Title for the history item in Delete browsing data -->
+    <string name="preferences_delete_browsing_data_browsing_history_title">Daa nnánukunu</string>
+    <!-- Subtitle for the data and history items in delete browsing data, parameter will be replaced with the
+        number of history items the user has -->
+    <string name="preferences_delete_browsing_data_browsing_data_subtitle">%d daa nuu</string>
+    <!-- Title for the cookies and site data items in Delete browsing data -->
+    <string name="preferences_delete_browsing_data_cookies_and_site_data">Cookies ji datos nuu ya´a</string>
+    <!-- Subtitle for the cookies item in Delete browsing data -->
+    <string name="preferences_delete_browsing_data_cookies_subtitle">Nakasɨ sesión nu ntaka daa nuu</string>
+    <!-- Title for the cached images and files item in Delete browsing data -->
+    <string name="preferences_delete_browsing_data_cached_files">Tutu nátava jíí archivos en caché</string>
+    <!-- Subtitle for the cached images and files item in Delete browsing data -->
+    <string name="preferences_delete_browsing_data_cached_files_subtitle">Xino jee kino espacio de almacenamiento</string>
+    <!-- Title for the site permissions item in Delete browsing data -->
+    <string name="preferences_delete_browsing_data_site_permissions">Permisos del sitio</string>
+    <!-- Title for the downloads item in Delete browsing data -->
+    <string name="preferences_delete_browsing_data_downloads">Daa nxinuu</string>
+
+    <!-- Text for the button to delete browsing data -->
+    <string name="preferences_delete_browsing_data_button">Xina daa datos nnánuku</string>
+    <!-- Title for the Delete browsing data on quit preference -->
+    <string name="preferences_delete_browsing_data_on_quit">Xina daa datos nnánuku de nkenenu</string>
+    <!-- Summary for the Delete browsing data on quit preference. "Quit" translation should match delete_browsing_data_on_quit_action translation. -->
+    <string name="preference_summary_delete_browsing_data_on_quit_2">Xita automáticamente daa datos nkakanu sa kajinu  \&quot;Kene\&quot; nu menú principal</string>
+    <!-- Action item in menu for the Delete browsing data on quit feature -->
+    <string name="delete_browsing_data_on_quit_action">Kene</string>
+
+    <!-- Title text of a delete browsing data dialog. -->
+    <string name="delete_history_prompt_title">Rango de tiempo a eliminar</string>
+    <!-- Body text of a delete browsing data dialog. -->
+    <string name="delete_history_prompt_body" moz:RemovedIn="130" tools:ignore="UnusedResources">Nna a nnánukunu(daa nnánuku sincronizado jíí da inka ka̱a̱), cookies jíí inka datos sa jikanu.</string>
+    <!-- Body text of a delete browsing data dialog. -->
+    <string name="delete_history_prompt_body_2">Xita a nsá´ánu (jíí da nsá\'ánu sincronizado jíí da inka ka̱a̱)</string>
+    <!-- Radio button in the delete browsing data dialog to delete history items for the last hour. -->
+    <string name="delete_history_prompt_button_last_hour">Nuu nɨ´ɨ hora</string>
+    <!-- Radio button in the delete browsing data dialog to delete history items for today and yesterday. -->
+    <string name="delete_history_prompt_button_today_and_yesterday">Vitan jee iku</string>
+    <!-- Radio button in the delete browsing data dialog to delete all history. -->
+    <string name="delete_history_prompt_button_everything">Kuaiyo</string>
+
+    <!-- Dialog message to the user asking to delete browsing data. Parameter will be replaced by app name. -->
+    <string name="delete_browsing_data_prompt_message_3">%s xita da datos nkajinu da a nnánukunu.</string>
+    <!-- Text for the cancel button for the data deletion dialog -->
+    <string name="delete_browsing_data_prompt_cancel">Nkuvi-ka</string>
+    <!-- Text for the allow button for the data deletion dialog -->
+    <string name="delete_browsing_data_prompt_allow">Xita</string>
+    <!-- Text for the snackbar confirmation that the data was deleted -->
+    <string name="preferences_delete_browsing_data_snackbar">Nna daa datos ka̱a̱ nánuku</string>
+    <!-- Text for the snackbar to show the user that the deletion of browsing data is in progress -->
+    <string name="deleting_browsing_data_in_progress">Xina daa datos nnánuku…</string>
+
+    <!-- Dialog message to the user asking to delete all history items inside the opened group. Parameter will be replaced by a history group name. -->
+    <string name="delete_all_history_group_prompt_message">Xina ntaka daa sitio %s</string>
+    <!-- Text for the cancel button for the history group deletion dialog -->
+    <string name="delete_history_group_prompt_cancel">Nkuvi-ka</string>
+    <!-- Text for the allow button for the history group dialog -->
+    <string name="delete_history_group_prompt_allow">Xita</string>
+    <!-- Text for the snackbar confirmation that the history group was deleted -->
+    <string name="delete_history_group_snackbar">Nxita grupo</string>
+
+    <!-- Onboarding -->
+    <!-- text to display in the snackbar once account is signed-in -->
+    <string name="onboarding_firefox_account_sync_is_on">Sync iyo activado</string>
+
+    <!-- Onboarding theme -->
+    <!-- Text shown in snackbar when multiple tabs have been sent to device -->
+    <string name="sync_sent_tabs_snackbar">¡Pestañas nchu\'u íchi!</string>
+    <!-- Text shown in snackbar when one tab has been sent to device  -->
+    <string name="sync_sent_tab_snackbar">¡Pestaña nchu\'u íchi!</string>
+    <!-- Text shown in snackbar when sharing tabs failed  -->
+    <string name="sync_sent_tab_error_snackbar">Ntu nkuvi chu\'un íchi</string>
+    <!-- Text shown in snackbar for the "retry" action that the user has after sharing tabs failed -->
+    <string name="sync_sent_tab_error_snackbar_action">REINTENTAR</string>
+    <!-- Title of QR Pairing Fragment -->
+    <string name="sync_scan_code">Escanear el código</string>
+
+    <!-- Instructions on how to access pairing -->
+    <string name="sign_in_instructions"><![CDATA[Nuu ka̱a̱ noo\'o síne Firefoz je kua\'an nu <b>https://firefox.com/pair</b>]]></string>
+    <!-- Text shown for sign in pairing when ready -->
+    <string name="sign_in_ready_for_scan">Kuvi sa escanear</string>
+    <!-- Text shown for settings option for sign with pairing -->
+    <string name="sign_in_with_camera">Kajie´e sesión jíí ka̱a̱ nátava</string>
+    <!-- Text shown for settings option for sign with email -->
+    <string name="sign_in_with_email">Ni\'i correo electrónico en su lugar</string>
+    <!-- Text shown for settings option for create new account text.'Firefox' intentionally hardcoded here.-->
+    <string name="sign_in_create_account_text"><![CDATA[¿Ntu kuminu cuenta? <u>Sá´á iin</u> saa kuvi sa sincronizar Firefox jíí da ka̱a̱.]]></string>
+    <!-- Option to continue signing out of account shown in confirmation dialog to sign out of account -->
+    <string name="sign_out_disconnect">Kene</string>
+    <!-- Option to cancel signing out shown in confirmation dialog to sign out of account -->
+    <string name="sign_out_cancel">Nkuvi-ka</string>
+    <!-- Error message snackbar shown after the user tried to select a default folder which cannot be altered -->
+    <string name="bookmark_cannot_edit_root">Ntu kuvi natee daa carpetas predeterminadas</string>
+
+    <!-- Enhanced Tracking Protection -->
+    <!-- Link displayed in enhanced tracking protection panel to access tracking protection settings -->
+    <string name="etp_settings">Ke´i configuración protección</string>
+    <!-- Preference title for enhanced tracking protection settings -->
+    <string name="preference_enhanced_tracking_protection">Vaji iin a kumi noo´o nkutada a sá´ánu</string>
+    <!-- Text displayed that links to website about enhanced tracking protection -->
+    <string name="preference_enhanced_tracking_protection_explanation_learn_more">Ka´vi kue´eka</string>
+    <!-- Preference for enhanced tracking protection for the standard protection settings -->
+    <string name="preference_enhanced_tracking_protection_standard_default_1">Estándar (predeterminado)</string>
+    <!--  Accessibility text for the Standard protection information icon  -->
+    <string name="preference_enhanced_tracking_protection_standard_info_button">Qué es lo que está bloqueado por la protección estándar contra el rastreo</string>
+    <!-- Preference for enhanced tracking protection for the strict protection settings -->
+    <string name="preference_enhanced_tracking_protection_strict">Estricto</string>
+    <!--  Accessibility text for the Strict protection information icon  -->
+    <string name="preference_enhanced_tracking_protection_strict_info_button">Naku vi a nasɨ protección estricta contra el rastreo</string>
+    <!-- Preference for enhanced tracking protection for the custom protection settings -->
+    <string name="preference_enhanced_tracking_protection_custom">Personalizado</string>
+    <!-- Preference description for enhanced tracking protection for the strict protection settings -->
+    <string name="preference_enhanced_tracking_protection_custom_description_2">Kaji ne\'i daa rastreadores y secuencias de comandos bloquear</string>
+    <!--  Accessibility text for the Strict protection information icon  -->
+    <string name="preference_enhanced_tracking_protection_custom_info_button">Ya\'a vi a nakasɨ protección jíí rastreo estándar</string>
+    <!-- Header for categories that are being blocked by current Enhanced Tracking Protection settings -->
+    <!-- Preference for enhanced tracking protection for the custom protection settings for cookies-->
+    <string name="preference_enhanced_tracking_protection_custom_cookies">Cookies</string>
+    <!-- Option for enhanced tracking protection for the custom protection settings for cookies-->
+    <string name="preference_enhanced_tracking_protection_custom_cookies_1">Rastreadores multisitio y de red social</string>
+    <!-- Option for enhanced tracking protection for the custom protection settings for cookies-->
+    <string name="preference_enhanced_tracking_protection_custom_cookies_2">Cookies nuu web ntu nne\'ya</string>
+    <!-- Option for enhanced tracking protection for the custom protection settings for cookies-->
+    <string name="preference_enhanced_tracking_protection_custom_cookies_3">Kuaiyo da cookies inka nuu (kuvi tava tixin nuu da web)</string>
+    <!-- Option for enhanced tracking protection for the custom protection settings for cookies-->
+    <string name="preference_enhanced_tracking_protection_custom_cookies_4">Kuaiyo da cookies (kuvi tava errores nuu da web)</string>
+    <!-- Option for enhanced tracking protection for the custom protection settings for cookies-->
+    <string name="preference_enhanced_tracking_protection_custom_cookies_5">Kasɨ cookies jíí daa sitios</string>
+    <!-- Preference for Global Privacy Control for the custom privacy settings for Global Privacy Control. '&amp;' is replaced with the ampersand symbol: &-->
+    <string name="preference_enhanced_tracking_protection_custom_global_privacy_control">Kachi nu da nuu a nxikodaja jee nkua\'adaja da datos nuu\'u</string>
+    <!-- Preference for enhanced tracking protection for the custom protection settings for tracking content -->
+    <string name="preference_enhanced_tracking_protection_custom_tracking_content">Contenido de rastreo</string>
+    <!-- Option for enhanced tracking protection for the custom protection settings for tracking content-->
+    <string name="preference_enhanced_tracking_protection_custom_tracking_content_1">Nu ntaka daa pestañas</string>
+    <!-- Option for enhanced tracking protection for the custom protection settings for tracking content-->
+    <string name="preference_enhanced_tracking_protection_custom_tracking_content_2">Síne nuu daa pestañas yu´u</string>
+    <!-- Preference for enhanced tracking protection for the custom protection settings -->
+    <string name="preference_enhanced_tracking_protection_custom_cryptominers">Criptomineros</string>
+    <!-- Preference for enhanced tracking protection for the custom protection settings -->
+    <string name="preference_enhanced_tracking_protection_custom_fingerprinters">Huellas dactilares</string>
+    <!-- Button label for navigating to the Enhanced Tracking Protection details -->
+    <string name="enhanced_tracking_protection_details">Detalles</string>
+    <!-- Header for categories that are being being blocked by current Enhanced Tracking Protection settings -->
+    <string name="enhanced_tracking_protection_blocked">Nasɨ</string>
+    <!-- Header for categories that are being not being blocked by current Enhanced Tracking Protection settings -->
+    <string name="enhanced_tracking_protection_allowed">Kuvi</string>
+
+    <!-- Category of trackers (social media trackers) that can be blocked by Enhanced Tracking Protection -->
+    <string name="etp_social_media_trackers_title">Rastreadores de redes sociales</string>
+    <!-- Description of social media trackers that can be blocked by Enhanced Tracking Protection -->
+    <string name="etp_social_media_trackers_description">Limita a las redes sociales su capacidad de rastreo daa a sá´ánu sa jikanu nu ka̱a̱ ya\'a.</string>
+    <!-- Category of trackers (cross-site tracking cookies) that can be blocked by Enhanced Tracking Protection -->
+    <string name="etp_cookies_title">Cookies de rastreo entre sitios</string>
+    <!-- Category of trackers (cross-site tracking cookies) that can be blocked by Enhanced Tracking Protection -->
+    <string name="etp_cookies_title_2">Cookies ji da sitios cruzados</string>
+    <!-- Description of cross-site tracking cookies that can be blocked by Enhanced Tracking Protection -->
+    <string name="etp_cookies_description">Nakasɨ da cookies ni\'i da redes publicitarias jíí da empresas sá´á análisis da datos noo\'o nu da nuu ne\'yanu.</string>
+    <!-- Category of trackers (cryptominers) that can be blocked by Enhanced Tracking Protection -->
+    <string name="etp_cryptominers_title">Criptomineros</string>
+    <!-- Description of cryptominers that can be blocked by Enhanced Tracking Protection -->
+    <string name="etp_cryptominers_description">Nkua\'anu a daa scripts kuvi sá´á xeen ni\'ida kivɨda nu ka̱a̱ noo\'o je tavadaja xu\'un digital.</string>
+    <!-- Category of trackers (fingerprinters) that can be blocked by Enhanced Tracking Protection -->
+    <string name="etp_fingerprinters_title">Detectores de huellas digitales</string>
+    <!-- Category of trackers (tracking content) that can be blocked by Enhanced Tracking Protection -->
+    <string name="etp_tracking_content_title">Contenido de rastreo</string>
+    <!-- Enhanced Tracking Protection message that protection is currently on for this site -->
+    <string name="etp_panel_on">Da a kumi noo´o iyo activo nu sito ya´a</string>
+    <!-- Enhanced Tracking Protection message that protection is currently off for this site -->
+    <string name="etp_panel_off">Da a kumi noo´o ntu iyo activo nu sito ya´a</string>
+    <!-- Header for exceptions list for which sites enhanced tracking protection is always off -->
+    <string name="enhanced_tracking_protection_exceptions">La protección de rastreo mejorada nna\'va nu sitio ya\'a</string>
+    <!-- Content description (not visible, for screen readers etc.): Navigate
+    back from ETP details (Ex: Tracking content) -->
+    <string name="etp_back_button_content_description">Niko yata</string>
+    <!-- About page link text to open what's new link -->
+    <string name="about_whats_new">Daa a jíí kene %s</string>
+    <!-- Open source licenses page title
+    The first parameter is the app name -->
+    <string name="open_source_licenses_title">%s | Bibliotecas OSS</string>
+    <!-- Category of trackers (redirect trackers) that can be blocked by Enhanced Tracking Protection -->
+    <string name="etp_redirect_trackers_title">Rastreadores de redirección</string>
+    <!-- Description of redirect tracker cookies that can be blocked by Enhanced Tracking Protection -->
+    <string name="etp_redirect_trackers_description">Sá´á noo da cookies nsá\'á da redirecciones nu da nuu Web</string>
+    <!-- Description of the SmartBlock Enhanced Tracking Protection feature. The * symbol is intentionally hardcoded here,
+         as we use it on the UI to indicate which trackers have been partially unblocked.  -->
+    <string name="preference_etp_smartblock_description">Daa rastreadores ka íchi chuve han sido parcialmente desbloqueados nu página ya\'a porque interactuaste con ellos*.</string>
+    <!-- Text displayed that links to website about enhanced tracking protection SmartBlock -->
+    <string name="preference_etp_smartblock_learn_more">Ka´vi kue´eka</string>
+
+    <!-- Content description (not visible, for screen readers etc.):
+    Enhanced tracking protection exception preference icon for ETP settings. -->
+    <string name="preference_etp_exceptions_icon_description">Ícono de preferencia de excepción de protección contra el rastreo mejorada</string>
+
+    <!-- About page link text to open support link -->
+    <string name="about_support">Chinei</string>
+    <!-- About page link text to list of past crashes (like about:crashes on desktop) -->
+    <string name="about_crashes">Fallos</string>
+    <!-- About page link text to open privacy notice link -->
+    <string name="about_privacy_notice">Tu´un xitu a kumi noo´o</string>
+    <!-- About page link text to open know your rights link -->
+    <string name="about_know_your_rights">Nichi saa no´o kuvi kuatiñunu ya´a</string>
+    <!-- About page link text to open licensing information link -->
+    <string name="about_licensing_information">Tutu nákani saa kuantiñunu ya´a</string>
+    <!-- About page link text to open a screen with libraries that are used -->
+    <string name="about_other_open_source_libraries">Bibliotecas a ni´idani</string>
+
+    <!-- Toast shown to the user when they are activating the secret dev menu
+        The first parameter is number of long clicks left to enable the menu -->
+    <string name="about_debug_menu_toast_progress">Menú de depuración: kino %1$d click(s) kuvi kutúvi</string>
+    <string name="about_debug_menu_toast_done">Menú de depuración habilitado</string>
+
+    <!-- Browser long press popup menu -->
+    <!-- Copy the current url -->
+    <string name="browser_toolbar_long_press_popup_copy">Tɨɨn</string>
+    <!-- Paste & go the text in the clipboard. '&amp;' is replaced with the ampersand symbol: & -->
+    <string name="browser_toolbar_long_press_popup_paste_and_go">Tee jee &amp; kuán´án</string>
+    <!-- Paste the text in the clipboard -->
+    <string name="browser_toolbar_long_press_popup_paste">Tee</string>
+    <!-- Snackbar message shown after an URL has been copied to clipboard. -->
+    <string name="browser_toolbar_url_copied_to_clipboard_snackbar">URL copiada al portapapeles</string>
+
+    <!-- Title text for the Add To Homescreen dialog -->
+    <string name="add_to_homescreen_title">Chisó ya´a nuu tutu kajie´e</string>
+    <!-- Cancel button text for the Add to Homescreen dialog -->
+    <string name="add_to_homescreen_cancel">Nkuvi-ka</string>
+    <!-- Add button text for the Add to Homescreen dialog -->
+    <string name="add_to_homescreen_add">Tee</string>
+    <!-- Continue to website button text for the first-time Add to Homescreen dialog -->
+    <string name="add_to_homescreen_continue">Kaka nuu web</string>
+    <!-- Placeholder text for the TextView in the Add to Homescreen dialog -->
+    <string name="add_to_homescreen_text_placeholder">Sivɨ acceso ñama</string>
+
+    <!-- Describes the add to homescreen functionality -->
+    <string name="add_to_homescreen_description_2">Kuvi tee noo´o nuu web ya´a nuu kajie´e saa kuvi kivɨnu ñama jee nanukunu ñama.</string>
+
+    <!-- Preference for managing the settings for logins and passwords in Fenix -->
+    <string name="preferences_passwords_logins_and_passwords_2">Contraseñas</string>
+    <!-- Preference for managing the saving of logins and passwords in Fenix -->
+    <string name="preferences_passwords_save_logins_2">Chuva\'a contraseñas</string>
+    <!-- Preference option for asking to save passwords in Fenix -->
+    <string name="preferences_passwords_save_logins_ask_to_save">Katu\'un xinañu\'u de chuva\'anu</string>
+    <!-- Preference option for never saving passwords in Fenix -->
+    <string name="preferences_passwords_save_logins_never_save">Nchuva\'a ni\'i íchi</string>
+    <!-- Preference for autofilling saved logins in Firefox (in web content), %1$s will be replaced with the app name -->
+    <string name="preferences_passwords_autofill2">Rellenar en %1$s</string>
+    <!-- Description for the preference for autofilling saved logins in Firefox (in web content), %1$s will be replaced with the app name -->
+    <string name="preferences_passwords_autofill_description">Chu\'un jee chuva\'a sivɨ jíí contraseñas nu páginas web sa ni\'inu %1$s.</string>
+    <!-- Preference for autofilling logins from Fenix in other apps (e.g. autofilling the Twitter app) -->
+    <string name="preferences_android_autofill">Chu\'un nu da inka ka̱a̱</string>
+    <!-- Description for the preference for autofilling logins from Fenix in other apps (e.g. autofilling the Twitter app) -->
+    <string name="preferences_android_autofill_description">Chu\'un sivɨ jíí contraseñas nu daa inka aplicaciones ka̱a̱ nooó.</string>
+    <!-- Preference option for adding a password -->
+    <string name="preferences_logins_add_login_2">Tee contraseña</string>
+
+    <!-- Preference for syncing saved passwords in Fenix -->
+    <string name="preferences_passwords_sync_logins_2">Sync contraseñas</string>
+    <!-- Preference for syncing saved passwords in Fenix, when not signed in-->
+    <string name="preferences_passwords_sync_logins_across_devices_2">Sincronizar daa nuu kaji\'e sesión jii daa ka̱a̱</string>
+    <!-- Preference to access list of saved passwords -->
+    <string name="preferences_passwords_saved_logins_2">Da contraseñas nchuva\'a</string>
+    <!-- Description of empty list of saved passwords. Placeholder is replaced with app name.  -->
+    <string name="preferences_passwords_saved_logins_description_empty_text_2">Da contraseñas chuva\'anu a xíín sa sincronizar noo\'o jíí %s ya\'a kutuvi. Kuaiyo da contraseña chuva\'anu kino cifradas.</string>
+    <!-- Clickable text for opening an external link for more information about Sync. -->
+    <string name="preferences_passwords_saved_logins_description_empty_learn_more_link_2">Kuni kue´eka jiee Sync.</string>
+    <!-- Preference to access list of login exceptions that we never save logins for -->
+    <string name="preferences_passwords_exceptions">Excepciones</string>
+    <!-- Text on button to remove all saved login exceptions -->
+    <string name="preferences_passwords_exceptions_remove_all">Xita kuaiyo da excepciones</string>
+    <!-- Hint for search box in passwords list -->
+    <string name="preferences_passwords_saved_logins_search_2">Nánuku contraseñas</string>
+    <!-- The header for the site that a login is for -->
+    <string name="preferences_passwords_saved_logins_site">Nuu</string>
+    <!-- The header for the username for a login -->
+    <string name="preferences_passwords_saved_logins_username">Sɨvu ñɨvu</string>
+    <!-- The header for the password for a login -->
+    <string name="preferences_passwords_saved_logins_password">Contraseña</string>
+    <!-- Shown in snackbar to tell user that the password has been copied -->
+    <string name="logins_password_copied">Contraseña ntɨɨ kua´an nuu portapapeles</string>
+    <!-- Shown in snackbar to tell user that the username has been copied -->
+    <string name="logins_username_copied">Sivɨ ñivɨ copiado al portapapeles</string>
+    <!-- Content Description (for screenreaders etc) read for the button to copy a password in logins-->
+    <string name="saved_logins_copy_password">Tɨɨn contraseña</string>
+    <!-- Content Description (for screenreaders etc) read for the button to clear a password while editing a login-->
+    <string name="saved_logins_clear_password">Xina contraseña</string>
+    <!-- Content Description (for screenreaders etc) read for the button to copy a username in logins -->
+    <string name="saved_login_copy_username">Tɨɨn sivɨ ñɨvɨ</string>
+    <!-- Content Description (for screenreaders etc) read for the button to clear a username while editing a login -->
+    <string name="saved_login_clear_username">Xina sivɨ ñivɨ</string>
+    <!-- Content Description (for screenreaders etc) read for the button to clear the hostname field while creating a login -->
+    <string name="saved_login_clear_hostname">Xina sivɨ servidor</string>
+    <!-- Content Description (for screenreaders etc) read for the button to open a site in logins -->
+    <string name="saved_login_open_site">Síne sitio nuu ka̱a̱ nánuku</string>
+    <!-- Content Description (for screenreaders etc) read for the button to reveal a password in logins -->
+    <string name="saved_login_reveal_password">Kutúvi contraseña</string>
+    <!-- Content Description (for screenreaders etc) read for the button to hide a password in logins -->
+    <string name="saved_login_hide_password">Chiyu´u contraseña</string>
+
+    <!-- Message displayed in biometric prompt displayed for authentication before allowing users to view their passwords -->
+    <string name="logins_biometric_prompt_message_2">Síne sa kutuvi daa contraseñas nchuva\'a</string>
+
+    <!-- Title of warning dialog if users have no device authentication set up -->
+    <string name="logins_warning_dialog_title_2">Kuiso da nuu kajie\'e sesión ji contraseñas</string>
+    <!-- Message of warning dialog if users have no device authentication set up -->
+    <string name="logins_warning_dialog_message_2">Sá´á iin patrón nakasɨ ka̱a̱, PIN a xíín contraseña sa kuvi ko va\'a da nuu kajie\'e sesión jíí da cotraseñas nchuva\'a de sana nsakui\'nadaja ka̱a̱ noo\'o.</string>
+    <!-- Negative button to ignore warning dialog if users have no device authentication set up -->
+    <string name="logins_warning_dialog_later">Más tarde</string>
+    <!-- Positive button to send users to set up a pin of warning dialog if users have no device authentication set up -->
+    <string name="logins_warning_dialog_set_up_now">Ke\'i ntañu\'u</string>
+    <!-- Title of PIN verification dialog to direct users to re-enter their device credentials to access their logins -->
+    <string name="logins_biometric_prompt_message_pin">Síne ka̱a̱ noo\'o</string>
+    <!-- Title for Accessibility Force Enable Zoom Preference -->
+    <string name="preference_accessibility_force_enable_zoom">Zoom ntaka da sitios</string>
+    <!-- Summary for Accessibility Force Enable Zoom Preference -->
+    <string name="preference_accessibility_force_enable_zoom_summary">Habilitar para permitir pellizcar y hacer zoom, incluso en sitios web que previenen este gesto.</string>
+    <!-- Saved logins sorting strategy menu item -by name- (if selected, it will sort saved logins alphabetically) -->
+    <string name="saved_logins_sort_strategy_alphabetically">Sivɨ (A-Z)</string>
+    <!-- Saved logins sorting strategy menu item -by last used- (if selected, it will sort saved logins by last used) -->
+    <string name="saved_logins_sort_strategy_last_used">Nni´i nuu nɨ´ɨ</string>
+
+    <!-- Content description (not visible, for screen readers etc.) -->
+    <string name="saved_logins_menu_dropdown_chevron_icon_content_description_2">Menú ordenar contraseñas</string>
+
+    <!-- Autofill -->
+    <!-- Preference and title for managing the autofill settings -->
+    <string name="preferences_autofill">Autocompletar</string>
+    <!-- Preference and title for managing the settings for addresses -->
+    <string name="preferences_addresses">Da nuu</string>
+    <!-- Preference and title for managing the settings for payment methods -->
+    <string name="preferences_credit_cards_2">Naja chunanu</string>
+
+    <!-- Preference for saving and autofilling credit cards -->
+    <string name="preferences_credit_cards_save_and_autofill_cards_2">Chuva\'a jee sa completar naja chuna</string>
+    <!-- Preference summary for saving and autofilling payment method data. Parameter will be replaced by app name. -->
+    <string name="preferences_credit_cards_save_and_autofill_cards_summary_2">%s cifra jee chuva\'a kuaiyo da nuu chuna xu\'un</string>
+    <!-- Preference option for syncing credit cards across devices. This is displayed when the user is not signed into sync -->
+    <string name="preferences_credit_cards_sync_cards_across_devices">Sincronizar daa tarjetas jíí daa ka̱a̱</string>
+    <!-- Preference option for syncing credit cards across devices. This is displayed when the user is signed into sync -->
+    <string name="preferences_credit_cards_sync_cards">Sincronizar tarjetas</string>
+    <!-- Preference option for adding a card -->
+    <string name="preferences_credit_cards_add_credit_card_2">Tee tarjeta</string>
+    <!-- Preference option for managing saved cards -->
+    <string name="preferences_credit_cards_manage_saved_cards_2">Ke\'i daa tarjetas</string>
+    <!-- Preference option for adding an address -->
+    <string name="preferences_addresses_add_address">Tee iin nuu</string>
+    <!-- Preference option for managing saved addresses -->
+    <string name="preferences_addresses_manage_addresses">Ke\'i daa nuu</string>
+
+    <!-- Preference for saving and filling addresses -->
+    <string name="preferences_addresses_save_and_autofill_addresses_2">Chuva\'a jee sa autocompletar daa nuu</string>
+
+    <!-- Preference summary for saving and filling address data -->
+    <string name="preferences_addresses_save_and_autofill_addresses_summary_2">Tee tunin ka̱a̱nu jíí daa nuu correo electrónico</string>
+
+    <!-- Title of the "Add card" screen -->
+    <string name="credit_cards_add_card">Tee tarjeta</string>
+    <!-- Title of the "Edit card" screen -->
+    <string name="credit_cards_edit_card">Natee tarjeta</string>
+    <!-- The header for the card number of a credit card -->
+    <string name="credit_cards_card_number">Tuniin tarjeta</string>
+    <!-- The header for the expiration date of a credit card -->
+    <string name="credit_cards_expiration_date">Fecha de caducidad</string>
+    <!-- The label for the expiration date month of a credit card to be used by a11y services-->
+    <string name="credit_cards_expiration_date_month">Yoo fecha nɨ\'ɨ</string>
+    <!-- The label for the expiration date year of a credit card to be used by a11y services-->
+    <string name="credit_cards_expiration_date_year">Kuiya fecha nɨ\'ɨ</string>
+    <!-- The header for the name on the credit card -->
+    <string name="credit_cards_name_on_card">Sivɨ nu tarjeta</string>
+    <!-- The text for the "Delete card" menu item for deleting a credit card -->
+    <string name="credit_cards_menu_delete_card">Sna tarjeta</string>
+    <!-- The text for the "Delete card" button for deleting a credit card -->
+    <string name="credit_cards_delete_card_button">Sna tarjeta</string>
+    <!-- The text for the confirmation message of "Delete card" dialog -->
+    <string name="credit_cards_delete_dialog_confirmation_2">Sna tarjeta?</string>
+    <!-- The text for the positive button on "Delete card" dialog -->
+    <string name="credit_cards_delete_dialog_button">Xita</string>
+    <!-- The title for the "Save" menu item for saving a credit card -->
+    <string name="credit_cards_menu_save">Chuva´a</string>
+    <!-- The text for the "Save" button for saving a credit card -->
+    <string name="credit_cards_save_button">Chuva´a</string>
+    <!-- The text for the "Cancel" button for cancelling adding, updating or deleting a credit card -->
+    <string name="credit_cards_cancel_button">Nkuvi-ka</string>
+    <!-- Title of the "Saved cards" screen -->
+    <string name="credit_cards_saved_cards">Tarjetas nchuva\'a</string>
+    <!-- Error message for card number validation -->
+    <string name="credit_cards_number_validation_error_message_2">Chu\'un iin tuni tarjeta vatu</string>
+    <!-- Error message for card name on card validation -->
+    <string name="credit_cards_name_on_card_validation_error_message_2">Tee iin sivɨ</string>
+    <!-- Message displayed in biometric prompt displayed for authentication before allowing users to view their saved credit cards -->
+    <string name="credit_cards_biometric_prompt_message">Síne sa kutuvi daa tarjetas nchuva\'a</string>
+    <!-- Title of warning dialog if users have no device authentication set up -->
+    <string name="credit_cards_warning_dialog_title_2">Chuva\'a da tuni chuna xu\'un</string>
+    <!-- Positive button to send users to set up a pin of warning dialog if users have no device authentication set up -->
+    <string name="credit_cards_warning_dialog_set_up_now">Ke\'i ntañu\'u</string>
+    <!-- Negative button to ignore warning dialog if users have no device authentication set up -->
+    <string name="credit_cards_warning_dialog_later">Más tarde</string>
+    <!-- Title of PIN verification dialog to direct users to re-enter their device credentials to access their credit cards -->
+    <string name="credit_cards_biometric_prompt_message_pin">Síne ka̱a̱ noo\'o</string>
+    <!-- Title of the "Add address" screen -->
+    <string name="addresses_add_address">Tee iin nuu</string>
+    <!-- Title of the "Edit address" screen -->
+    <string name="addresses_edit_address">Natee nuu</string>
+    <!-- Title of the "Manage addresses" screen -->
+    <string name="addresses_manage_addresses">Ke\'i daa nuu</string>
+    <!-- The header for the name of an address. Name represents a person's full name, typically made up of a first, middle and last name, e.g. John Joe Doe. -->
+    <string name="addresses_name">Sivɨ</string>
+    <!-- The header for the street address of an address -->
+    <string name="addresses_street_address">Nuu</string>
+    <!-- The header for the city of an address -->
+    <string name="addresses_city">Ñuu stila</string>
+    <!-- The header for the subregion of an address when "state" should be used -->
+    <string name="addresses_state">Estado</string>
+    <!-- The header for the subregion of an address when "province" should be used -->
+    <string name="addresses_province">Ñuu luli</string>
+    <!-- The header for the zip code of an address -->
+    <string name="addresses_zip">Código postal</string>
+    <!-- The header for the country or region of an address -->
+    <string name="addresses_country">País o región</string>
+    <!-- The header for the phone number of an address -->
+    <string name="addresses_phone">Ka̱a̱ ka´an nutachivijin</string>
+    <!-- The header for the email of an address -->
+    <string name="addresses_email">Correo electrónico</string>
+    <!-- The text for the "Save" button for saving an address -->
+    <string name="addresses_save_button">Chuva´a</string>
+    <!-- The text for the "Cancel" button for cancelling adding, updating or deleting an address -->
+    <string name="addresses_cancel_button">Nkuvi-ka</string>
+
+    <!-- The text for the "Delete address" button for deleting an address -->
+    <string name="addressess_delete_address_button">Xina dirección</string>
+    <!-- The title for the "Delete address" confirmation dialog -->
+    <string name="addressess_confirm_dialog_message_2">Xita dirección?</string>
+    <!-- The text for the positive button on "Delete address" dialog -->
+    <string name="addressess_confirm_dialog_ok_button">Xita</string>
+    <!-- The text for the negative button on "Delete address" dialog -->
+    <string name="addressess_confirm_dialog_cancel_button">Nkuvi-ka</string>
+    <!-- The text for the "Save address" menu item for saving an address -->
+    <string name="address_menu_save_address">Chuva\'a dirección</string>
+    <!-- The text for the "Delete address" menu item for deleting an address -->
+    <string name="address_menu_delete_address">Xina dirección</string>
+
+    <!-- Title of the Add search engine screen -->
+    <string name="search_engine_add_custom_search_engine_title">Chisó ka̱a̱ nánuku</string>
+    <!-- Content description (not visible, for screen readers etc.): Title for the button that navigates to add new engine screen -->
+    <string name="search_engine_add_custom_search_engine_button_content_description">Chisó iin ka̱a̱ nánuku</string>
+    <!-- Title of the Edit search engine screen -->
+    <string name="search_engine_edit_custom_search_engine_title">Tee ka̱a̱ nánuku</string>
+    <!-- Text for the menu button to edit a search engine -->
+    <string name="search_engine_edit">Natee</string>
+    <!-- Text for the menu button to delete a search engine -->
+    <string name="search_engine_delete">Xita</string>
+
+    <!-- Label for the TextField in which user enters custom search engine name -->
+    <string name="search_add_custom_engine_name_label">Sivɨ</string>
+    <!-- Placeholder text shown in the Search Engine Name text field before a user enters text -->
+    <string name="search_add_custom_engine_name_hint_2">Sivɨ ka̱a̱ nánuku</string>
+    <!-- The text for the "Save" button for saving a custom search engine -->
+    <string name="search_custom_engine_save_button">Chuva´a</string>
+
+    <!-- Text shown when a user leaves the name field empty -->
+    <string name="search_add_custom_engine_error_empty_name">Tee sivɨ ka̱a̱ nánuku</string>
+    <!-- Text shown when a user leaves the search string field empty -->
+    <string name="search_add_custom_engine_error_empty_search_string">Tee iin tu\'un nánuku</string>
+    <!-- Text shown when a user leaves out the required template string -->
+    <string name="search_add_custom_engine_error_missing_template">Kune´ya dee tu´un nánukunu íyo kua vají nuu ya´a</string>
+
+    <!-- Text shown when we aren't able to validate the custom search query. The first parameter is the url of the custom search engine -->
+    <string name="search_add_custom_engine_error_cannot_reach">Nkene error sa kivɨnu %s</string>
+    <!-- Text shown when a user creates a new search engine -->
+    <string name="search_add_custom_engine_success_message">Nsá´á %s</string>
+    <!-- Text shown when a user successfully edits a custom search engine -->
+    <string name="search_edit_custom_engine_success_message">Nchuva\'a %s</string>
+    <!-- Text shown when a user successfully deletes a custom search engine -->
+    <string name="search_delete_search_engine_success_message">Nxita %s</string>
+
+    <!-- Heading for the instructions to allow a permission -->
+    <string name="phone_feature_blocked_intro">Sa kuvi:</string>
+    <!-- First step for the allowing a permission -->
+    <string name="phone_feature_blocked_step_settings">1. Kua´an nuu ke´i Android</string>
+    <!-- Second step for the allowing a permission -->
+    <string name="phone_feature_blocked_step_permissions"><![CDATA[2. Kuaxin <b>Permisos</b>]]></string>
+    <!-- Third step for the allowing a permission (Fore example: Camera) -->
+    <string name="phone_feature_blocked_step_feature"><![CDATA[3. Sama <b>%1$s</b> a activado]]></string>
+
+    <!-- Label that indicates a site is using a secure connection -->
+    <string name="quick_settings_sheet_secure_connection_2">Conexión va´a</string>
+    <!-- Label that indicates a site is using a insecure connection -->
+    <string name="quick_settings_sheet_insecure_connection_2">Conexión ntu va´a</string>
+    <!-- Label to clear site data -->
+    <string name="clear_site_data">Sa noo cookies ji datos sitio</string>
+    <!-- Confirmation message for a dialog confirming if the user wants to delete all data for current site -->
+    <string name="confirm_clear_site_data"><![CDATA[¿A mana kuvinu xinonu kuaiyo daa cookies jíí datos sitio <b>%s</b>?]]></string>
+    <!-- Confirmation message for a dialog confirming if the user wants to delete all the permissions for all sites-->
+    <string name="confirm_clear_permissions_on_all_sites">¿A mana kuvinu xinonu kuaiyo daa permiso ntaka daa nuu?</string>
+    <!-- Confirmation message for a dialog confirming if the user wants to delete all the permissions for a site-->
+    <string name="confirm_clear_permissions_site">¿A mana kuvinu xinonu kuaiyo daa permiso nuu ya\'a?</string>
+    <!-- Confirmation message for a dialog confirming if the user wants to set default value a permission for a site-->
+    <string name="confirm_clear_permission_site">¿A mana kuvinu xinonu permiso ya\'a nu nuu ya\'a?</string>
+    <!-- label shown when there are not site exceptions to show in the site exception settings -->
+    <string name="no_site_exceptions">Sin excepciones de sitio</string>
+    <!-- Bookmark deletion confirmation -->
+    <string name="bookmark_deletion_confirmation">¿A mana kuvinu xitanu a ta\'a ininu?</string>
+    <!-- Browser menu button that adds a shortcut to the home fragment -->
+    <string name="browser_menu_add_to_shortcuts">Tee daa acceso ñama</string>
+    <!-- Browser menu button that removes a shortcut from the home fragment -->
+    <string name="browser_menu_remove_from_shortcuts">Xita da atajos</string>
+    <!-- text shown before the issuer name to indicate who its verified by, parameter is the name of
+     the certificate authority that verified the ticket-->
+    <string name="certificate_info_verified_by">Nne´ya: %1$s</string>
+    <!-- Login overflow menu delete button -->
+    <string name="login_menu_delete_button">Xita</string>
+    <!-- Login overflow menu edit button -->
+    <string name="login_menu_edit_button">Natee</string>
+    <!-- Message in delete confirmation dialog for password -->
+    <string name="login_deletion_confirmation_2">¿A mana kuvinu xitanu contraseña ya\'a?</string>
+    <!-- Positive action of a dialog asking to delete  -->
+    <string name="dialog_delete_positive">Xita</string>
+
+    <!-- Negative action of a dialog asking to delete login -->
+    <string name="dialog_delete_negative">Nkuvi-ka</string>
+    <!--  The saved password options menu description. -->
+    <string name="login_options_menu_2">Kaji daa contraseñas</string>
+    <!--  The button description to save changes to an edited password. -->
+    <string name="save_changes_to_login_2">Chuva´a daa nsama</string>
+    <!--  The page title for editing a saved password. -->
+    <string name="edit_2">Natee contraseña</string>
+    <!--  The page title for adding new password. -->
+    <string name="add_login_2">Tee contraseña</string>
+    <!--  Error text displayed underneath the password field when it is in an error case. -->
+    <string name="saved_login_password_required_2">Chu\'un contraseña</string>
+    <!--  The error message in add login view when username field is blank. -->
+    <string name="saved_login_username_required_2">Tee sivɨ ñivɨ</string>
+    <!--  The error message in add login view when hostname field is blank. -->
+    <string name="saved_login_hostname_required" tools:ignore="UnusedResources">Jiniñu\'u sivɨ servidor</string>
+    <!--  The error message in add login view when hostname field is blank. -->
+    <string name="saved_login_hostname_required_2" tools:ignore="UnusedResources">Chu\'un iin nuu web</string>
+    <!-- Voice search button content description  -->
+    <string name="voice_search_content_description">Nánuku jíí nasun yu\'unu</string>
+    <!-- Voice search prompt description displayed after the user presses the voice search button -->
+    <string name="voice_search_explainer">Ka´a ntañu´u</string>
+    <!--  The error message in edit login view when a duplicate username exists. -->
+    <string name="saved_login_duplicate">A íyo iin nuu kaji\'e sesión jíí sivɨ tajinu</string>
+    <!-- This is the hint text that is shown inline on the hostname field of the create new login page. 'https://www.example.com' intentionally hardcoded here -->
+    <string name="add_login_hostname_hint_text">https://www.example.com</string>
+
+    <!-- This is an error message shown below the hostname field of the add login page when a hostname does not contain http or https. -->
+    <string name="add_login_hostname_invalid_text_3">Nuu web nejika kumi &quot;https://&quot; o &quot;http://&quot;</string>
+    <!-- This is an error message shown below the hostname field of the add login page when a hostname is invalid. -->
+    <string name="add_login_hostname_invalid_text_2">Jiniñu\'u sivɨ servidor vatu</string>
+
+    <!-- Synced Tabs -->
+    <!-- Text displayed to ask user to connect another device as no devices found with account -->
+    <string name="synced_tabs_connect_another_device">Chu´un inka ka̱a̱</string>
+    <!-- Text displayed asking user to re-authenticate -->
+    <string name="synced_tabs_reauth">Nei koo ininu, sá\'á tuku.</string>
+    <!-- Text displayed when user has disabled tab syncing in Firefox Sync Account -->
+    <string name="synced_tabs_enable_tab_syncing">Kua\'a sa´a sincronización da pestañas.</string>
+    <!-- Text displayed when user has no tabs that have been synced -->
+    <string name="synced_tabs_no_tabs">Ntu kuminu ni\'in pestaña nune jíí Firefox nu da inka ka̱a̱ noo\'o.</string>
+    <!-- Text displayed in the synced tabs screen when a user is not signed in to Firefox Sync describing Synced Tabs -->
+    <string name="synced_tabs_sign_in_message">Kune´ya iin lista da pestañas da inka dispositivos.</string>
+    <!-- Text displayed on a button in the synced tabs screen to link users to sign in when a user is not signed in to Firefox Sync -->
+    <string name="synced_tabs_sign_in_button">Kajie\'e sesión sa kuvi sa sincronizar</string>
+    <!-- The text displayed when a synced device has no tabs to show in the list of Synced Tabs. -->
+    <string name="synced_tabs_no_open_tabs">Ntu nune pestañas</string>
+
+    <!-- Content description for expanding a group of synced tabs. -->
+    <string name="synced_tabs_expand_group">Sá´á ka\'nu sincronización pestañas.</string>
+
+    <!-- Confirmation dialog button text when top sites limit is reached. -->
+    <string name="top_sites_max_limit_confirmation_button">Kuvi, kuka\'nu inini</string>
+    <!-- Label for the preference to show the shortcuts for the most visited top sites on the homepage -->
+    <string name="top_sites_toggle_top_recent_sites_4">Da acceso ñama</string>
+    <!-- Title text displayed in the rename top site dialog. -->
+    <string name="top_sites_rename_dialog_title">Sivɨ</string>
+    <!-- Hint for renaming title of a shortcut -->
+    <string name="shortcut_name_hint">Sivɨ acceso ñama</string>
+    <!-- Button caption to confirm the renaming of the top site. -->
+    <string name="top_sites_rename_dialog_ok">Kuvi</string>
+    <!-- Dialog button text for canceling the rename top site prompt. -->
+    <string name="top_sites_rename_dialog_cancel">Nkuvi-ka</string>
+    <!-- Text for the menu button to open the homepage settings. -->
+    <string name="top_sites_menu_settings">Ke´i</string>
+    <!-- Text for the menu button to navigate to sponsors and privacy support articles. '&amp;' is replaced with the ampersand symbol: & -->
+    <string name="top_sites_menu_sponsor_privacy">Patrocinadores da nuu\'u ji privacidad noo\'o</string>
+    <!-- Label text displayed for a sponsored top site. -->
+    <string name="top_sites_sponsored_label">Patrocinado</string>
+
+    <!-- Inactive tabs in the tabs tray -->
+    <!-- Title text displayed in the tabs tray when a tab has been unused for 14 days. -->
+    <string name="inactive_tabs_title">Pestañas ntu satiñu</string>
+    <!-- Content description for closing all inactive tabs -->
+    <string name="inactive_tabs_delete_all">Nakasɨ kuaiyo da pestañas</string>
+
+    <!-- Content description for expanding the inactive tabs section. -->
+    <string name="inactive_tabs_expand_content_description">Sá´á ka\'nu daa pestañas inactivas</string>
+    <!-- Content description for collapsing the inactive tabs section. -->
+    <string name="inactive_tabs_collapse_content_description">Nakasɨ kuaiyo da pestañas ntu satiñu</string>
+
+    <!-- Inactive tabs auto-close message in the tabs tray -->
+    <!-- The header text of the auto-close message when the user is asked if they want to turn on the auto-closing of inactive tabs. -->
+    <string name="inactive_tabs_auto_close_message_header" tools:ignore="UnusedResources">¿Nakasɨ dee nña\'a iin yoo?</string>
+    <!-- A description below the header to notify the user what the inactive tabs auto-close feature is. -->
+    <string name="inactive_tabs_auto_close_message_description" tools:ignore="UnusedResources">Firefox kuvi nakasɨ pestañas de ntu sinenuma jee nña\'a iin yoo.</string>
+    <!-- A call to action below the description to allow the user to turn on the auto closing of inactive tabs. -->
+    <string name="inactive_tabs_auto_close_message_action" tools:ignore="UnusedResources">ACTIVAR CIERRE AUTOMÁTICO</string>
+    <!-- Text for the snackbar to confirm auto-close is enabled for inactive tabs -->
+    <string name="inactive_tabs_auto_close_message_snackbar">Cierre automático activado</string>
+
+    <!-- Awesome bar suggestion's headers -->
+    <!-- Search suggestions title for Firefox Suggest. -->
+    <string name="firefox_suggest_header">Firefox Suggest</string>
+    <!-- Title for search suggestions when Google is the default search suggestion engine. -->
+    <string name="google_search_engine_suggestion_header">Nnánuku Google</string>
+    <!-- Title for search suggestions when the default search suggestion engine is anything other than Google. The first parameter is default search engine name. -->
+    <string name="other_default_search_engine_suggestion_header">Nánuku jíí %s</string>
+
+    <!-- Content description for close button in collection placeholder. -->
+    <string name="remove_home_collection_placeholder_content_description">Xita</string>
+
+    <!-- Content description radio buttons with a link to more information -->
+    <string name="radio_preference_info_content_description">Kaxin sa kuninu detalles</string>
+
+    <!-- Content description for the action bar "up" button -->
+    <string name="action_bar_up_description" moz:removedIn="124" tools:ignore="UnusedResources">Kaka íchi sikɨ</string>
+
+    <!-- Content description for privacy content close button -->
+    <string name="privacy_content_close_button_content_description">Nakasɨ</string>
+
+    <!-- Pocket recommended stories -->
+    <!-- Header text for a section on the home screen. -->
+    <string name="pocket_stories_header_1">Daa tu\'un sá´á a kajie\'o kaninio</string>
+    <!-- Header text for a section on the home screen. -->
+    <string name="pocket_stories_categories_header">Daa tu\'un por tema</string>
+    <!-- Text of a button allowing users to access an external url for more Pocket recommendations. -->
+    <string name="pocket_stories_placeholder_text">Nani\'i ku\'eka</string>
+    <!-- Title of an app feature. Smaller than a heading. The first parameter is product name Pocket -->
+    <string name="pocket_stories_feature_title_2">Ya´a nsa´a %1$s</string>
+    <!-- Caption for describing a certain feature. The placeholder is for a clickable text (eg: Learn more) which will load an url in a new tab when clicked.  -->
+    <string name="pocket_stories_feature_caption">Ya\'a kuvi ñani Firefox. %s</string>
+    <!-- Clickable text for opening an external link for more information about Pocket. -->
+    <string name="pocket_stories_feature_learn_more">Ka´vi kue´eka</string>
+    <!-- Text indicating that the Pocket story that also displays this text is a sponsored story by other 3rd party entity. -->
+    <string name="pocket_stories_sponsor_indication">Patrocinado</string>
+
+    <!-- Snackbar message for enrolling in a Nimbus experiment from the secret settings when Studies preference is Off.-->
+    <string name="experiments_snackbar">Tee telemetría saa chu\'un datos.</string>
+    <!-- Snackbar button text to navigate to telemetry settings.-->
+    <string name="experiments_snackbar_button">Kua´an nuu da ke´i</string>
+
+    <!-- Text for learn more caption presenting a link with information about review quality. First parameter is for clickable text defined in review_quality_check_info_learn_more_link. -->
+    <string name="review_quality_check_info_learn_more">Ka´vi kue´eka jie´e %s.</string>
+    <!-- Text for title of settings section. -->
+    <string name="review_quality_check_settings_title">Ke´i</string>
+    <!-- Clickable text that links to review quality check recommended products support article. -->
+    <string name="review_quality_check_settings_recommended_products_learn_more" tools:ignore="UnusedResources">Ka´vi kue´eka</string>
+    <!-- Text for title of recommended product section. This is displayed above a product image, suggested as an alternative to the product reviewed. -->
+    <string name="review_quality_check_ad_title" tools:ignore="UnusedResources">Kue\'e a kuvi sa considerar</string>
+    <!-- Caption for recommended product section indicating this is an ad by Fakespot. First parameter is the Fakespot product name. -->
+    <string name="review_quality_check_ad_caption" tools:ignore="UnusedResources">Publicidad de %s</string>
+    <!-- Caption for review quality check panel. First parameter is for clickable text defined in review_quality_check_powered_by_link. -->
+    <string name="review_quality_check_powered_by_2">Verificador reseñas satiñu jíí %s</string>
+    <!-- Clickable text that links to Fakespot.com. First parameter is the Fakespot product name. In the phrase "Fakespot by Mozilla", "by" can be localized. Does not need to stay by. -->
+    <string name="review_quality_check_powered_by_link" tools:ignore="UnusedResources">%s de Mozilla</string>
+    <!-- Text for title of warning card informing the user that the current analysis is outdated. -->
+    <string name="review_quality_check_outdated_analysis_warning_title" tools:ignore="UnusedResources">A jíía información para comprobar</string>
+    <!-- Text for button from warning card informing the user that the current analysis is outdated. Clicking this should trigger the product's re-analysis. -->
+    <string name="review_quality_check_outdated_analysis_warning_action" tools:ignore="UnusedResources">Kune\'ya ntañu\'u</string>
+    <!-- Title for warning card informing the user that the current product does not have enough reviews for a review analysis. -->
+    <string name="review_quality_check_no_reviews_warning_title">Ntu íyo kue\'e reseñas</string>
+    <!-- Text for body of warning card informing the user that the current product does not have enough reviews for a review analysis. -->
+    <string name="review_quality_check_no_reviews_warning_body">Dee nkajie\'e kumi producto ya\'a kue\'e reseñas, kajie\'edani kune\'yadani calidad.</string>
+    <!-- Title for warning card informing the user that the current product is currently not available. -->
+    <string name="review_quality_check_product_availability_warning_title">Ntu íyo producto</string>
+    <!-- Text for the body of warning card informing the user that the current product is currently not available. -->
+    <string name="review_quality_check_product_availability_warning_body">Dee nnininu a producto ya\'a kajie\'e íyo disponible, kachi jee satiñudani saa kuvi saa verificar daa reseñas.</string>
+    <!-- Clickable text for warning card informing the user that the current product is currently not available. Clicking this should inform the server that the product is available. -->
+    <string name="review_quality_check_product_availability_warning_action_2">Informar que el producto está en stock</string>
+    <!-- Title for warning card informing the user that the current product's analysis is still processing. The parameter is the percentage progress (0-100%) of the analysis process (e.g. 56%). -->
+    <string name="review_quality_check_analysis_in_progress_warning_title_2">Verificando la calidad de la revisión (%s)</string>
+    <!-- Text for body of warning card informing the user that the current product's analysis is still processing. -->
+    <string name="review_quality_check_analysis_in_progress_warning_body">Ya\'a kuvi ku kuee 60 segundos.</string>
+    <!-- Title for info card displayed after the user reports a product is back in stock. -->
+    <string name="review_quality_check_analysis_requested_info_title">Kuta\'vidani a kachinu!</string>
+    <!-- Text for body of info card displayed after the user reports a product is back in stock. -->
+    <string name="review_quality_check_analysis_requested_info_body">Nejika kumidani reseña producto ya\'a de nña\'a 24 horas. Kune\'ya tuku de nnini.</string>
+    <!-- Title for info card displayed when the user review checker while on a product that Fakespot does not analyze (e.g. gift cards, music). -->
+    <string name="review_quality_check_not_analyzable_info_title">Ntu nkuvi sa comprobar da revisiones ya\'a</string>
+    <!-- Title for info card displayed when another user reported the displayed product is back in stock. -->
+    <string name="review_quality_check_analysis_requested_other_user_info_title" tools:ignore="UnusedResources">La información llegará pronto</string>
+    <!-- Text for body of info card displayed when another user reported the displayed product is back in stock. -->
+    <string name="review_quality_check_analysis_requested_other_user_info_body" tools:ignore="UnusedResources">Nejika kumidani reseña producto ya\'a de nña\'a 24 horas. Kune\'ya tuku de nnini.</string>
+    <!-- Title for info card displayed to the user when analysis finished updating. -->
+    <string name="review_quality_check_analysis_updated_confirmation_title" tools:ignore="UnusedResources">Análisis a íyo actualizado</string>
+    <!-- Text for the action button from info card displayed to the user when analysis finished updating. -->
+    <string name="review_quality_check_analysis_updated_confirmation_action" tools:ignore="UnusedResources">Kuka´nu inini</string>
+    <!-- Title for error card displayed to the user when an error occurred. -->
+    <string name="review_quality_check_generic_error_title">Ntu íyo información disponible ntañu\'u</string>
+    <!-- Text for body of error card displayed to the user when an error occurred. -->
+    <string name="review_quality_check_generic_error_body">Satiñudani sa kuvi nuvi tixin ya\'a. Kune\'ya tuku de nnini.</string>
+    <!-- Title for error card displayed to the user when the device is disconnected from the network. -->
+    <string name="review_quality_check_no_connection_title">Na íyo ka̱a̱ nántu´un ne jíka</string>
+    <!-- Text for body of error card displayed to the user when the device is disconnected from the network. -->
+    <string name="review_quality_check_no_connection_body">Kune\'ya conexión red jee nachu\'un tuku nuu ya\'a.</string>
+    <!-- Title for card displayed to the user for products whose reviews were not analyzed yet. -->
+    <string name="review_quality_check_no_analysis_title">Ntu íyo información jíí da revisiones ya\'a</string>
+    <!-- Text for the body of card displayed to the user for products whose reviews were not analyzed yet. -->
+    <string name="review_quality_check_no_analysis_body">Sa kunidani a da revisiones ya\'a íto vatu, kune\'ya da calidad revisiones. Iin nu nu 60 segundos.</string>
+    <!-- Text for button from body of card displayed to the user for products whose reviews were not analyzed yet. Clicking this should trigger a product analysis. -->
+    <string name="review_quality_check_no_analysis_link">Kune\'ya la calidad de la revisión</string>
+    <!-- Headline for review quality check contextual onboarding card. -->
+    <string name="review_quality_check_contextual_onboarding_title">Ni\'i da guía da nuu\'u a iyo confiable da reseñas da productos</string>
+    <!-- Paragraph presenting review quality check feature. First parameter is the Fakespot product name. Second parameter is for clickable text defined in review_quality_check_contextual_onboarding_learn_more_link. In the phrase "Fakespot by Mozilla", "by" can be localized. Does not need to stay by. -->
+    <string name="review_quality_check_contextual_onboarding_learn_more">Ya\'a ni\'i ka̱a̱ %1$s Mozilla, chineidani noo\'o nko reseñas sesgadas jíí da a ntu íyo vatu. Ka̱a̱ IA da nuu\'u ntaka íchi kajie\'e sá´á va\'a tiñu ya\'a jee kumiji noo\'o sa ke\'enu. %2$s</string>
+    <!-- Clickable text from the contextual onboarding card that links to review quality check support article. -->
+    <string name="review_quality_check_contextual_onboarding_learn_more_link">Ka´vi kue´eka</string>
+    <!-- Caption text to be displayed in review quality check contextual onboarding card above the opt-in button. First parameter is Firefox app name, third parameter is the Fakespot product name. Second & fourth are for clickable texts defined in review_quality_check_contextual_onboarding_privacy_policy_3 and review_quality_check_contextual_onboarding_terms_use. -->
+    <string name="review_quality_check_contextual_onboarding_caption_3" moz:RemovedIn="124" tools:ignore="UnusedResources">Sa kajinu “Kuvi, ni\'inima”, jia\'nu %2$s jíí %1$s jíí da %4$s jíí %3$s.</string>
+    <!-- Caption text to be displayed in review quality check contextual onboarding card above the opt-in button. First parameter is Firefox app name, third parameter is the Fakespot product name. Second & fourth are for clickable texts defined in review_quality_check_contextual_onboarding_privacy_policy_3 and review_quality_check_contextual_onboarding_terms_use. -->
+    <string name="review_quality_check_contextual_onboarding_caption_4">Sa kajinu “Kuvi, ni\'inima”, jia\'nu %2$s jíí %1$s jíí da %4$s jíí %3$s.</string>
+    <!-- Clickable text from the review quality check contextual onboarding card that links to Fakespot privacy notice. -->
+    <string name="review_quality_check_contextual_onboarding_privacy_policy_3">Tu´un xitu a kumiji noo´o</string>
+    <!-- Clickable text from the review quality check contextual onboarding card that links to Fakespot terms of use. -->
+    <string name="review_quality_check_contextual_onboarding_terms_use">Tutu kachi naja ni\'io ya\'a</string>
+    <!-- Text for opt-in button from the review quality check contextual onboarding card. -->
+    <string name="review_quality_check_contextual_onboarding_primary_button_text">Sí, probarlo</string>
+    <!-- Text for opt-out button from the review quality check contextual onboarding card. -->
+    <string name="review_quality_check_contextual_onboarding_secondary_button_text">Nkuvi ntañu´u</string>
+    <!-- Text for the first CFR presenting the review quality check feature. -->
+    <string name="review_quality_check_first_cfr_message">Kune\'ya de kuvi kanijianu jííe da reseñas producto ya\'a — je sa kuvi ke\'enuma.</string>
+    <!-- Text displayed in the first CFR presenting the review quality check feature that opens the review checker when clicked. -->
+    <string name="review_quality_check_first_cfr_action" tools:ignore="UnusedResources">Ni\'i verificador da reseñas</string>
+    <!-- Text for the second CFR presenting the review quality check feature. -->
+    <string name="review_quality_check_second_cfr_message">¿A kanijianu da revisiones ya\'a? Kune\'ya ntañu\'u sa kuninu iin calificación ajustada.</string>
+    <!-- Text displayed in the second CFR presenting the review quality check feature that opens the review checker when clicked. -->
+    <string name="review_quality_check_second_cfr_action" tools:ignore="UnusedResources">Síne verificador reseñas</string>
+    <!-- Flag showing that the review quality check feature is work in progress. -->
+    <string name="review_quality_check_beta_flag">Beta</string>
+    <!-- Content description (not visible, for screen readers etc.) for opening browser menu button to open review quality check bottom sheet. -->
+    <string name="review_quality_check_open_handle_content_description">Síne verificador reseñas</string>
+    <!-- Content description (not visible, for screen readers etc.) for closing browser menu button to open review quality check bottom sheet. -->
+    <string name="review_quality_check_close_handle_content_description">Nakasɨ verificador reseñas</string>
+    <!-- Content description (not visible, for screen readers etc.) for review quality check star rating. First parameter is the number of stars (1-5) representing the rating. -->
+    <string name="review_quality_check_star_rating_content_description">%1$s de 5 tiun</string>
+    <!-- Text for minimize button from highlights card. When clicked the highlights card should reduce its size. -->
+    <string name="review_quality_check_highlights_show_less">Kune\'ya mati\'in</string>
+    <!-- Text for maximize button from highlights card. When clicked the highlights card should expand to its full size. -->
+    <string name="review_quality_check_highlights_show_more">Xituvi kue\'eka</string>
+    <!-- Text for highlights card quality category header. Reviews shown under this header should refer the product's quality. -->
+    <string name="review_quality_check_highlights_type_quality">Calidad</string>
+    <!-- Text for highlights card price category header. Reviews shown under this header should refer the product's price. -->
+    <string name="review_quality_check_highlights_type_price">Naja yɨ\'ɨ ya\'vi</string>
+
+    <!-- Text for highlights card shipping category header. Reviews shown under this header should refer the product's shipping. -->
+    <string name="review_quality_check_highlights_type_shipping">A xíko</string>
+    <!-- Text for highlights card packaging and appearance category header. Reviews shown under this header should refer the product's packaging and appearance. -->
+    <string name="review_quality_check_highlights_type_packaging_appearance">Embalaje y apariencia</string>
+    <!-- Text for highlights card competitiveness category header. Reviews shown under this header should refer the product's competitiveness. -->
+    <string name="review_quality_check_highlights_type_competitiveness">Competitividad</string>
+    <!-- Text that is surrounded by quotes. The parameter is the actual text that is in quotes. An example of that text could be: Excellent craftsmanship, and that is displayed as “Excellent craftsmanship”. The text comes from a buyer's review that the feature is highlighting"   -->
+    <string name="surrounded_with_quotes">“%s”</string>
+
+    <!-- Accessibility services actions labels. These will be appended to accessibility actions like "Double tap to.." but not by or applications but by services like Talkback. -->
+    <!-- Action label for elements that can be collapsed if interacting with them. Talkback will append this to say "Double tap to collapse". -->
+    <string name="a11y_action_label_collapse">contraer</string>
+    <!-- Current state for elements that can be collapsed if interacting with them. Talkback will dictate this after a state change. -->
+    <string name="a11y_state_label_collapsed">colapsado</string>
+    <!-- Action label for elements that can be expanded if interacting with them. Talkback will append this to say "Double tap to expand". -->
+    <string name="a11y_action_label_expand">Sá´á ka´nu</string>
+    <!-- Current state for elements that can be expanded if interacting with them. Talkback will dictate this after a state change. -->
+    <string name="a11y_state_label_expanded">expandido</string>
+    <!-- Action label for links to a website containing documentation about a wallpaper collection. Talkback will append this to say "Double tap to open link to learn more about this collection". -->
+    <string name="a11y_action_label_wallpaper_collection_learn_more">Síne enlace sa kuninuka jiee colección ya\'a</string>
+    <!-- Action label for links that point to an article. Talkback will append this to say "Double tap to read the article". -->
+    <string name="a11y_action_label_read_article">ka\'vi articulo</string>
+    <!-- Action label for links to the Firefox Pocket website. Talkback will append this to say "Double tap to open link to learn more". -->
+    <string name="a11y_action_label_pocket_learn_more">Síne enlace sa kuninuka</string>
+    <!-- Content description for headings announced by accessibility service. The first parameter is the text of the heading. Talkback will announce the first parameter and then speak the word "Heading" indicating to the user that this text is a heading for a section. -->
+    <string name="a11y_heading">%s, Xini</string>
+    <!-- Title for dialog displayed when trying to access links present in a text. -->
+    <string name="a11y_links_title">Enlaces</string>
+
+    <!-- Additional content description for text bodies that contain urls. -->
+    <string name="a11y_links_available">Enlaces íyo</string>
+
+    <!-- Translations feature-->
+
+
+    <!-- Translation request dialog -->
+    <!-- Title for the translation dialog that allows a user to translate the webpage. -->
+    <string name="translations_bottom_sheet_title">Sá´á traducir página ya´a</string>
+    <!-- Text that links to additional information about the Firefox translations feature. -->
+    <string name="translations_bottom_sheet_info_message_learn_more">Ka´vi kue´eka</string>
+    <!-- Label for the dropdown to select which language to translate from on the translations dialog. Usually the translate from language selected will be the same as the page language. -->
+    <string name="translations_bottom_sheet_translate_from">Traducir del</string>
+    <!-- Button text on the translations dialog to dismiss the dialog and return to the browser. -->
+    <string name="translations_bottom_sheet_negative_button">Nkuvi ntañu´u</string>
+    <!-- Button text on the translations dialog to restore the translated website back to the original untranslated version. -->
+    <string name="translations_bottom_sheet_negative_button_restore">Kune\'ya original</string>
+    <!-- Button text on the translations dialog when a translation error appears, used to dismiss the dialog and return to the browser. -->
+    <string name="translations_bottom_sheet_negative_button_error">Nkuvi</string>
+    <!-- Button text on the translations dialog when a translation error appears. -->
+    <string name="translations_bottom_sheet_positive_button_error">Nasá´á tuku</string>
+    <!-- Default dropdown option when initially selecting a language from the translations dialog language selection dropdown. -->
+    <string name="translations_bottom_sheet_default_dropdown_selection">Sama tu´un</string>
+    <!-- Button text on the warning card when a language is not supported. The link will take the user to a page to a support page about translations. -->
+    <string name="translation_error_language_not_supported_learn_more" moz:removedIn="126" tools:ignore="UnusedResources">Ka´vi kue´eka</string>
+
+
+    <!-- Button text for the button that will take the user to the download languages dialog. On the download languages dialog, the user can manage which languages they would like to download for translations. -->
+    <string name="translation_settings_download_language">Xinuu daa tu\'un</string>
+
+    <!-- Content description (not visible, for screen readers etc.): For a never-translated site list item that is selected.
+             The first parameter is web site url (for example:"wikipedia.com") -->
+    <string name="never_translate_site_item_list_content_description_preference">Xita %1$s</string>
+    <!-- The Delete site dialogue title will appear when the user clicks on a list item.
+             The first parameter is web site url (for example:"wikipedia.com") -->
+    <string name="never_translate_site_dialog_title_preference">Xita %1$s?</string>
+    <!-- The Delete site dialogue positive button will appear when the user clicks on a list item. The site will be deleted. -->
+    <string name="never_translate_site_dialog_confirm_delete_preference">Xita</string>
+    <!-- The Delete site dialogue negative button will appear when the user clicks on a list item. The dialog will be dismissed. -->
+    <string name="never_translate_site_dialog_cancel_preference">Nkuvi-ka</string>
+
+    <!-- Download languages preference screen -->
+    <!-- Title of the download languages preference screen toolbar.-->
+    <string name="download_languages_toolbar_title_preference">Xinuu daa tu\'un</string>
+    <!-- Clickable text from the screen header that links to a website. -->
+    <string name="download_languages_header_learn_more_preference">Ka´vi kue´eka</string>
+    <!-- The subhead of the download language preference screen will appear above the pivot language. -->
+    <string name="download_languages_available_languages_preference">Daa tu´un íyo</string>
+    <!-- Text that will appear beside a core or pivot language package name to show that the language is necessary for the translation feature to function. -->
+    <string name="download_languages_default_system_language_require_preference">Jiniñu\'u</string>
+    <!-- A text for download language preference item.
+    The first parameter is the language name, for example, "Spanish".
+    The second parameter is the language file size, for example, "(3.91 KB)" or, if the language package name is a pivot language, "(required)". -->
+    <string name="download_languages_language_item_preference">%1$s (%2$s)</string>
+    <!-- The subhead of the download language preference screen will appear above the items that were not downloaded. -->
+    <string name="download_language_header_preference">Xinuu daa tu\'un</string>
+    <!-- All languages list item. When the user presses this item, they can download or delete all languages. -->
+    <string name="download_language_all_languages_item_preference">Kuaiyo daa tu\'un</string>
+    <!-- Content description (not visible, for screen readers etc.): For a language list item that was downloaded, the user can now delete it. -->
+    <string name="download_languages_item_content_description_downloaded_state">Xita</string>
+
+    <!-- Content description (not visible, for screen readers etc.): For a language list item that was not downloaded. -->
+    <string name="download_languages_item_content_description_not_downloaded_state">Xinuu</string>
+
+    <!-- Content description (not visible, for screen readers etc.): For a language list item that is selected. -->
+    <string name="download_languages_item_content_description_selected_state">Nkaji</string>
+
+    <!-- Title for the dialog used by the translations feature to confirm deleting a language.
+    The dialog will be presented when the user requests deletion of a language.
+    The first parameter is the name of the language, for example, "Spanish" and the second parameter is the size in kilobytes or megabytes of the language file. -->
+    <string name="delete_language_file_dialog_title">¿Sna %1$s (%2$s)?</string>
+    <!-- Title for the dialog used by the translations feature to confirm deleting all languages file.
+    The dialog will be presented when the user requests deletion of all languages file.
+    The first parameter is the size in kilobytes or megabytes of the language file. -->
+    <string name="delete_language_all_languages_file_dialog_title">Xita kuaíyo daa tu\'un (%1$s)?</string>
+    <!-- Button text on the dialog used by the translations feature to confirm deleting a language. -->
+    <string name="delete_language_file_dialog_positive_button_text">Xita</string>
+    <!-- Button text on the dialog used by the translations feature to cancel deleting a language. -->
+    <string name="delete_language_file_dialog_negative_button_text">Nkuvi-ka</string>
+
+    <!-- Button text on the data saving mode warning dialog used by the translations feature to allow users to confirm they wish to continue and download the language file. -->
+    <string name="download_language_file_dialog_positive_button_text">Xinuu</string>
+    <!-- Button text on the data saving mode warning dialog used by the translations feature to allow users to cancel the action and not perform a download of the language file. -->
+    <string name="download_language_file_dialog_negative_button_text">Nkuvi-ka</string>
+
+    <!-- Content description (not visible, for screen readers etc.): Navigate back within the debug drawer. -->
+    <string name="debug_drawer_back_button_content_description">Niko yata</string>
+
+    <!-- The active tab count category in the tab count section in Tab Tools. -->
+    <string name="debug_drawer_tab_tools_tab_count_normal" moz:removedIn="127" tools:ignore="UnusedResources">Activar</string>
+    <!-- The active tab count category in the tab count section in Tab Tools. -->
+    <string name="debug_drawer_tab_tools_tab_count_active">Activar</string>
+    <!-- The inactive tab count category in the tab count section in Tab Tools. -->
+    <string name="debug_drawer_tab_tools_tab_count_inactive">Inactiva</string>
+    <!-- The private tab count category in the tab count section in Tab Tools. -->
+    <string name="debug_drawer_tab_tools_tab_count_private">Yɨ´ɨ yu´u</string>
+    <!-- The total tab count category in the tab count section in Tab Tools. -->
+    <string name="debug_drawer_tab_tools_tab_count_total">Total</string>
+    <!-- The title of the tab creation tool section in Tab Tools. -->
+    <string name="debug_drawer_tab_tools_tab_creation_tool_title">Ka̱a̱ sá´á pestañas</string>
+    <!-- The button text to add tabs to the active tab group in the tab creation tool. -->
+    <string name="debug_drawer_tab_tools_tab_creation_tool_button_text_active">Tee daa pestañas íyo activa</string>
+    <!-- The button text to add tabs to the private tab group in the tab creation tool. -->
+    <string name="debug_drawer_tab_tools_tab_creation_tool_button_text_private">Tee nu pestaña yu´u</string>
+
+    <!-- Micro survey -->
+
+    <!-- The continue button label -->
+    <string name="micro_survey_continue_button_label" tools:ignore="UnusedResources">Kɨ´ɨ</string>
+    <!-- The privacy notice link -->
+    <string name="micro_survey_privacy_notice">Tu´un xitu a nejika kumio</string>
+    <!-- The close button label text -->
+    <string name="micro_survey_close_button_label" tools:ignore="UnusedResources">Nakasɨ</string>
+
+    <!-- Option for likert scale -->
+    <string name="likert_scale_option_3" tools:ignore="UnusedResources">Neutral</string>
+
+    <!-- Content description for "X" button that is closing microsurvey. -->
+    <string name="microsurvey_close_button_content_description" tools:ignore="UnusedResources">Nakasɨ</string>
+
+    <!-- Debug drawer logins -->
+    <!-- The title of the Logins feature in the Debug Drawer. -->
+    <string name="debug_drawer_logins_title">Nuu kajie´e sesión</string>
+    </resources>
diff --git a/mobile/android/fenix/app/src/main/res/values-rm/strings.xml b/mobile/android/fenix/app/src/main/res/values-rm/strings.xml
index 81f487ed48bdf4923bf7705e8f8947e7fc004dc6..d29eb59be1ffb39014f6d5465cda117b06850227 100644
--- a/mobile/android/fenix/app/src/main/res/values-rm/strings.xml
+++ b/mobile/android/fenix/app/src/main/res/values-rm/strings.xml
@@ -582,7 +582,9 @@
     <!-- Preference category for account information -->
     <string name="preferences_category_account">Conto</string>
     <!-- Preference for changing where the toolbar is positioned -->
-    <string name="preferences_toolbar">Travs d\'utensils</string>
+    <string name="preferences_toolbar" moz:removedIn="129" tools:ignore="UnusedResources">Travs d\'utensils</string>
+    <!-- Preference for changing where the AddressBar is positioned -->
+    <string name="preferences_toolbar_2">Posiziun da la trav d’adressas</string>
     <!-- Preference for changing default theme to dark or light mode -->
     <string name="preferences_theme">Design</string>
     <!-- Preference for customizing the home screen -->
@@ -888,10 +890,15 @@
     <!-- Preference for using the dynamic toolbar -->
     <string name="preference_gestures_dynamic_toolbar">Scrollar per zuppentar la trav d\'utensils</string>
     <!-- Preference for switching tabs by swiping horizontally on the toolbar -->
-    <string name="preference_gestures_swipe_toolbar_switch_tabs">Stritgar da la vart la trav d\'utensils per midar tab</string>
+    <string name="preference_gestures_swipe_toolbar_switch_tabs" moz:removedIn="129" tools:ignore="UnusedResources">Stritgar da la vart la trav d\'utensils per midar tab</string>
     <!-- Preference for showing the opened tabs by swiping up on the toolbar-->
     <string name="preference_gestures_swipe_toolbar_show_tabs">Stritgar ensi la trav d\'utensils per avrir tabs</string>
 
+    <!-- Preference for using the dynamic toolbars -->
+    <string name="preference_gestures_dynamic_toolbar_2">Defilar per zuppentar la trav d’adressas e la trav d’utensils</string>
+    <!-- Preference for switching tabs by swiping horizontally on the addressbar -->
+    <string name="preference_gestures_swipe_toolbar_switch_tabs_2">Stritgar da la vart la trav d’adressas per midar tabs</string>
+
     <!-- Library -->
     <!-- Option in Library to open Downloads page -->
     <string name="library_downloads">Telechargiadas</string>
@@ -2589,6 +2596,15 @@
     <!-- Content description (not visible, for screen readers etc.): For a language list item that is selected. -->
     <string name="download_languages_item_content_description_selected_state" moz:removedIn="127" tools:ignore="UnusedResources">Selecziunà</string>
 
+    <!-- The title of the warning card informs the user that an error has occurred when fetching the list of languages. -->
+    <string name="download_languages_fetch_error_warning_text">Betg reussì da chargiar las linguas. Emprova pli tard anc ina giada.</string>
+    <!-- The title of the warning card informs the user that an error has occurred at downloading a language.
+      The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_error_warning_text"><![CDATA[Impussibel da telechargiar <b>%1$s</b>. Emprova per plaschair anc ina giada.]]></string>
+    <!-- The title of the warning card informs the user that an error has occurred at deleting a language.
+          The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_delete_error_warning_text"><![CDATA[Impussibel da stizzar <b>%1$s</b>. Emprova per plaschair anc ina giada.]]></string>
+
     <!-- Title for the dialog used by the translations feature to confirm deleting a language.
     The dialog will be presented when the user requests deletion of a language.
     The first parameter is the name of the language, for example, "Spanish" and the second parameter is the size in kilobytes or megabytes of the language file. -->
@@ -2614,7 +2630,7 @@
     <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation. -->
     <string name="download_language_file_dialog_message_all_languages">Nus translatain parzialmain linguas en tes cache per che las translaziuns restian privatas.</string>
     <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation without mentioning the cache. -->
-    <string name="download_language_file_dialog_message_all_languages_no_cache">Nus telechargiain parzialmain linguas per che las translaziuns restian privatas.</string>
+    <string name="download_language_file_dialog_message_all_languages_no_cache" moz:removedIn="129" tools:ignore="UnusedResources">Nus telechargiain parzialmain linguas per che las translaziuns restian privatas.</string>
     <!-- Checkbox label text on the data saving mode warning dialog used by the translations feature. This checkbox allows users to ignore the data usage warnings. -->
     <string name="download_language_file_dialog_checkbox_text">Adina telechargiar en il modus per spargnar datas</string>
     <!-- Button text on the data saving mode warning dialog used by the translations feature to allow users to confirm they wish to continue and download the language file. -->
diff --git a/mobile/android/fenix/app/src/main/res/values-ug/strings.xml b/mobile/android/fenix/app/src/main/res/values-ug/strings.xml
index fe4750fb18d1cf8de90b1f7362ca22c25dfbe680..f772481181860a2ac81c8bb63a9f15a3ecb82b6f 100644
--- a/mobile/android/fenix/app/src/main/res/values-ug/strings.xml
+++ b/mobile/android/fenix/app/src/main/res/values-ug/strings.xml
@@ -2598,6 +2598,15 @@
     <!-- Content description (not visible, for screen readers etc.): For a language list item that is selected. -->
     <string name="download_languages_item_content_description_selected_state" moz:removedIn="127" tools:ignore="UnusedResources">تاللانغان</string>
 
+    <!-- The title of the warning card informs the user that an error has occurred when fetching the list of languages. -->
+    <string name="download_languages_fetch_error_warning_text">تىلنى يۈكلىيەلمەيدۇ. كېيىن قايتا تەكشۈرۈڭ.</string>
+    <!-- The title of the warning card informs the user that an error has occurred at downloading a language.
+      The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_error_warning_text"><![CDATA[<b>%1$s</b> نى چۈشۈرەلمىدى. قايتا سىناڭ.]]></string>
+    <!-- The title of the warning card informs the user that an error has occurred at deleting a language.
+          The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_delete_error_warning_text"><![CDATA[<b>%1$s</b> نى ئۆچۈرەلمىدى. قايتا سىناڭ.]]></string>
+
     <!-- Title for the dialog used by the translations feature to confirm deleting a language.
     The dialog will be presented when the user requests deletion of a language.
     The first parameter is the name of the language, for example, "Spanish" and the second parameter is the size in kilobytes or megabytes of the language file. -->
@@ -2623,7 +2632,7 @@
     <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation. -->
     <string name="download_language_file_dialog_message_all_languages">تەرجىمىنىڭ شەخسىيىتىنى قوغداش ئۈچۈن، تىل قىسمەن ھالدا غەملىكىڭىزگە چۈشۈرۈلىدۇ.</string>
     <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation without mentioning the cache. -->
-    <string name="download_language_file_dialog_message_all_languages_no_cache">تەرجىمىنىڭ شەخسىيىتىنى قوغداش ئۈچۈن تىلدىن قىسمەن چۈشۈردۇق.</string>
+    <string name="download_language_file_dialog_message_all_languages_no_cache" moz:removedIn="129" tools:ignore="UnusedResources">تەرجىمىنىڭ شەخسىيىتىنى قوغداش ئۈچۈن تىلدىن قىسمەن چۈشۈردۇق.</string>
     <!-- Checkbox label text on the data saving mode warning dialog used by the translations feature. This checkbox allows users to ignore the data usage warnings. -->
     <string name="download_language_file_dialog_checkbox_text">سانلىق مەلۇمات تېجەش ھالىتىدە ھەمىشە چۈشۈرىدۇ</string>
     <!-- Button text on the data saving mode warning dialog used by the translations feature to allow users to confirm they wish to continue and download the language file. -->
diff --git a/mobile/android/fenix/app/src/main/res/values-zh-rCN/strings.xml b/mobile/android/fenix/app/src/main/res/values-zh-rCN/strings.xml
index 67ed7bf7af2cbbe739d599e1caca272b2efb47c5..71071e1482ca5e41106a4583f889658c194ea68b 100644
--- a/mobile/android/fenix/app/src/main/res/values-zh-rCN/strings.xml
+++ b/mobile/android/fenix/app/src/main/res/values-zh-rCN/strings.xml
@@ -2663,6 +2663,15 @@
     <!-- Content description (not visible, for screen readers etc.): For a language list item that is selected. -->
     <string name="download_languages_item_content_description_selected_state" moz:removedIn="127" tools:ignore="UnusedResources">已选中</string>
 
+    <!-- The title of the warning card informs the user that an error has occurred when fetching the list of languages. -->
+    <string name="download_languages_fetch_error_warning_text">无法加载语言包,请稍后再试。</string>
+    <!-- The title of the warning card informs the user that an error has occurred at downloading a language.
+      The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_error_warning_text"><![CDATA[无法下载<b>%1$s</b>,请重试。]]></string>
+    <!-- The title of the warning card informs the user that an error has occurred at deleting a language.
+          The first parameter is the language name, for example, "Spanish". -->
+    <string name="download_languages_delete_error_warning_text"><![CDATA[无法删除<b>%1$s</b>,请重试。]]></string>
+
     <!-- Title for the dialog used by the translations feature to confirm deleting a language.
     The dialog will be presented when the user requests deletion of a language.
     The first parameter is the name of the language, for example, "Spanish" and the second parameter is the size in kilobytes or megabytes of the language file. -->
@@ -2688,7 +2697,7 @@
     <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation. -->
     <string name="download_language_file_dialog_message_all_languages">我们会下载并缓存语言包中部分内容,以保护翻译过程私密。</string>
     <!-- Additional information for the data saving mode warning dialog used by the translations feature. This text explains the reason a download is required for a translation without mentioning the cache. -->
-    <string name="download_language_file_dialog_message_all_languages_no_cache">我们会下载语言包中部分内容,以保护翻译过程私密。</string>
+    <string name="download_language_file_dialog_message_all_languages_no_cache" moz:removedIn="129" tools:ignore="UnusedResources">我们会下载语言包中部分内容,以保护翻译过程私密。</string>
     <!-- Checkbox label text on the data saving mode warning dialog used by the translations feature. This checkbox allows users to ignore the data usage warnings. -->
     <string name="download_language_file_dialog_checkbox_text">始终允许在流量节省模式开启时下载</string>
     <!-- Button text on the data saving mode warning dialog used by the translations feature to allow users to confirm they wish to continue and download the language file. -->
diff --git a/mobile/android/fenix/app/src/main/res/values/static_strings.xml b/mobile/android/fenix/app/src/main/res/values/static_strings.xml
index 85af5386bdecdd392b1564ec63524eb4f00b8d5b..7f210f6774b8438ce93fcf61d8c76653e974e04b 100644
--- a/mobile/android/fenix/app/src/main/res/values/static_strings.xml
+++ b/mobile/android/fenix/app/src/main/res/values/static_strings.xml
@@ -78,6 +78,8 @@
     <string name="preferences_debug_settings_compose_top_sites" translatable="false">Enable Compose Top Sites</string>
     <!-- Label for enabling the menu redesign -->
     <string name="preferences_debug_settings_menu_redesign" translatable="false">Enable Menu Redesign</string>
+    <!-- Label for enabling Firefox Suggest -->
+    <string name="preferences_debug_settings_fxsuggest" translatable="false">Enable Firefox Suggest</string>
     <!-- Label for enabling Toolbar Redesign incomplete portions -->
     <string name="preferences_debug_settings_toolbar_redesign" translatable="false">Enable Toolbar Redesign incomplete portions</string>
     <!-- Label for enabling Felt Privacy -->
diff --git a/mobile/android/fenix/app/src/main/res/xml/secret_settings_preferences.xml b/mobile/android/fenix/app/src/main/res/xml/secret_settings_preferences.xml
index 376f5bd35afb8b37a93e505a03d27d19725c4ccd..f9b019521d1e1cb9d034e509952df92c0caacf95 100644
--- a/mobile/android/fenix/app/src/main/res/xml/secret_settings_preferences.xml
+++ b/mobile/android/fenix/app/src/main/res/xml/secret_settings_preferences.xml
@@ -35,6 +35,11 @@
         android:key="@string/pref_key_toolbar_use_redesign_incomplete"
         android:title="@string/preferences_debug_settings_toolbar_redesign"
         app:iconSpaceReserved="false" />
+    <SwitchPreference
+        android:defaultValue="false"
+        android:key="@string/pref_key_enable_fxsuggest"
+        android:title="@string/preferences_debug_settings_fxsuggest"
+        app:iconSpaceReserved="false" />
     <SwitchPreference
         android:key="@string/pref_key_should_enable_felt_privacy"
         app:iconSpaceReserved="false"
diff --git a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/translations/TranslationsDialogMiddlewareTest.kt b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/translations/TranslationsDialogMiddlewareTest.kt
index e0e2aa1ffe6b3e32f2a68d02597b7722f4d254c2..fd3b98672b78bf5e55b20e038e79d81a5563f7ba 100644
--- a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/translations/TranslationsDialogMiddlewareTest.kt
+++ b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/translations/TranslationsDialogMiddlewareTest.kt
@@ -155,7 +155,7 @@ class TranslationsDialogMiddlewareTest {
         }
 
     @Test
-    fun `GIVEN translationState WHEN UpdatePageSettingsValue with action type AlwaysOfferPopup from TranslationDialogStore is called THEN call UpdatePageSettingAction from BrowserStore`() =
+    fun `GIVEN translationState WHEN UpdatePageSettingsValue with action type AlwaysOfferPopup from TranslationDialogStore is called THEN call UpdateGlobalOfferTranslateSettingAction from BrowserStore`() =
         runTest {
             assertTrue(settings.offerTranslation)
             val translationStore = TranslationsDialogStore(
@@ -173,7 +173,7 @@ class TranslationsDialogMiddlewareTest {
 
             verify {
                 browserStore.dispatch(
-                    TranslationsAction.SetGlobalOfferTranslateSettingAction(
+                    TranslationsAction.UpdateGlobalOfferTranslateSettingAction(
                         offerTranslation = false,
                     ),
                 )
diff --git a/mobile/android/fenix/plugins/fenixdependencies/src/main/java/FenixDependenciesPlugin.kt b/mobile/android/fenix/plugins/fenixdependencies/src/main/java/FenixDependenciesPlugin.kt
index 930134b54347322d82265fd813803e1c6a6d90bd..5c261207c669498d3852d51b044010c32a4dc572 100644
--- a/mobile/android/fenix/plugins/fenixdependencies/src/main/java/FenixDependenciesPlugin.kt
+++ b/mobile/android/fenix/plugins/fenixdependencies/src/main/java/FenixDependenciesPlugin.kt
@@ -34,8 +34,6 @@ object FenixVersions {
 
     const val google_ads_id_version = "16.0.0"
 
-    const val google_play_review_version = "2.0.1"
-
     // keep in sync with the versions used in AS.
     const val protobuf = "3.21.10"
     const val protobuf_plugin = "0.9.4"
@@ -87,10 +85,6 @@ object FenixDependencies {
 
     const val google_ads_id = "com.google.android.gms:play-services-ads-identifier:${FenixVersions.google_ads_id_version}"
 
-    // Required for in-app reviews
-    const val google_play_review = "com.google.android.play:review:${FenixVersions.google_play_review_version}"
-    const val google_play_review_ktx = "com.google.android.play:review-ktx:${FenixVersions.google_play_review_version}"
-
     const val junitApi = "org.junit.jupiter:junit-jupiter-api:${FenixVersions.junit}"
     const val junitParams = "org.junit.jupiter:junit-jupiter-params:${FenixVersions.junit}"
     const val junitEngine = "org.junit.jupiter:junit-jupiter-engine:${FenixVersions.junit}"
diff --git a/mobile/android/focus-android/app/build.gradle b/mobile/android/focus-android/app/build.gradle
index 6369e0df975088e303340ada9a924807025365dc..7d61b756d2c2ce10502c3e572a31f9cfe431acec 100644
--- a/mobile/android/focus-android/app/build.gradle
+++ b/mobile/android/focus-android/app/build.gradle
@@ -297,7 +297,9 @@ dependencies {
     implementation ComponentsDependencies.androidx_work_runtime
     implementation ComponentsDependencies.androidx_datastore_preferences
 
-    implementation FocusDependencies.google_play
+    // Required for in-app reviews
+    implementation ComponentsDependencies.play_review
+    implementation ComponentsDependencies.play_review_ktx
 
     implementation ComponentsDependencies.google_material
 
diff --git a/mobile/android/focus-android/app/src/androidTest/java/org/mozilla/focus/activity/SitePermissionsTest.kt b/mobile/android/focus-android/app/src/androidTest/java/org/mozilla/focus/activity/SitePermissionsTest.kt
index acbbeedbe486b2f475e7eb713a402d1eb6e50a0f..87b3a54a44c2d4e0b1efff31cee4fc5de2f777b1 100644
--- a/mobile/android/focus-android/app/src/androidTest/java/org/mozilla/focus/activity/SitePermissionsTest.kt
+++ b/mobile/android/focus-android/app/src/androidTest/java/org/mozilla/focus/activity/SitePermissionsTest.kt
@@ -229,6 +229,7 @@ class SitePermissionsTest {
 
     @SmokeTest
     @Test
+    @Ignore
     fun testLocationSharingAllowed() {
         mockLocationUpdatesRule.setMockLocation()
 
@@ -244,6 +245,7 @@ class SitePermissionsTest {
 
     @SmokeTest
     @Test
+    @Ignore
     fun allowCameraPermissionsTest() {
         Assume.assumeTrue(cameraManager.cameraIdList.isNotEmpty())
         searchScreen {
diff --git a/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/appreview/AppReviewUtils.kt b/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/appreview/AppReviewUtils.kt
index d180bc6bac083c238a4d88bbc1144f3bea39d8a3..b4bc46da282195db29baadd09812aab4c7702b7a 100644
--- a/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/appreview/AppReviewUtils.kt
+++ b/mobile/android/focus-android/app/src/main/java/org/mozilla/focus/appreview/AppReviewUtils.kt
@@ -10,9 +10,9 @@ import android.content.Context
 import android.content.Intent
 import androidx.core.net.toUri
 import androidx.preference.PreferenceManager
+import com.google.android.gms.tasks.Task
 import com.google.android.play.core.review.ReviewInfo
 import com.google.android.play.core.review.ReviewManagerFactory
-import com.google.android.play.core.tasks.Task
 import mozilla.components.browser.state.state.SessionState
 import org.mozilla.focus.R
 import org.mozilla.focus.ext.components
@@ -40,7 +40,7 @@ class AppReviewUtils {
                 request.addOnCompleteListener { task: Task<ReviewInfo?> ->
                     if (task.isSuccessful) {
                         // We can get the ReviewInfo object
-                        val reviewInfo = task.result
+                        val reviewInfo = task.result ?: return@addOnCompleteListener
                         val flow = manager.launchReviewFlow(activity, reviewInfo)
                         flow.addOnCompleteListener {
                             // The flow has finished. The API does not indicate whether the user
diff --git a/mobile/android/focus-android/plugins/focusdependencies/src/main/java/FocusDependenciesPlugin.kt b/mobile/android/focus-android/plugins/focusdependencies/src/main/java/FocusDependenciesPlugin.kt
index 4e7483969fe53b3c35f0615a36cebbd014d9c3e9..a037081cbbb09705077edef26d75ab2a7974d04b 100644
--- a/mobile/android/focus-android/plugins/focusdependencies/src/main/java/FocusDependenciesPlugin.kt
+++ b/mobile/android/focus-android/plugins/focusdependencies/src/main/java/FocusDependenciesPlugin.kt
@@ -24,10 +24,6 @@ object FocusVersions {
         const val transition = "1.5.0"
     }
 
-    object Google {
-        const val play = "1.10.3"
-    }
-
     object Testing {
         const val androidx_espresso = "3.5.1"
         const val androidx_orchestrator = "1.4.2"
@@ -48,8 +44,6 @@ object FocusDependencies {
     const val androidx_splashscreen = "androidx.core:core-splashscreen:${FocusVersions.AndroidX.splashscreen}"
     const val androidx_transition = "androidx.transition:transition:${FocusVersions.AndroidX.transition}"
 
-    const val google_play = "com.google.android.play:core:${FocusVersions.Google.play}"
-
     const val adjust = "com.adjust.sdk:adjust-android:${FocusVersions.Adjust.adjust}"
     const val install_referrer = "com.android.installreferrer:installreferrer:${FocusVersions.Adjust.install_referrer}"
     const val osslicenses_plugin = "com.google.android.gms:oss-licenses-plugin:${FocusVersions.ThirdParty.osslicenses_plugin}"
diff --git a/mobile/android/version.txt b/mobile/android/version.txt
index 9ae297eec078a38a3f4b9ecb1593223077462478..278160a242ef6909c42341f18bfaba528027e0d4 100644
--- a/mobile/android/version.txt
+++ b/mobile/android/version.txt
@@ -1 +1 @@
-128.0b8
+128.0
diff --git a/mobile/locales/l10n-changesets.json b/mobile/locales/l10n-changesets.json
index 819dcd57b43a0cec413ee1f4ede7dec06c30f962..6d8b9fa8ee6cc3fd691dbfcb96a435464c4f1073 100644
--- a/mobile/locales/l10n-changesets.json
+++ b/mobile/locales/l10n-changesets.json
@@ -6,7 +6,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "an": {
         "pin": false,
@@ -15,7 +15,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ar": {
         "pin": false,
@@ -24,7 +24,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ast": {
         "pin": false,
@@ -33,7 +33,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "az": {
         "pin": false,
@@ -42,7 +42,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "be": {
         "pin": false,
@@ -51,7 +51,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "bg": {
         "pin": false,
@@ -60,7 +60,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "bn": {
         "pin": false,
@@ -69,7 +69,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "br": {
         "pin": false,
@@ -78,7 +78,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "bs": {
         "pin": false,
@@ -87,7 +87,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ca": {
         "pin": false,
@@ -96,7 +96,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "cak": {
         "pin": false,
@@ -105,7 +105,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "cs": {
         "pin": false,
@@ -114,7 +114,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "cy": {
         "pin": false,
@@ -123,7 +123,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "da": {
         "pin": false,
@@ -132,7 +132,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "de": {
         "pin": false,
@@ -141,7 +141,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "dsb": {
         "pin": false,
@@ -150,7 +150,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "el": {
         "pin": false,
@@ -159,7 +159,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "en-CA": {
         "pin": false,
@@ -168,7 +168,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "en-GB": {
         "pin": false,
@@ -177,7 +177,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "eo": {
         "pin": false,
@@ -186,7 +186,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "es-AR": {
         "pin": false,
@@ -195,7 +195,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "es-CL": {
         "pin": false,
@@ -204,7 +204,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "es-ES": {
         "pin": false,
@@ -213,7 +213,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "es-MX": {
         "pin": false,
@@ -222,7 +222,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "et": {
         "pin": false,
@@ -231,7 +231,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "eu": {
         "pin": false,
@@ -240,7 +240,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "fa": {
         "pin": false,
@@ -249,7 +249,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ff": {
         "pin": false,
@@ -258,7 +258,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "fi": {
         "pin": false,
@@ -267,7 +267,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "fr": {
         "pin": false,
@@ -276,7 +276,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "fy-NL": {
         "pin": false,
@@ -285,7 +285,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ga-IE": {
         "pin": false,
@@ -294,7 +294,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "gd": {
         "pin": false,
@@ -303,7 +303,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "gl": {
         "pin": false,
@@ -312,7 +312,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "gn": {
         "pin": false,
@@ -321,7 +321,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "gu-IN": {
         "pin": false,
@@ -330,7 +330,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "he": {
         "pin": false,
@@ -339,7 +339,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "hi-IN": {
         "pin": false,
@@ -348,7 +348,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "hr": {
         "pin": false,
@@ -357,7 +357,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "hsb": {
         "pin": false,
@@ -366,7 +366,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "hu": {
         "pin": false,
@@ -375,7 +375,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "hy-AM": {
         "pin": false,
@@ -384,7 +384,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ia": {
         "pin": false,
@@ -393,7 +393,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "id": {
         "pin": false,
@@ -402,7 +402,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "is": {
         "pin": false,
@@ -411,7 +411,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "it": {
         "pin": false,
@@ -420,7 +420,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ja": {
         "pin": false,
@@ -429,7 +429,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ka": {
         "pin": false,
@@ -438,7 +438,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "kab": {
         "pin": false,
@@ -447,7 +447,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "kk": {
         "pin": false,
@@ -456,7 +456,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "km": {
         "pin": false,
@@ -465,7 +465,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "kn": {
         "pin": false,
@@ -474,7 +474,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ko": {
         "pin": false,
@@ -483,7 +483,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "lij": {
         "pin": false,
@@ -492,7 +492,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "lo": {
         "pin": false,
@@ -501,7 +501,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "lt": {
         "pin": false,
@@ -510,7 +510,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ltg": {
         "pin": false,
@@ -519,7 +519,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "lv": {
         "pin": false,
@@ -528,7 +528,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "meh": {
         "pin": false,
@@ -537,7 +537,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "mix": {
         "pin": false,
@@ -546,7 +546,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ml": {
         "pin": false,
@@ -555,7 +555,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "mr": {
         "pin": false,
@@ -564,7 +564,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ms": {
         "pin": false,
@@ -573,7 +573,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "my": {
         "pin": false,
@@ -582,7 +582,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "nb-NO": {
         "pin": false,
@@ -591,7 +591,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ne-NP": {
         "pin": false,
@@ -600,7 +600,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "nl": {
         "pin": false,
@@ -609,7 +609,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "nn-NO": {
         "pin": false,
@@ -618,7 +618,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "oc": {
         "pin": false,
@@ -627,7 +627,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "pa-IN": {
         "pin": false,
@@ -636,7 +636,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "pl": {
         "pin": false,
@@ -645,7 +645,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "pt-BR": {
         "pin": false,
@@ -654,7 +654,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "pt-PT": {
         "pin": false,
@@ -663,7 +663,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "rm": {
         "pin": false,
@@ -672,7 +672,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ro": {
         "pin": false,
@@ -681,7 +681,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ru": {
         "pin": false,
@@ -690,7 +690,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "sk": {
         "pin": false,
@@ -699,7 +699,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "sl": {
         "pin": false,
@@ -708,7 +708,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "son": {
         "pin": false,
@@ -717,7 +717,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "sq": {
         "pin": false,
@@ -726,7 +726,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "sr": {
         "pin": false,
@@ -735,7 +735,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "sv-SE": {
         "pin": false,
@@ -744,7 +744,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ta": {
         "pin": false,
@@ -753,7 +753,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "te": {
         "pin": false,
@@ -762,7 +762,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "th": {
         "pin": false,
@@ -771,7 +771,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "tl": {
         "pin": false,
@@ -780,7 +780,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "tr": {
         "pin": false,
@@ -789,7 +789,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "trs": {
         "pin": false,
@@ -798,7 +798,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "uk": {
         "pin": false,
@@ -807,7 +807,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "ur": {
         "pin": false,
@@ -816,7 +816,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "uz": {
         "pin": false,
@@ -825,7 +825,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "vi": {
         "pin": false,
@@ -834,7 +834,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "wo": {
         "pin": false,
@@ -843,7 +843,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "xh": {
         "pin": false,
@@ -852,7 +852,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "zam": {
         "pin": false,
@@ -861,7 +861,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "zh-CN": {
         "pin": false,
@@ -870,7 +870,7 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     },
     "zh-TW": {
         "pin": false,
@@ -879,6 +879,6 @@
             "android-arm",
             "android-multilocale"
         ],
-        "revision": "519dc7258c3b92b33b31c5a8d4fc1ea0b40d639e"
+        "revision": "d668fc038c3ba5b6bc0c43433817520a924a22cc"
     }
 }
\ No newline at end of file
diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
index 4dd25b943d053f8b7577f89d2c5f6c450b07e317..824bc50ed839b1b2bcdf8f7ba298d57e6dabfe7f 100644
--- a/modules/libpref/init/StaticPrefList.yaml
+++ b/modules/libpref/init/StaticPrefList.yaml
@@ -3751,13 +3751,6 @@
   value: true
   mirror: always
 
-# If true, when checking if it's upgrade downgrade cycles, the URI path will be
-# also checked.
-- name: dom.security.https_only_check_path_upgrade_downgrade_endless_loop
-  type: RelaxedAtomicBool
-  value: true
-  mirror: always
-
 # If true and HTTPS-only mode is enabled, requests
 # to local IP addresses are also upgraded
 - name: dom.security.https_only_mode.upgrade_local
@@ -5638,6 +5631,13 @@
   type: bool
   value: true
   mirror: always
+
+# Time in milliseconds after which geoclue will try to fallback to MLS if no
+# location is received after successful start.
+- name: geo.provider.geoclue.mls_fallback_timeout_ms
+  type: uint32_t
+  value: 5000
+  mirror: always
 #endif
 
 #---------------------------------------------------------------------------
@@ -16097,6 +16097,16 @@
 #endif
   mirror: always
 
+- name: webgl.glsl.max_var_size_in_kibytes
+  type: RelaxedAtomicInt32
+  value: -1 # -1 => default for platform, 0 => no limit, >0 => max valid size
+  mirror: always
+
+- name: webgl.glsl.max_private_var_size_in_bytes
+  type: RelaxedAtomicInt32
+  value: -1 # -1 => default for platform, 0 => no limit, >0 => max valid size
+  mirror: always
+
 - name: webgl.lose-context-on-memory-pressure
   type: RelaxedAtomicBool
   value: false
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
index e7224e7d379e79d6584b54b2683b1809ca392b17..e089619c38e7689f213e12456c2e36890f108e12 100644
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -286,7 +286,11 @@ pref("media.videocontrols.keyboard-tab-to-all-controls", true);
   pref("media.navigator.video.default_height",0); // adaptive default
   pref("media.navigator.video.max_fs", 12288); // Enough for 2048x1536
   pref("media.navigator.video.max_fr", 60);
-  pref("media.navigator.video.disable_h264_baseline", false);
+  #ifdef NIGHTLY_BUILD
+    pref("media.navigator.video.disable_h264_baseline", false);
+  #else
+    pref("media.navigator.video.disable_h264_baseline", true);
+  #endif
   pref("media.navigator.video.h264.level", 31); // 0x42E01f - level 3.1
   pref("media.navigator.video.h264.max_br", 0);
   pref("media.navigator.video.h264.max_mbps", 0);
diff --git a/netwerk/base/LoadInfo.cpp b/netwerk/base/LoadInfo.cpp
index 7a9f8905b6a6da89eb07b103ebe2095579502c15..5ff1c5ad8b265f25ab5a18a639e4e5b420d93443 100644
--- a/netwerk/base/LoadInfo.cpp
+++ b/netwerk/base/LoadInfo.cpp
@@ -14,6 +14,7 @@
 #include "mozilla/dom/ClientIPCTypes.h"
 #include "mozilla/dom/ClientSource.h"
 #include "mozilla/dom/ContentChild.h"
+#include "mozilla/dom/DOMTypes.h"
 #include "mozilla/dom/Performance.h"
 #include "mozilla/dom/PerformanceStorage.h"
 #include "mozilla/dom/BrowserChild.h"
@@ -606,6 +607,7 @@ LoadInfo::LoadInfo(const LoadInfo& rhs)
       mChannelCreationOriginalURI(rhs.mChannelCreationOriginalURI),
       mCookieJarSettings(rhs.mCookieJarSettings),
       mCspToInherit(rhs.mCspToInherit),
+      mContainerFeaturePolicyInfo(rhs.mContainerFeaturePolicyInfo),
       mTriggeringRemoteType(rhs.mTriggeringRemoteType),
       mSandboxedNullPrincipalID(rhs.mSandboxedNullPrincipalID),
       mClientInfo(rhs.mClientInfo),
@@ -2371,6 +2373,15 @@ already_AddRefed<nsIContentSecurityPolicy> LoadInfo::GetCspToInherit() {
   return cspToInherit.forget();
 }
 
+Maybe<FeaturePolicyInfo> LoadInfo::GetContainerFeaturePolicyInfo() {
+  return mContainerFeaturePolicyInfo;
+}
+
+void LoadInfo::SetContainerFeaturePolicyInfo(
+    const FeaturePolicyInfo& aContainerFeaturePolicyInfo) {
+  mContainerFeaturePolicyInfo = Some(aContainerFeaturePolicyInfo);
+}
+
 nsIInterceptionInfo* LoadInfo::InterceptionInfo() { return mInterceptionInfo; }
 
 void LoadInfo::SetInterceptionInfo(nsIInterceptionInfo* aInfo) {
diff --git a/netwerk/base/LoadInfo.h b/netwerk/base/LoadInfo.h
index a8631b09b26708ca10f683f1a9dd6b8467d3fe8e..e6badeeee816bc74af22fb9ef5f88b58f13ac5b7 100644
--- a/netwerk/base/LoadInfo.h
+++ b/netwerk/base/LoadInfo.h
@@ -7,6 +7,7 @@
 #ifndef mozilla_LoadInfo_h
 #define mozilla_LoadInfo_h
 
+#include "mozilla/dom/FeaturePolicy.h"
 #include "nsIContentSecurityPolicy.h"
 #include "nsIInterceptionInfo.h"
 #include "nsILoadInfo.h"
@@ -195,6 +196,11 @@ class LoadInfo final : public nsILoadInfo {
     mIsThirdPartyContextToTopWindow.reset();
   }
 
+  void SetContinerFeaturePolicy(
+      const Maybe<dom::FeaturePolicyInfo>& aContainerFeaturePolicy) {
+    mContainerFeaturePolicyInfo = aContainerFeaturePolicy;
+  }
+
 #ifdef DEBUG
   void MarkOverriddenFingerprintingSettingsAsSet() {
     mOverriddenFingerprintingSettingsIsSet = true;
@@ -299,6 +305,7 @@ class LoadInfo final : public nsILoadInfo {
   nsCOMPtr<nsICSPEventListener> mCSPEventListener;
   nsCOMPtr<nsICookieJarSettings> mCookieJarSettings;
   nsCOMPtr<nsIContentSecurityPolicy> mCspToInherit;
+  Maybe<dom::FeaturePolicyInfo> mContainerFeaturePolicyInfo;
   nsCString mTriggeringRemoteType;
   nsID mSandboxedNullPrincipalID;
 
diff --git a/netwerk/base/TRRLoadInfo.cpp b/netwerk/base/TRRLoadInfo.cpp
index 920e7623a7f912296fc23361f66ab35a30c35f1e..48560a8b3be4ace3aab241373ff1eab0e5bb2187 100644
--- a/netwerk/base/TRRLoadInfo.cpp
+++ b/netwerk/base/TRRLoadInfo.cpp
@@ -6,6 +6,8 @@
 
 #include "TRRLoadInfo.h"
 #include "mozilla/dom/ClientSource.h"
+#include "mozilla/dom/FeaturePolicy.h"
+#include "mozilla/dom/DOMTypes.h"
 #include "nsContentUtils.h"
 #include "nsIRedirectHistoryEntry.h"
 
@@ -724,6 +726,13 @@ already_AddRefed<nsIContentSecurityPolicy> TRRLoadInfo::GetCspToInherit() {
   return nullptr;
 }
 
+Maybe<FeaturePolicyInfo> TRRLoadInfo::GetContainerFeaturePolicyInfo() {
+  return Nothing();
+}
+
+void TRRLoadInfo::SetContainerFeaturePolicyInfo(
+    const FeaturePolicyInfo& aContainerFeaturePolicyInfo) {}
+
 NS_IMETHODIMP
 TRRLoadInfo::GetHttpsOnlyStatus(uint32_t* aHttpsOnlyStatus) {
   return NS_ERROR_NOT_IMPLEMENTED;
diff --git a/netwerk/base/nsILoadInfo.idl b/netwerk/base/nsILoadInfo.idl
index ddfcb223e6126c943b58e9d198f0e2fa767c3de1..8ff5e556c98689542297517a7bdf57e0a2ccf400 100644
--- a/netwerk/base/nsILoadInfo.idl
+++ b/netwerk/base/nsILoadInfo.idl
@@ -32,6 +32,7 @@ namespace mozilla {
 namespace dom {
 class ClientInfo;
 class ClientSource;
+struct FeaturePolicyInfo;
 class PerformanceStorage;
 class ServiceWorkerDescriptor;
 } // namespace dom
@@ -56,6 +57,8 @@ native OriginAttributes(mozilla::OriginAttributes);
 [ptr] native PerformanceStoragePtr(mozilla::dom::PerformanceStorage);
       native LoadTainting(mozilla::LoadTainting);
       native CSPRef(already_AddRefed<nsIContentSecurityPolicy>);
+      native MaybeFeaturePolicyInfo(mozilla::Maybe<mozilla::dom::FeaturePolicyInfo>);
+[ref] native const_FeaturePolicyInfoRef(const mozilla::dom::FeaturePolicyInfo);
 
 typedef unsigned long nsSecurityFlags;
 
@@ -1333,6 +1336,15 @@ interface nsILoadInfo : nsISupports
   [notxpcom,nostdcall] CSPRef GetPreloadCsp();
   [notxpcom,nostdcall] CSPRef GetCspToInherit();
 
+  /**
+    * The possibly cross-origin container feature policy required to
+    * initialize the feature policy of a document load.
+    */
+  [noscript, nostdcall, notxpcom]
+  MaybeFeaturePolicyInfo GetContainerFeaturePolicyInfo();
+  [noscript, nostdcall, notxpcom]
+  void SetContainerFeaturePolicyInfo(in const_FeaturePolicyInfoRef aContainerFeaturePolicy);
+
   /**
     * The service worker and fetch specifications require returning the
     * exact tainting level of the Response passed to FetchEvent.respondWith().
diff --git a/netwerk/dns/effective_tld_names.dat b/netwerk/dns/effective_tld_names.dat
index d60841146a6b124314c0f1c92301f8a5362d17e9..037c72438a31e44e17dba9da19278b32be3a805a 100644
--- a/netwerk/dns/effective_tld_names.dat
+++ b/netwerk/dns/effective_tld_names.dat
@@ -1014,13 +1014,12 @@ net.et
 // eu : https://en.wikipedia.org/wiki/.eu
 eu
 
-// fi : https://en.wikipedia.org/wiki/.fi
+// fi : https://www.iana.org/domains/root/db/fi.html
 fi
-// aland.fi : https://en.wikipedia.org/wiki/.ax
+// aland.fi : https://www.iana.org/domains/root/db/ax.html
 // This domain is being phased out in favor of .ax. As there are still many
 // domains under aland.fi, we still keep it on the list until aland.fi is
 // completely removed.
-// TODO: Check for updates (expected to be phased out around Q1/2009)
 aland.fi
 
 // fj : http://domains.fj/
@@ -6709,7 +6708,7 @@ org.zw
 
 // newGTLDs
 
-// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2024-06-13T15:15:16Z
+// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2024-06-29T15:13:33Z
 // This list is auto-generated, don't edit it manually.
 // aaa : American Automobile Association, Inc.
 // https://www.iana.org/domains/root/db/aaa.html
@@ -10495,7 +10494,7 @@ ups
 // https://www.iana.org/domains/root/db/vacations.html
 vacations
 
-// vana : Internet Naming Company LLC
+// vana : D3 Registry LLC
 // https://www.iana.org/domains/root/db/vana.html
 vana
 
@@ -12518,9 +12517,9 @@ feste-ip.net
 knx-server.net
 static-access.net
 
-// cPanel L.L.C. : https://www.cpanel.net/
-// Submitted by Dustin Scherer <public.suffix@cpanel.net>
-*.cprapid.com
+// Craft Docs Ltd : https://www.craft.do/
+// Submitted by Zsombor Fuszenecker <security@craft.do>
+craft.me
 
 // Craynic, s.r.o. : http://www.craynic.com/
 // Submitted by Ales Krajnik <ales.krajnik@craynic.com>
@@ -12550,6 +12549,10 @@ curv.dev
 *.ocp.customer-oci.com
 *.ocs.customer-oci.com
 
+// cyber_Folks S.A. : https://cyberfolks.pl
+// Submitted by Bartlomiej Kida <security@cyberfolks.pl>
+cfolks.pl
+
 // Cyclic Software : https://www.cyclic.sh
 // Submitted by Kam Lasater <dns-admin@cyclic.sh>
 cyclic.app
@@ -12670,6 +12673,10 @@ shoparena.pl
 // Submitted by Andrew Farmer <andrew.farmer@dreamhost.com>
 dreamhosters.com
 
+// Dreamyoungs, Inc. : https://durumis.com
+// Submitted by Infra Team <infra@durumis.com>
+durumis.com
+
 // Drobo : http://www.drobo.com/
 // Submitted by Ricardo Padilha <rpadilha@drobo.com>
 mydrobo.com
@@ -13760,6 +13767,15 @@ hashbang.sh
 hasura.app
 hasura-app.io
 
+// Hatena Co., Ltd. : https://hatena.co.jp
+// Submitted by Masato Nakamura <blog-developers@hatena.ne.jp>
+hatenablog.com
+hatenadiary.com
+hateblo.jp
+hatenablog.jp
+hatenadiary.jp
+hatenadiary.org
+
 // Heilbronn University of Applied Sciences - Faculty Informatics (GitLab Pages): https://www.hs-heilbronn.de
 // Submitted by Richard Zowalla <mi-admin@hs-heilbronn.de>
 pages.it.hs-heilbronn.de
@@ -13824,7 +13840,7 @@ sch.so
 // Submitted by Bohdan Dub <support@hostfly.com.ua>
 ie.ua
 
-// HostyHosting (hostyhosting.com)
+// HostyHosting (https://hostyhosting.com)
 hostyhosting.io
 
 // Hypernode B.V. : https://www.hypernode.com/
@@ -14768,12 +14784,6 @@ platter-app.com
 platter-app.dev
 platterp.us
 
-// Plesk : https://www.plesk.com/
-// Submitted by Anton Akhtyamov <program-managers@plesk.com>
-pleskns.com
-pdns.page
-plesk.page
-
 // Pley AB : https://www.pley.com/
 // Submitted by Henning Pohl <infra@pley.com>
 pley.games
@@ -14853,14 +14863,15 @@ cloudsite.builders
 myradweb.net
 servername.us
 
+// Raidboxes GmbH : https://raidboxes.de
+// Submitted by Auke Tembrink <hostmaster@raidboxes.de>
+myrdbx.io
+site.rb-hosting.io
+
 // Redgate Software: https://red-gate.com
 // Submitted by Andrew Farries <andrew.farries@red-gate.com>
 instances.spawn.cc
 
-// Redstar Consultants : https://www.redstarconsultants.com/
-// Submitted by Jons Slemmer <jons@redstarconsultants.com>
-instantcloud.cn
-
 // Russian Academy of Sciences
 // Submitted by Tech Support <support@rasnet.ru>
 ras.ru
@@ -14897,10 +14908,6 @@ vaporcloud.io
 rackmaze.com
 rackmaze.net
 
-// Rakuten Games, Inc : https://dev.viberplay.io
-// Submitted by Joshua Zhang <public-suffix@rgames.jp>
-g.vbrplsbx.io
-
 // Rancher Labs, Inc : https://rancher.com
 // Submitted by Vincent Fiduccia <domains@rancher.com>
 *.on-rancher.cloud
@@ -15437,7 +15444,7 @@ beta.tailscale.net
 ts.net
 *.c.ts.net
 
-// TASK geographical domains (www.task.gda.pl/uslugi/dns)
+// TASK geographical domains (https://www.task.gda.pl/uslugi/dns)
 gda.pl
 gdansk.pl
 gdynia.pl
@@ -15657,7 +15664,11 @@ reserve-online.net
 
 // WebPros International, LLC : https://webpros.com/
 // Submitted by Nicolas Rochelemagne <public.suffix@webpros.com>
+cprapid.com
+pleskns.com
 wp2.host
+pdns.page
+plesk.page
 wpsquared.site
 
 // WebWaddle Ltd: https://webwaddle.com/
diff --git a/netwerk/ipc/DocumentLoadListener.cpp b/netwerk/ipc/DocumentLoadListener.cpp
index dd162b82902c601721d52ac6a6ada4b56d58a8e0..dfd80e8867ec46464ddcfc30316236c824950cb1 100644
--- a/netwerk/ipc/DocumentLoadListener.cpp
+++ b/netwerk/ipc/DocumentLoadListener.cpp
@@ -640,6 +640,9 @@ auto DocumentLoadListener::Open(nsDocShellLoadState* aLoadState,
   OriginAttributes attrs;
   loadingContext->GetOriginAttributes(attrs);
 
+  aLoadInfo->SetContinerFeaturePolicy(
+      loadingContext->GetContainerFeaturePolicy());
+
   mLoadIdentifier = aLoadState->GetLoadIdentifier();
   // See description of  mFileName in nsDocShellLoadState.h
   mIsDownload = !aLoadState->FileName().IsVoid();
diff --git a/netwerk/ipc/NeckoChannelParams.ipdlh b/netwerk/ipc/NeckoChannelParams.ipdlh
index 62b272e99c2440922409694373305478ded821c8..2b3fddd54c9ac72387edda47801fcc430359643c 100644
--- a/netwerk/ipc/NeckoChannelParams.ipdlh
+++ b/netwerk/ipc/NeckoChannelParams.ipdlh
@@ -15,6 +15,7 @@ include DOMTypes;
 include ProtocolTypes;
 
 include "mozilla/dom/FetchIPCTypes.h";
+include "mozilla/dom/FeaturePolicyUtils.h";
 include "mozilla/dom/PropertyBagUtils.h";
 include "mozilla/dom/ReferrerInfoUtils.h";
 include "mozilla/ipc/URIUtils.h";
@@ -37,6 +38,7 @@ using nsILoadInfo::StoragePermissionState from "nsILoadInfo.h";
 using struct mozilla::dom::LoadingSessionHistoryInfo from "mozilla/dom/SessionHistoryEntry.h";
 using mozilla::dom::RequestMode from "mozilla/dom/RequestBinding.h";
 using mozilla::net::LinkHeader from "nsNetUtil.h";
+using mozilla::dom::FeaturePolicyInfo from "mozilla/dom/FeaturePolicy.h";
 
 namespace mozilla {
 namespace net {
@@ -258,6 +260,8 @@ struct ParentLoadInfoForwarderArgs
 
   CookieJarSettingsArgs? cookieJarSettings;
 
+  FeaturePolicyInfo? containerFeaturePolicyInfo;
+
   uint32_t requestBlockingReason;
 
   StoragePermissionState storagePermission;
diff --git a/netwerk/protocol/http/HttpBaseChannel.cpp b/netwerk/protocol/http/HttpBaseChannel.cpp
index 4607ad4319dbc1156c002c26274d7ffda3c0f9b4..986605325f27677bb236d9dbcf62ce391fafa455 100644
--- a/netwerk/protocol/http/HttpBaseChannel.cpp
+++ b/netwerk/protocol/http/HttpBaseChannel.cpp
@@ -5969,7 +5969,8 @@ HttpBaseChannel::SetNavigationStartTimeStamp(TimeStamp aTimeStamp) {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-nsresult HttpBaseChannel::CheckRedirectLimit(uint32_t aRedirectFlags) const {
+nsresult HttpBaseChannel::CheckRedirectLimit(nsIURI* aNewURI,
+                                             uint32_t aRedirectFlags) const {
   if (aRedirectFlags & nsIChannelEventSink::REDIRECT_INTERNAL) {
     // for internal redirect due to auth retry we do not have any limit
     // as we might restrict the number of times a user might retry
@@ -6003,15 +6004,39 @@ nsresult HttpBaseChannel::CheckRedirectLimit(uint32_t aRedirectFlags) const {
   // https and the page answers with a redirect (meta, 302, win.location, ...)
   // then this method can break the cycle which causes the https-only exception
   // page to appear. Note that https-first mode breaks upgrade downgrade endless
-  // loops within ShouldUpgradeHTTPSFirstRequest because https-first does not
+  // loops within ShouldUpgradeHttpsFirstRequest because https-first does not
   // display an exception page but needs a soft fallback/downgrade.
   if (nsHTTPSOnlyUtils::IsUpgradeDowngradeEndlessLoop(
-          mURI, mLoadInfo,
+          mURI, aNewURI, mLoadInfo,
           {nsHTTPSOnlyUtils::UpgradeDowngradeEndlessLoopOptions::
                EnforceForHTTPSOnlyMode})) {
+    // Mark that we didn't upgrade to https due to loop detection in https-only
+    // mode to show https-only error page. We know that we are in https-only
+    // mode, because we passed `EnforceForHTTPSOnlyMode` to
+    // `IsUpgradeDowngradeEndlessLoop`. In other words we upgrade the request
+    // with https-only mode, but then immediately cancel the request.
+    uint32_t httpsOnlyStatus = mLoadInfo->GetHttpsOnlyStatus();
+    if (httpsOnlyStatus & nsILoadInfo::HTTPS_ONLY_UNINITIALIZED) {
+      httpsOnlyStatus ^= nsILoadInfo::HTTPS_ONLY_UNINITIALIZED;
+      httpsOnlyStatus |=
+          nsILoadInfo::HTTPS_ONLY_UPGRADED_LISTENER_NOT_REGISTERED;
+      mLoadInfo->SetHttpsOnlyStatus(httpsOnlyStatus);
+    }
+
     LOG(("upgrade downgrade redirect loop!\n"));
     return NS_ERROR_REDIRECT_LOOP;
   }
+  // in case of http-first mode we want to add an exception to disable the
+  // upgrade behavior if we have upgrade-downgrade loop to break the loop and
+  // load the http request next
+  if (mozilla::StaticPrefs::
+          dom_security_https_first_add_exception_on_failiure() &&
+      nsHTTPSOnlyUtils::IsUpgradeDowngradeEndlessLoop(
+          mURI, aNewURI, mLoadInfo,
+          {nsHTTPSOnlyUtils::UpgradeDowngradeEndlessLoopOptions::
+               EnforceForHTTPSFirstMode})) {
+    nsHTTPSOnlyUtils::AddHTTPSFirstExceptionForSession(mURI, mLoadInfo);
+  }
 
   return NS_OK;
 }
diff --git a/netwerk/protocol/http/HttpBaseChannel.h b/netwerk/protocol/http/HttpBaseChannel.h
index b47a3d6c35d09d84f6c11790456809b975894e92..f3bce00deac5bfffb49f038ded6730b9e747c133 100644
--- a/netwerk/protocol/http/HttpBaseChannel.h
+++ b/netwerk/protocol/http/HttpBaseChannel.h
@@ -651,7 +651,7 @@ class HttpBaseChannel : public nsHashPropertyBag,
   static void CallTypeSniffers(void* aClosure, const uint8_t* aData,
                                uint32_t aCount);
 
-  nsresult CheckRedirectLimit(uint32_t aRedirectFlags) const;
+  nsresult CheckRedirectLimit(nsIURI* aNewURI, uint32_t aRedirectFlags) const;
 
   bool MaybeWaitForUploadStreamNormalization(nsIStreamListener* aListener,
                                              nsISupports* aContext);
diff --git a/netwerk/protocol/http/InterceptedHttpChannel.cpp b/netwerk/protocol/http/InterceptedHttpChannel.cpp
index c58fbc96391f8dcb585bd00b5ae8cba9088abd82..5695d46f924abe6b765f3645d746cc4248051c1c 100644
--- a/netwerk/protocol/http/InterceptedHttpChannel.cpp
+++ b/netwerk/protocol/http/InterceptedHttpChannel.cpp
@@ -80,7 +80,7 @@ nsresult InterceptedHttpChannel::SetupReplacementChannel(
     return rv;
   }
 
-  rv = CheckRedirectLimit(aRedirectFlags);
+  rv = CheckRedirectLimit(aURI, aRedirectFlags);
   NS_ENSURE_SUCCESS(rv, rv);
 
   // While we can't resume an synthetic response, we can still propagate
diff --git a/netwerk/protocol/http/SpeculativeTransaction.cpp b/netwerk/protocol/http/SpeculativeTransaction.cpp
index eab54c24d5af46e14cbe903e216f5775f7c42513..dd7b56014da8c42aace67d0d5f322a5f3ab40d19 100644
--- a/netwerk/protocol/http/SpeculativeTransaction.cpp
+++ b/netwerk/protocol/http/SpeculativeTransaction.cpp
@@ -70,10 +70,15 @@ nsresult SpeculativeTransaction::ReadSegments(nsAHttpSegmentReader* aReader,
 
 void SpeculativeTransaction::Close(nsresult aReason) {
   MOZ_ASSERT(OnSocketThread(), "not on socket thread");
+  LOG(("SpeculativeTransaction::Close %p aReason=%" PRIx32, this,
+       static_cast<uint32_t>(aReason)));
   NullHttpTransaction::Close(aReason);
 
+  if (aReason == NS_BASE_STREAM_CLOSED) {
+    aReason = NS_OK;
+  }
   if (mCloseCallback) {
-    mCloseCallback(mTriedToWrite && aReason == NS_BASE_STREAM_CLOSED);
+    mCloseCallback(mTriedToWrite && NS_SUCCEEDED(aReason));
     mCloseCallback = nullptr;
   }
 }
diff --git a/netwerk/protocol/http/TRRServiceChannel.cpp b/netwerk/protocol/http/TRRServiceChannel.cpp
index 08e72a85c7f7eea3bcdd50f1c5a223f03b395079..a2a0c4127fd962d0a3b6e1ef0587c64607bd65ef 100644
--- a/netwerk/protocol/http/TRRServiceChannel.cpp
+++ b/netwerk/protocol/http/TRRServiceChannel.cpp
@@ -1165,7 +1165,7 @@ nsresult TRRServiceChannel::SetupReplacementChannel(nsIURI* aNewURI,
     return rv;
   }
 
-  rv = CheckRedirectLimit(aRedirectFlags);
+  rv = CheckRedirectLimit(aNewURI, aRedirectFlags);
   NS_ENSURE_SUCCESS(rv, rv);
 
   nsCOMPtr<nsIHttpChannel> httpChannel = do_QueryInterface(aNewChannel);
diff --git a/netwerk/protocol/http/nsHttpChannel.cpp b/netwerk/protocol/http/nsHttpChannel.cpp
index d24e0dde7d4090d2ce7c5510f10ae9489419c213..17c2035403525866bf8d1b16cd08a1b93618f94c 100644
--- a/netwerk/protocol/http/nsHttpChannel.cpp
+++ b/netwerk/protocol/http/nsHttpChannel.cpp
@@ -703,23 +703,7 @@ nsresult nsHttpChannel::MaybeUseHTTPSRRForUpgrade(bool aShouldUpgrade,
     nsAutoCString uriHost;
     mURI->GetAsciiHost(uriHost);
 
-    if (gHttpHandler->IsHostExcludedForHTTPSRR(uriHost)) {
-      return true;
-    }
-
-    if (nsHTTPSOnlyUtils::IsUpgradeDowngradeEndlessLoop(
-            mURI, mLoadInfo,
-            {nsHTTPSOnlyUtils::UpgradeDowngradeEndlessLoopOptions::
-                 EnforceForHTTPSRR})) {
-      // Add the host to a excluded list because:
-      // 1. We don't need to do the same check again.
-      // 2. Other subresources in the same host will be also excluded.
-      gHttpHandler->ExcludeHTTPSRRHost(uriHost);
-      LOG(("[%p] skip HTTPS upgrade for host [%s]", this, uriHost.get()));
-      return true;
-    }
-
-    return false;
+    return gHttpHandler->IsHostExcludedForHTTPSRR(uriHost);
   };
 
   if (shouldSkipUpgradeWithHTTPSRR()) {
@@ -5413,7 +5397,27 @@ nsresult nsHttpChannel::SetupReplacementChannel(nsIURI* newURI,
       newURI, newChannel, preserveMethod, redirectFlags);
   if (NS_FAILED(rv)) return rv;
 
-  rv = CheckRedirectLimit(redirectFlags);
+  nsAutoCString uriHost;
+  mURI->GetAsciiHost(uriHost);
+  // disable https-rr when encountering a downgrade from https to http.
+  // If the host would have https-rr dns-entries, it would be misconfigured
+  // due to giving us mixed signals:
+  //   1. the signal to upgrade all http requests to https,
+  //   2. but also downgrading to http on https via redirects.
+  // Add to exclude list for that reason
+  if (!gHttpHandler->IsHostExcludedForHTTPSRR(uriHost) &&
+      nsHTTPSOnlyUtils::IsUpgradeDowngradeEndlessLoop(
+          mURI, newURI, mLoadInfo,
+          {nsHTTPSOnlyUtils::UpgradeDowngradeEndlessLoopOptions::
+               EnforceForHTTPSRR})) {
+    // Add the host to a excluded list because:
+    // 1. We don't need to do the same check again.
+    // 2. Other subresources in the same host will be also excluded.
+    gHttpHandler->ExcludeHTTPSRRHost(uriHost);
+    LOG(("[%p] skip HTTPS upgrade for host [%s]", this, uriHost.get()));
+  }
+
+  rv = CheckRedirectLimit(newURI, redirectFlags);
   NS_ENSURE_SUCCESS(rv, rv);
 
   // pass on the early hint observer to be able to process `103 Early Hints`
diff --git a/python/mozbuild/mozbuild/repackaging/deb.py b/python/mozbuild/mozbuild/repackaging/deb.py
index 132c5b2e46c9677512bf161c9656d2c63decc489..9ac448b52d1a6a8b97a43b388a04a79a2336d010 100644
--- a/python/mozbuild/mozbuild/repackaging/deb.py
+++ b/python/mozbuild/mozbuild/repackaging/deb.py
@@ -498,6 +498,8 @@ def _get_en_US_brand_fluent_filename(
         return branding_fluent_filename_template.format(brand="official")
     elif release_type == "beta" and release_product == "devedition":
         return branding_fluent_filename_template.format(brand="aurora")
+    elif release_type.startswith("esr"):
+        return branding_fluent_filename_template.format(brand="official")
     else:
         return branding_fluent_filename_template.format(brand="unofficial")
 
diff --git a/security/manager/ssl/RootHashes.inc b/security/manager/ssl/RootHashes.inc
index 4060eddd4b782005a3e34c8f84702a27f4416512..2259f165da24f409a94af0cf9241cefb1bb6aaa3 100644
--- a/security/manager/ssl/RootHashes.inc
+++ b/security/manager/ssl/RootHashes.inc
@@ -1167,6 +1167,12 @@ static const struct CertAuthorityHash ROOT_TABLE[] = {
       0x3B, 0xA0, 0x05, 0x66, 0x7C, 0x44, 0x2C, 0x97, 0x62, 0xB4, 0xFB, 0xB7, 0x73, 0xDE, 0x22, 0x8C },
       157 /* Bin Number */
   },
+  {
+    /* FIRMAPROFESIONAL_CA_ROOT_A_WEB */
+    { 0xBE, 0xF2, 0x56, 0xDA, 0xF2, 0x6E, 0x9C, 0x69, 0xBD, 0xEC, 0x16, 0x02, 0x35, 0x97, 0x98, 0xF3,
+      0xCA, 0xF7, 0x18, 0x21, 0xA0, 0x3E, 0x01, 0x82, 0x57, 0xC5, 0x3C, 0x65, 0x61, 0x7F, 0x3D, 0x4A },
+      267 /* Bin Number */
+  },
   {
     /* SecureSign_RootCA11 */
     { 0xBF, 0x0F, 0xEE, 0xFB, 0x9E, 0x3A, 0x58, 0x1A, 0xD5, 0xF9, 0xE9, 0xDB, 0x75, 0x89, 0x98, 0x57,
diff --git a/security/manager/ssl/StaticHPKPins.h b/security/manager/ssl/StaticHPKPins.h
index c134d8ec9a42cb4dd6b37ab8019328287495cef0..f7aba599ff03459e47e93400ea3d05167399717a 100644
--- a/security/manager/ssl/StaticHPKPins.h
+++ b/security/manager/ssl/StaticHPKPins.h
@@ -780,4 +780,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
 
 static const int32_t kUnknownId = -1;
 
-static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1727693843937000);
+static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1728298664097000);
diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc
index a7d60622fff03f09ea1475464fca9763be3a521d..a4c0b2262fd3cc86dd7ccde10a867332314a2a78 100644
--- a/security/manager/ssl/nsSTSPreloadList.inc
+++ b/security/manager/ssl/nsSTSPreloadList.inc
@@ -8,7 +8,7 @@
 /*****************************************************************************/
 
 #include <stdint.h>
-const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
+const PRTime gPreloadListExpirationTime = INT64_C(1730717856250000);
 %%
 0--1.de, 1
 0-0.io, 1
@@ -451,7 +451,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
 100mani.it, 1
 100marks.in, 1
 100nome.com, 1
-100onrainkajino.com, 1
 100pour100print.com, 1
 100pudov.tk, 1
 100refer.tk, 1
@@ -500,7 +499,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
 10365e.com, 1
 10365f.com, 1
 10365h.com, 1
-1037thefoxrocks.com, 1
 104.ua, 1
 1040taxfirm.com, 1
 1041263497.rsc.cdn77.org, 1
@@ -1088,7 +1086,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
 16321.tk, 1
 164.co, 1
 1644091933.rsc.cdn77.org, 1
-1650thefan.com, 1
 16561155.com, 1
 16561166.com, 1
 16561177.com, 1
@@ -1493,7 +1490,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
 1stcalldwfw.com, 1
 1stcallfdw.com, 1
 1stchoicelodging.com, 1
-1stchoicewaterproofing.com, 1
 1stclassbouncycastles.co.uk, 1
 1stforfun.co.uk, 1
 1stopfloor.com, 1
@@ -2183,7 +2179,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
 2mp.ca, 1
 2nains.ch, 0
 2ndface.info, 1
-2ndmileservice.com, 1
 2ndtivertonscouts.tk, 1
 2nerds1bit.com, 1
 2nimpresores.es, 1
@@ -2765,10 +2760,8 @@ const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
 3nickels.com, 1
 3niu007.com, 1
 3niu010.com, 1
-3niu100.com, 1
 3niu126.com, 1
 3niu1688.com, 1
-3niu178.com, 1
 3niu222.com, 1
 3niu226.com, 1
 3niu282.com, 1
@@ -2780,8 +2773,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
 3niu58.com, 1
 3niu588.com, 1
 3niu636.com, 1
-3niu66.com, 1
-3niu666.com, 1
 3niu6666.com, 1
 3niu668.com, 1
 3niu699.com, 1
@@ -2794,7 +2785,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
 3niu868.com, 1
 3niu880.com, 1
 3niu885.com, 1
-3niu888.com, 1
 3niu922.com, 1
 3niu99.com, 1
 3niusurl.com, 1
@@ -3101,6 +3091,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
 4daagse.nl, 1
 4dbuild.net, 1
 4devs.com.br, 1
+4digital.it, 1
 4digitiq.nl, 1
 4dillusion.tk, 1
 4dimension.net, 1
@@ -3352,9 +3343,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
 5201365.com, 0
 52051.com, 0
 52051a.com, 1
-5205365.com, 0
 52062z.com, 1
-5206365.com, 0
 5209365.com, 0
 520xpjxpj.com, 0
 521.dog, 1
@@ -3722,7 +3711,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
 645ds.com, 0
 64970.com, 1
 64bitgaming.de, 1
-64stacks.com, 1
 6502.pro, 1
 65131a.com, 1
 65131b.com, 1
@@ -4177,6 +4165,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
 77177.de, 1
 7733445.com, 1
 775018.com, 0
+777.tf, 1
 777111.xyz, 1
 777365t.com, 1
 7776321.com, 0
@@ -4430,7 +4419,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
 819323.com, 1
 8193d.com, 1
 8193d88.com, 1
-8196d.com, 1
 8197d.com, 1
 8197d88.com, 1
 8198d.com, 1
@@ -5270,7 +5258,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
 9357.cf, 1
 9358.cf, 1
 9359.cf, 1
-935themix.com, 1
 9360.cf, 1
 9361.cf, 1
 9362.cf, 1
@@ -5644,7 +5631,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1730113035228000);
 986ccc.com, 1
 9877bet.com, 1
 987987.com, 1
-987kisscountry.com, 1
 988.gov, 1
 9882258.com, 1
 9883358.com, 1
@@ -6456,7 +6442,6 @@ abcorporate-aviation.fr, 1
 abcpartyhire.com, 1
 abcprodutosvirtuais.com.br, 1
 abcrcm.com, 1
-abcripto.com.br, 1
 abcstudio.com.au, 1
 abcsystem.ml, 1
 abctaylor.com, 1
@@ -6728,7 +6713,6 @@ aboutyou.sk, 1
 abovethefirehouse.com, 1
 abovr.com, 1
 abox-kb.com, 1
-abpages.com, 1
 abpis.hr, 1
 abplive.com, 1
 abr.ru, 1
@@ -6871,7 +6855,6 @@ acaeum.com, 0
 acafellas.com, 1
 acalcio.ga, 1
 acallawayroofing.com, 1
-acaltair.com, 1
 acandroid.top, 1
 acani.xyz, 1
 acaonegocios.com.br, 1
@@ -7284,7 +7267,6 @@ activehire.co.uk, 1
 activeleisure.ie, 1
 activelife.travel, 1
 activenl.co.uk, 1
-activephysiohealth.com.au, 1
 activeplatesystem.ga, 1
 activeprospect.com, 1
 activespaceautomation.com, 1
@@ -7565,7 +7547,6 @@ adelicious.co, 1
 adelie.org.uk, 1
 adelightfulglow.com, 1
 adelina.com.br, 0
-adeline.mobi, 1
 adelinemerrick.com, 1
 adelonline.tk, 1
 adelphiawines.com, 1
@@ -7847,7 +7828,6 @@ adspu.org, 1
 adst.dk, 1
 adstop.ga, 1
 adstop.ml, 1
-adstune.com, 1
 adsviews.gq, 1
 adswoo.com, 1
 adt.pl, 1
@@ -7939,7 +7919,6 @@ advbizintel.com, 1
 advenacs.com, 1
 advenacs.com.au, 1
 advenapay.com, 1
-adventaholdings.com, 1
 adventalley.com, 1
 adventistai.lt, 1
 adventisthomemaker.com, 1
@@ -7947,6 +7926,7 @@ advento.bg, 1
 adventry.tk, 1
 adventure-runner.tk, 1
 adventureally.com, 1
+adventurealpinetreks.com, 1
 adventurearts.tk, 1
 adventurebikes.fr, 1
 adventureboy.co.uk, 1
@@ -8239,6 +8219,7 @@ aezw.at, 1
 af-clan.tk, 1
 af.link, 1
 af5t.com, 1
+afadansedeparis.com, 1
 afadvantage.gov, 1
 afanasev.tk, 1
 afandou.com, 1
@@ -8359,6 +8340,7 @@ aficards.com, 1
 aficionados.com.br, 1
 afilio.de, 1
 afinaudio.com, 1
+afinterio.com, 1
 afishablogs.tk, 1
 afive.us, 1
 afiyetolsun.jp, 1
@@ -8717,6 +8699,7 @@ agm4545.com, 1
 agmuscle.com, 1
 agnconnect.com, 1
 agnesk.blog, 1
+agneskindberg.com, 1
 agnesmatilda.tk, 1
 agnestakeaway.be, 1
 agneswater.org, 1
@@ -8875,6 +8858,7 @@ ahealingpath.org, 1
 ahealthyjourney.ca, 1
 ahegaoroulette.com, 1
 ahelos.tk, 1
+ahero4all.org, 1
 ahezu.com, 1
 ahg-offices.fr, 1
 ahhcomfortshoes.com, 1
@@ -8937,7 +8921,6 @@ ahsyg.com, 1
 ahtuxpk.ru, 1
 ahughes03.com, 1
 ahwah.net, 1
-ahwahnee.today, 1
 ai-english.jp, 1
 ai-genit.com, 1
 ai-kyousei.com, 1
@@ -9040,6 +9023,7 @@ aiguilhe-querre.com, 1
 aiha.com, 1
 aihaamua.tk, 1
 aiho.stream, 1
+aihschgo.org, 1
 aiiku-dental.jp, 1
 aiikun.com, 1
 aiinsurance.xyz, 1
@@ -9110,6 +9094,7 @@ aioboot.com, 1
 aiois.com, 1
 aioj.ac, 1
 aiom.tk, 1
+aion.fi, 1
 aiosetups.com, 1
 aiot.pw, 1
 aipbarcelona.com, 1
@@ -9119,7 +9104,6 @@ aipderm.com.mx, 1
 aipderm.eu, 1
 aipderm.mx, 1
 aipderm.ro, 1
-aipdev.kz, 1
 aipee.org, 1
 aiphyron.com, 1
 aipi.at, 1
@@ -9308,6 +9292,7 @@ airlineblue.com, 1
 airlinebookingtickets.com, 1
 airlinebuyticket.com, 1
 airlineby.com, 1
+airlinec.com, 1
 airlinecheapflightinternationalticket.com, 1
 airlinecheapflightticket.com, 1
 airlinecheapprices.com, 1
@@ -9372,6 +9357,7 @@ airlineseast.com, 1
 airlineseconomy.com, 1
 airlinesfirstclass.com, 1
 airlinesfleet.com, 1
+airlinesfrom.com, 1
 airlineshouston.com, 1
 airlinesincanada.com, 1
 airlinesingapore.com, 1
@@ -9398,6 +9384,7 @@ airlinesseating.com, 1
 airlinessingapore.com, 1
 airlinestexas.com, 1
 airlinesticketbooking.com, 1
+airlinesto.com, 1
 airlinestoalaska.com, 1
 airlinestoamerica.com, 1
 airlinestoatlanta.com, 1
@@ -9422,11 +9409,13 @@ airlinesturkey.com, 1
 airlinesunitedstates.com, 1
 airlinesvegas.com, 1
 airlinesvietnam.com, 1
+airlineti.com, 1
 airlinetic.com, 1
 airlineticketscheapflights.com, 1
 airlineticketsfrom.com, 1
 airlineticketspurchase.com, 1
 airlineticketswith.com, 1
+airlineto.com, 1
 airlinetocanada.com, 1
 airlinetohawaii.com, 1
 airlinetolasvegas.com, 1
@@ -9453,6 +9442,8 @@ airplanepictures.tk, 1
 airplanestatsers.ga, 1
 airplanestatsest.ga, 1
 airplanet.tk, 1
+airplanetic.com, 1
+airplanetick.com, 1
 airplaneticketcheap.com, 1
 airplay-inflatable-hire.co.uk, 1
 airplayradio.nl, 1
@@ -9868,7 +9859,6 @@ alabamagunowners.org, 1
 alabamanet.tk, 1
 alabamaonlinedivorce.com, 1
 alabamasoilandwater.gov, 1
-alabn.com, 1
 alaboard.com, 1
 alabordage.fr, 1
 alabuena.com, 1
@@ -9929,7 +9919,6 @@ alankatona.com, 1
 alanokling.nl, 1
 alanonsantabarbara.info, 1
 alanpearce.eu, 1
-alanpearce.uk, 0
 alanrogers.com, 1
 alansilson.tk, 1
 alantica.ga, 1
@@ -9938,6 +9927,7 @@ alanyatur.tk, 1
 alaoui.eu.org, 1
 alapa-tatsuno.com, 1
 alapetite.fr, 1
+alarab.chat, 1
 alarbnet.tk, 1
 alargarlavida.com, 1
 alarko-carrier.com.tr, 1
@@ -10193,7 +10183,6 @@ aleutrealestate.com, 1
 alevel.tech, 0
 alevi-forum.tk, 1
 alevi.tk, 1
-alevro.com, 1
 alex-n.net, 1
 alex-ross.co.uk, 1
 alex-werbung.de, 1
@@ -10662,7 +10651,6 @@ allcarespecialty.pharmacy, 1
 allcelebs.tk, 1
 allchan.io, 1
 allcinema.net, 1
-allcitynetwork.com, 1
 allcleanservices.ca, 1
 allcloud.com, 1
 allcompanycorp.com, 1
@@ -10857,7 +10845,6 @@ allpost.co, 1
 allprices.world, 1
 allprints.tk, 1
 allproformation.com, 1
-allpropertyservices.com, 1
 allproptonline.com, 1
 allpussynow.com, 1
 allrad-buck.de, 1
@@ -10895,8 +10882,8 @@ allsun.online, 1
 allsurg.org, 1
 allsurpl.us, 1
 allsurplus.com, 1
-allsync.com, 1
-allsync.nl, 1
+allsync.com, 0
+allsync.nl, 0
 allthatblings.online, 1
 allthebots.com, 1
 allthefallen.moe, 1
@@ -11165,6 +11152,7 @@ alquran-online.tk, 1
 alr-photography.com, 1
 alrahman.ch, 1
 alrahman.de, 1
+alrawdhawaterproofing.com, 1
 alre-outillage.fr, 1
 alredho.com, 1
 alrehmantech.tk, 1
@@ -11537,6 +11525,7 @@ amazingraymond.com.au, 1
 amazingribs.com, 1
 amazingstore.gq, 1
 amazingtattooideas.com, 1
+amazoan.shop, 1
 amazon, 1
 amazon.ae, 1
 amazon.at, 1
@@ -11568,6 +11557,7 @@ amberonline.tk, 1
 ambersafety.info, 1
 ambersaur.com, 1
 ambersoftware.co.uk, 1
+amberstudent.com, 1
 ambertears.tk, 1
 amberwiz.com, 1
 ambiancewindowcoverings.com, 1
@@ -11691,7 +11681,6 @@ americasbasementcontractor.com, 1
 americasbestawnings.com, 1
 americasblackprophet.com, 1
 americasdirector.com, 1
-americasgottalentauditions.com, 1
 americathebeautifulquarters.gov, 1
 americatracker.com, 1
 americavip.tk, 1
@@ -11766,7 +11755,6 @@ amigosgranada4050.tk, 1
 amigucrochet.com, 1
 amihousebuyers.com, 1
 amikton.ru, 1
-amilaresort.com, 1
 amilcalcados.com.br, 1
 amilesportes.com.br, 1
 amilum.org, 1
@@ -11842,7 +11830,6 @@ amnesty.org.au, 1
 amnesy.fr, 1
 amnion.tk, 1
 amniotic.tk, 1
-amniowell.com, 1
 amnistiya.tk, 1
 amoatuaexistencia.com.br, 1
 amobileway.co.uk, 1
@@ -12023,7 +12010,6 @@ anabarata.tk, 1
 anabecoaj.org, 1
 anabijou.com.br, 1
 anabolic-stresser.ga, 1
-anabolic.co, 1
 anabolickdieta.ga, 1
 anabolics.tk, 1
 anabolika.ga, 1
@@ -12556,7 +12542,6 @@ anglirl.eu.org, 1
 anglogoldashanti.com, 1
 anglopoltransport.pl, 1
 angolo.ga, 1
-angop.ao, 0
 angora.id, 1
 angorarabbitsaspets.com, 1
 angristan.fr, 1
@@ -12587,7 +12572,6 @@ aniabuduje.pl, 1
 aniaimichal.eu, 1
 anian.ch, 0
 aniblizzard.tk, 1
-anichief.com, 1
 anicloud.com.br, 1
 anievo.id, 0
 aniforprez.net, 1
@@ -13237,7 +13221,6 @@ anturis.com, 1
 antwire.net, 1
 antyblokada.pl, 1
 antyware.pl, 1
-anubandarage.com, 1
 anubislinux.tk, 1
 anubisz.tk, 1
 anubixx.com, 1
@@ -13336,7 +13319,6 @@ aobogo.com, 1
 aoconsultoria.com, 1
 aod-tech.com, 1
 aodisco.co.uk, 1
-aodnovel.com, 0
 aoe9.com, 1
 aoeuaoeu.com, 1
 aofusa.me, 1
@@ -13537,7 +13519,6 @@ apk-world.cf, 1
 apk.li, 1
 apk4fun.com, 1
 apkclup.com, 1
-apkcunk.com, 1
 apkdv.com, 0
 apkfame.com, 1
 apkfree.com, 1
@@ -13695,7 +13676,6 @@ appelboom.com, 1
 appelboomdefilm.nl, 1
 appelerintrt.tk, 1
 appemployees.tk, 1
-appen.com.cn, 1
 appengine.google.com, 1
 appetiser.com.au, 1
 appetitesanonymous.com, 1
@@ -13890,7 +13870,7 @@ apsb.cz, 1
 apsbengdubi.org, 1
 apse.ga, 1
 apsistemas.info, 1
-apsl.sk, 1
+apsl.sk, 0
 apsnewcastle.com, 0
 apspayroll.com, 1
 apsprofessions.gov.au, 1
@@ -13923,6 +13903,7 @@ apuestalegal.pe, 1
 apuestalegalchile.com, 1
 apunkt.dk, 1
 apur.org, 1
+apuvalinetekniikka.fi, 1
 apuyou.io, 0
 apv-ollon.ch, 1
 apviz.io, 1
@@ -13945,7 +13926,7 @@ aqua-fitness-nacht.de, 1
 aqua-fm.tk, 1
 aqua-fotowelt.de, 1
 aqua-minsk.tk, 1
-aqua-oxygene.fr, 1
+aqua-oxygene.fr, 0
 aqua-print.com.ua, 1
 aqua-richtig.de, 1
 aquababy.at, 1
@@ -13975,7 +13956,6 @@ aqualogis.co.uk, 1
 aqualysis.nl, 0
 aquamarin.icu, 1
 aquamart.tk, 1
-aquanedra.ru, 1
 aquantia.com, 1
 aquapets.tk, 1
 aquaphor.com, 1
@@ -14002,7 +13982,7 @@ aquaselect.eu, 1
 aquasplash.ae, 1
 aquastudios.games, 1
 aquasun.pl, 1
-aquatherm72.ru, 1
+aquatherm72.ru, 0
 aquatiq.com, 1
 aquato.com.ua, 1
 aquatropical.tk, 1
@@ -14259,6 +14239,7 @@ arcza.com, 1
 arcza.net, 0
 ardabil.tk, 1
 ardacar.com, 1
+ardadanal.com, 1
 ardakannews.tk, 1
 ardania.de, 1
 ardennepta.org, 1
@@ -14379,7 +14360,6 @@ arhitectura.ru, 1
 arhivpalanka.rs, 1
 ari.beauty, 1
 ari.gg, 1
-ari.lt, 1
 aria-best.ru, 1
 aria-best.su, 1
 aria-sante.org, 1
@@ -14732,7 +14712,6 @@ arsenalestate.tk, 1
 arsenalperu.tk, 1
 arsenideas.ga, 1
 arsenyan.cf, 1
-arset.net, 1
 arshdeepsingh.tk, 1
 arshia.cf, 1
 arshidazarine.tk, 1
@@ -14790,7 +14769,6 @@ artcravers.in, 1
 artdeco-photo.com, 0
 artdecoration.tk, 1
 artdigital.tk, 1
-artdigitalmedia.co.uk, 1
 arte-actual.tk, 1
 artea.ga, 1
 arteaga.co.uk, 1
@@ -14871,6 +14849,7 @@ articlepub.ga, 1
 articlesplanet.tk, 1
 articlestack.tk, 1
 articlesutiles.cf, 1
+artico.io, 1
 articool-tour.ru, 1
 articu.no, 1
 artifact.center, 1
@@ -14907,7 +14886,6 @@ artisan-ravalement-facade.fr, 1
 artisan.tk, 1
 artisanat2france.fr, 1
 artisanhd.com, 1
-artisanity.io, 1
 artisanportrait.com, 1
 artisansofstone.com, 1
 artisansoftaste.com, 1
@@ -15159,6 +15137,7 @@ ascom.vi.it, 1
 ascon-profi.ru, 1
 ascormovies.com, 1
 ascpaphilatelie.eu, 1
+ascra.pt, 0
 ascultaonlineradio.ml, 1
 asd.gov.au, 0
 asdchieti.tk, 1
@@ -15230,7 +15209,6 @@ ashiba-kagu.com, 1
 ashikajewellers.com.au, 1
 ashimwe.com, 1
 ashisharma.tk, 1
-ashishchamoli.com, 1
 ashlandcountywi.gov, 1
 ashlandoregon.gov, 1
 ashlee-club.tk, 1
@@ -15466,7 +15444,7 @@ assemblage.gq, 1
 assemblee-copropriete.fr, 1
 assemblyai.com, 0
 assemblywithoutthewalls.org, 1
-assens.dk, 1
+assens.dk, 0
 assentfitness.com, 1
 assentis.ch, 1
 assentis.com, 1
@@ -15639,8 +15617,10 @@ astrograph.io, 1
 astrojunkies.com, 1
 astrolab.tk, 1
 astroloeches.tk, 1
+astrologeminesolakoglu.com, 1
 astrologerumesh.com, 1
 astrologic.cf, 1
+astrologics.in, 1
 astrologie12.tk, 1
 astrologify.com, 1
 astrology-for-beginners.com, 1
@@ -15762,6 +15742,7 @@ atebaa.ga, 1
 atec.pt, 1
 ateli.com, 1
 atelier-aleph.fr, 1
+atelier-lebreton.fr, 1
 atelier-naruby.cz, 1
 atelier-rk.com, 1
 atelier-viennois-cannes.fr, 1
@@ -16002,7 +15983,7 @@ atproducts.xyz, 1
 atpx.com, 1
 atraining.ru, 1
 atrands.com, 1
-atresclick.com, 0
+atresclick.com, 1
 atrevillot.com, 1
 atrexservices.com, 1
 atriaresort.ro, 1
@@ -16481,7 +16462,6 @@ autocashmachine.tk, 1
 autocenters.ca, 1
 autocheck.co.nz, 1
 autocirkel.tk, 1
-autoclassics.com, 1
 autocmall.com, 1
 autocoder.chat, 1
 autoconcept.ga, 1
@@ -18193,6 +18173,7 @@ bahrainmarina.bh, 1
 bahrainonline.tk, 1
 bahrep.com, 1
 bahri.sa, 1
+bai-bao.fr, 1
 baichi.cf, 1
 baichi.ml, 1
 baiduo.com, 1
@@ -18216,7 +18197,6 @@ bailleux.be, 1
 bailodromo.tk, 1
 bailong.kr.ua, 1
 bailonga.com, 1
-baimed.com.au, 1
 bainba.com, 1
 baindayman.com, 1
 baircentral.com, 1
@@ -18278,7 +18258,7 @@ bakersafari.co, 1
 bakersfieldhomeoffer.com, 1
 bakerviewdentalcentre.com, 1
 bakerymazowsze.co.uk, 1
-bakesy.shop, 1
+bakesy.shop, 0
 bakeup.be, 1
 bakibal.com, 1
 bakira.eu, 1
@@ -18322,7 +18302,6 @@ balance.courses, 1
 balance.education, 1
 balance.equipment, 1
 balance.technology, 1
-balanceadosmendoza.com, 1
 balancecreamers.ga, 1
 balancecreamest.ga, 1
 balancedbrawl.net, 1
@@ -18380,7 +18359,6 @@ baliwebsitedesign.info, 1
 balkan-observatory.net, 1
 balkannightlife.ga, 1
 balkanpharmstore.com, 1
-balkenbushmechanical.com, 1
 balkoni.gq, 1
 balkonien.org, 1
 balkonov.com.ua, 1
@@ -18434,6 +18412,7 @@ baltoe.com, 0
 baluarte.com, 1
 bam.com.gt, 1
 bamaland.org, 1
+bambamthetanman.com, 1
 bamberger-maelzerei.de, 1
 bambergerdatenschutz.de, 1
 bamboehof.nl, 1
@@ -18554,7 +18533,6 @@ banglets.com, 1
 bangsparks.com, 1
 bangujero.tk, 1
 bangyu.wang, 1
-banh.am, 1
 banham.co.uk, 0
 banham.com, 1
 banhphongtomquangtran.com, 1
@@ -18695,10 +18673,8 @@ baratzegrowshop.com, 1
 baravalle.com, 1
 baraxolka.ga, 1
 baraxolka.ml, 1
-barbacoe.nl, 1
 barbara-bertagnolli.co.uk, 1
 barbara-fuchs-gruene-fuerth.de, 1
-barbarabowersrealty.com, 1
 barbarabryce.com, 1
 barbaraedanielsantos.ga, 1
 barbarafabbri.com, 1
@@ -19225,7 +19201,6 @@ bayernwaage.de, 1
 bayerstefan.com, 1
 bayerstefan.de, 1
 bayerstefan.eu, 1
-bayhauling.net, 1
 bayherbalist.com, 1
 bayilelakiku.com, 1
 bayliss.aero, 1
@@ -19519,6 +19494,7 @@ bealcreative.com.au, 1
 bealefss.marketing, 1
 bealeslandscaping.co.uk, 1
 bealest.org, 1
+bealpha.pl, 1
 beam-life.tk, 1
 beama.org, 1
 beambdi.com, 1
@@ -19838,7 +19814,6 @@ beetech.global, 1
 beetgroup.id, 1
 beethoveninlove.com, 1
 beetsforyou.xyz, 1
-beeweighed.co.uk, 1
 beezkneezcastles.co.uk, 1
 beeznest.com, 1
 befantasy.tk, 1
@@ -19878,7 +19853,6 @@ behealthandrehab.com, 1
 behealthyeveryday.eu, 1
 behemoth.cf, 1
 beherit.pl, 1
-behinam.co.il, 1
 behind-the-mask.tk, 1
 behindenemyminds.be, 1
 behindenemyminds.eu, 1
@@ -20077,7 +20051,6 @@ belleplainemn.gov, 1
 bellesetrebelles.tk, 1
 bellevilleboot.com, 1
 bellevueduilawyers.com, 1
-bellezanatural.life, 1
 bellezon-shop.com, 1
 bellezzasenzalimiti.it, 1
 bellflowerlactation.com, 1
@@ -20157,7 +20130,7 @@ benaldirma.net, 1
 benary.org, 1
 benas.tk, 1
 benatarfanclub.com, 1
-benatherton.com, 1
+benatherton.com, 0
 benatskezrkadla.sk, 1
 benavides.xyz, 1
 benazir-reaction.tk, 1
@@ -20195,7 +20168,6 @@ benedikto.tk, 1
 benee-awraham.nl, 1
 benefeds.com, 1
 benefitboys.com, 1
-benefitharbor.com, 1
 benefits.gov, 1
 benefitsbookcase.com, 1
 benefitz.cf, 1
@@ -20397,7 +20369,6 @@ berggeit.tk, 1
 berghof-foundation.org, 1
 berghuus.ch, 1
 berglust-pur.de, 1
-bergmanbeachproperties.com, 1
 bergside.pl, 1
 bergsjomannen.tk, 1
 bergstation.eu, 1
@@ -20411,7 +20382,6 @@ berichtsheft-vorlage.de, 1
 berighthere.com, 1
 berightthere.eu, 1
 berikod.ru, 1
-beris.us, 1
 beritalaptop.com, 1
 beritamotor.tk, 1
 beritanow.tk, 1
@@ -20528,7 +20498,6 @@ bert-hein.de, 1
 bert.org, 1
 bertaudarthur.fr, 1
 bertbrockham.org.uk, 1
-bertgroup.com, 1
 berthabailey.com, 1
 berthaphil.com, 1
 berthaundcarlbenzpreis.de, 1
@@ -20564,6 +20533,7 @@ besiktasmtsk.com, 1
 besnard.me, 1
 besnik.de, 0
 besnik.tk, 1
+besola.de, 1
 besole.ch, 1
 besolov.tk, 1
 besomandhearth.com, 1
@@ -21098,7 +21068,6 @@ betbed.ml, 1
 betbravo.et, 1
 betc.com, 1
 betcn-mart.com, 1
-betcounselor.com, 1
 betecnet.de, 1
 betel.tk, 1
 betelgeus.com, 1
@@ -21325,6 +21294,8 @@ bexleycastles.co.uk, 1
 bey.io, 1
 beybiz.com, 1
 beybladesource.tk, 1
+beyer-on-it.com, 1
+beyer-on-it.de, 1
 beyer.cloud, 1
 beyer.consulting, 1
 beyer.media, 1
@@ -21384,7 +21355,6 @@ bfc-expertcomptable.com, 1
 bfcgermania88.de, 1
 bfelob.gov, 1
 bfem.gov, 1
-bferal.cl, 1
 bffr.wtf, 1
 bfh.science, 1
 bfharrison.com, 1
@@ -21430,7 +21400,6 @@ bgmall.tk, 1
 bgmedia.tk, 1
 bgmn.me, 1
 bgmontaggi.com, 1
-bgmsquad.com, 1
 bgp.co, 1
 bgr34.cz, 1
 bgs-game.com, 1
@@ -21495,7 +21464,6 @@ bianinapiccanovias.com, 1
 biano-ai.com, 1
 biantai.cf, 1
 biantai.ml, 1
-biantti.md, 1
 bianyanan.xyz, 1
 biaoxiong.com, 1
 biaozi.cf, 1
@@ -21708,6 +21676,7 @@ bigeasyfences.com, 1
 bigeasygrille.com, 0
 bigfreebet.com, 1
 bigfreebielist.tk, 1
+biggbuz.com, 1
 biggernews.gq, 1
 biggerpicture.agency, 1
 biggerpockets.com, 1
@@ -21834,6 +21803,7 @@ bilalozdemir.me, 1
 bilanca.com.hr, 1
 bilar.tk, 1
 bilbao.tk, 1
+bilbayt.com, 1
 bilbud.tk, 1
 bilder-designs.de, 1
 bilderload.com, 1
@@ -21862,6 +21832,7 @@ bilhos.com.tr, 1
 bilibili.link, 1
 bilibili.party, 1
 bilimal.kz, 1
+bilimoe.com, 1
 bilingualunit.tk, 1
 bilisimdanismani.com, 1
 biliwind.com, 0
@@ -22584,7 +22555,6 @@ bizor.tk, 1
 bizpay.su, 1
 bizprom.ga, 1
 bizstart.ga, 1
-bizstarter.cz, 1
 bizsugar.ga, 1
 bizteam.ga, 1
 biztera.com, 1
@@ -22754,6 +22724,7 @@ bkin-42740.xyz, 1
 bkin-43450.xyz, 1
 bkin-46680.xyz, 1
 bkk24.de, 1
+bkkf.at, 1
 bkkposn.com, 1
 bklaindia.com, 1
 bkms-system.com, 1
@@ -23084,7 +23055,6 @@ blenderinsider.com, 1
 blenderrecipereviews.com, 1
 blendessencial.com, 1
 blending.kr, 1
-blendle.com, 1
 blendle.nl, 1
 blenneros.net, 0
 blero.tk, 1
@@ -23156,6 +23126,7 @@ blissbox.com, 1
 blissdrive.com, 1
 blissfieldmichigan.gov, 1
 blissfulbali.com, 1
+blissfulsmile.com, 1
 blissplan.com, 1
 blissway.tk, 1
 blissy.com.br, 1
@@ -23296,7 +23267,6 @@ bloggingwithchildren.com, 1
 bloggs.xyz, 1
 blogguitar.tk, 1
 bloggyaani.com, 1
-bloggytalky.com, 1
 bloghogger.tk, 1
 blogidol.tk, 1
 bloginformatique.ml, 1
@@ -23425,6 +23395,7 @@ bluecrossmn.com, 1
 blued.moe, 1
 bluedeck.org, 1
 bluedivision.tk, 1
+bluedog-security.com, 1
 blueenergy.tk, 1
 blueeyesworld.tk, 1
 bluefieldwv.gov, 1
@@ -23480,7 +23451,6 @@ blueridgemanorky.gov, 1
 blueridgeplans.com, 1
 bluerootsmarketing.com, 1
 blues-and-pictures.com, 1
-blues.at, 1
 bluesbarn.tk, 1
 bluesbuyers.com, 1
 bluescape.com, 0
@@ -24055,7 +24025,6 @@ boobsgirls.com, 1
 boodmo.com, 1
 boof.com, 0
 boogiedown.tk, 1
-booglobal.com, 1
 boogschutters-perk.tk, 1
 boojiboysbasement.tk, 1
 book-excursion.com, 1
@@ -24314,7 +24283,6 @@ boston-molly.tk, 1
 boston-sailing.com, 1
 bostonadvisors.com, 0
 bostonaoii.com, 1
-bostonblockchainassociation.org, 1
 bostonews.tk, 1
 bostonfast.com, 1
 bostonivy.co, 1
@@ -24367,6 +24335,7 @@ bouallaoui.tk, 1
 boubyranol-biere.com, 1
 bouchard-mathieux.com, 1
 boucherie-charcuterie.ca, 1
+boucherie-restaurant-les-provinces.fr, 1
 bouchonville-knifemaker.com, 1
 bouckaert-usedcars.be, 0
 bouckaert.co, 1
@@ -24653,7 +24622,6 @@ bracebridgechiro.com, 1
 bracelet-chakras.com, 1
 braces-supports.tk, 1
 bracesjourney.com, 1
-brachotelborak.com, 1
 bracken.jp, 1
 bracket.land, 1
 bracketofficial.com, 1
@@ -24773,7 +24741,6 @@ branchchristianschool.org.uk, 1
 branchcounty.gov, 1
 branchenbuch-potsdam.com, 1
 branchingminds.com, 1
-branchrvparktexas.com, 1
 branchtobox.com, 1
 branchtrack.com, 1
 brand-design.studio, 1
@@ -25381,7 +25348,6 @@ brnogame.online, 1
 brnohra.com, 1
 brnohra.cz, 1
 brnohra.online, 1
-brnojebozi.cz, 1
 brnr.link, 1
 brntn.me, 1
 broadax.ml, 1
@@ -25448,7 +25414,6 @@ brokernews.com.au, 1
 brokernotes.co, 1
 brokerpro.com, 1
 brokersandbrothers.com, 1
-brokerstalk.com, 1
 brokeryouers.ga, 1
 brokeryouest.ga, 1
 brokfolio.com, 1
@@ -26073,6 +26038,7 @@ bukn.uk, 1
 bukowski.se, 1
 bukowski.tk, 1
 bukpcszerviz.hu, 1
+buksu.edu.ph, 1
 bukularis.ga, 1
 bul3seas.eu, 1
 bulabanews.com.ng, 1
@@ -26328,6 +26294,7 @@ burz.one, 1
 burz.ro, 1
 burzcast.com, 1
 burzcast.media, 1
+burzcast.ro, 1
 burzgroup.com, 1
 burzmali.com, 1
 burzmedia.ro, 1
@@ -26999,7 +26966,6 @@ bytebiter.io, 1
 bytebodega.com, 1
 bytebolt.at, 1
 bytebucket.org, 1
-byteflick.org, 1
 bytelink.pro, 1
 bytema.cz, 1
 bytema.eu, 1
@@ -27173,6 +27139,7 @@ caballeroalba.cf, 1
 caballerosdeltablero.tk, 1
 cabanactf.com, 1
 cabaretadanowskyfan.tk, 1
+cabazon-tu.com, 1
 cabbage.software, 1
 cabbagetree.io, 1
 cabcard.services, 1
@@ -27320,7 +27287,6 @@ cafe-pauline.de, 1
 cafe-service.ru, 0
 cafead.de, 1
 cafeamazon.tk, 1
-cafeamore.com.br, 1
 cafebab.com, 1
 cafebeirut.tk, 1
 cafecentraal.tk, 1
@@ -27369,6 +27335,7 @@ caffewasyl.pl, 1
 cafled.org, 1
 caflou.com, 1
 caflou.cz, 1
+cafpatronato.it, 1
 caftan.tk, 1
 cag.legal, 1
 cagalogluhamami.com.tr, 1
@@ -27461,7 +27428,6 @@ calaficirecords.cf, 1
 calaix.click, 1
 calamidad.tk, 1
 calamp.com, 1
-calancamassages.ch, 0
 calandrahosting.tk, 1
 calantonieta.tk, 1
 calaverascounty.gov, 1
@@ -27819,7 +27785,6 @@ campolivillagebakery.com, 1
 campona.hu, 1
 camposolillo.tk, 1
 camppisos.com.br, 1
-camprunamutt.dog, 1
 campsoulfestival.com, 1
 campstuffs.com, 1
 camptonnh.gov, 1
@@ -27869,7 +27834,6 @@ canadamails.tk, 1
 canadapet.club, 1
 canadapets.club, 1
 canadapost-postescanada.ca, 1
-canadapropertyexpert.ca, 1
 canadasteroiddepot.is, 1
 canadianarcticproducers.com, 1
 canadianatheists.ca, 1
@@ -28004,7 +27968,6 @@ canile.it, 1
 caninecadre.net, 1
 caninecompilation.com, 1
 caninejournal.com, 1
-caniuse.email, 1
 canjo.gov, 1
 cankado.com, 1
 canker.org, 1
@@ -28462,7 +28425,6 @@ caribank.org, 1
 caribbean-tekton.com, 1
 caribbeancinemas.com, 1
 caribbeansolutionslab.com, 1
-caribeeficiente.com.co, 1
 caribuku.tk, 1
 caricature.fr, 1
 caricatureavenue.com, 1
@@ -28651,7 +28613,6 @@ carplus.net, 1
 carportus.com, 1
 carpostal.com, 1
 carprice.auction, 1
-carprice.ru, 1
 carproof.com, 1
 carpticon.tk, 1
 carpuya.ga, 1
@@ -28936,7 +28897,6 @@ casillasdecoria.tk, 1
 casino-apps.dk, 1
 casino-cash-flow.com.ru, 1
 casino-cash-flow.info, 1
-casino-cash-flow.pro, 1
 casino-cash-flow.ru, 1
 casino-cash-flow.su, 1
 casino-cashflow.ru, 1
@@ -29072,7 +29032,6 @@ casinoleader.com, 1
 casinolistings.com, 1
 casinologinaustralia.com, 1
 casinomucho.com, 1
-casinomucho.org, 1
 casinomucho.se, 1
 casinonieuws.nl, 1
 casinoonline39.com, 1
@@ -29390,12 +29349,6 @@ cazfire.gov, 1
 cazino.dk, 1
 cazinoz.ru, 0
 cazizi.com, 1
-cazoo-dev.co.uk, 1
-cazoo-dev.com, 1
-cazoo-test.co.uk, 1
-cazoo-test.com, 1
-cazoo.co.uk, 1
-cazoo.com, 1
 cb1388.com, 1
 cb1588.com, 1
 cb96net.ru, 1
@@ -29777,7 +29730,6 @@ celiac.com, 1
 celinaohiopd.gov, 1
 celine-patisserie.fr, 1
 celineitalia.tk, 1
-celinepsychotherapie.com, 1
 celinesrecipes.com, 1
 cell-wellbeing.com.br, 1
 cellboost.cf, 1
@@ -29792,7 +29744,6 @@ cellrg.org, 1
 cellsheet.me, 1
 cellsites.nz, 1
 celltek-server.de, 1
-celltick.com, 1
 celltraders.ga, 1
 cellufit.ga, 1
 cellul19.com, 1
@@ -29812,7 +29763,6 @@ celticangel.org, 1
 celticconnections.com, 1
 celticdream.tk, 1
 celtigafutbolclub.com, 1
-celulares.com, 1
 celulas-estaminais.info, 1
 celuliteonline.com, 1
 cemac.int, 1
@@ -29882,7 +29832,6 @@ centrale-vapeur.pro, 1
 centralebigmat.eu, 1
 centralegedimat.eu, 1
 centralesnucleaires.fr, 1
-centralex.io, 1
 centralfinancas.com, 1
 centralfor.me, 1
 centralhome.com, 1
@@ -30025,7 +29974,7 @@ ceremonialcastings.tk, 1
 ceremonialvirtualphd.com, 1
 ceremonybydesign.com.au, 1
 cerena-silver.ru, 0
-ceres-corp.org, 1
+ceres-corp.org, 0
 cerezacomunicacion.com, 1
 cerfid.com.pe, 1
 cerivo.co.uk, 1
@@ -30059,6 +30008,7 @@ certbus.com, 1
 certcenter.com, 0
 certevia.com, 1
 certfa.com, 1
+certfica4u.com, 1
 certidao-nascimento-pt.org, 1
 certificadodigitalpari.com.br, 1
 certificados.edu.do, 1
@@ -30113,6 +30063,7 @@ cesarteixeiraimoveis.com.br, 1
 cesboard.com, 1
 cesc.shop, 1
 cescfortuny.tk, 1
+cesclam.org, 1
 cesdb.com, 1
 cesenatoday.it, 1
 cesibo.com, 1
@@ -30461,7 +30412,6 @@ character-count.com, 1
 charbonnel.eu, 1
 charcoal-se.org, 1
 charcoal.pro, 1
-charcoalvenice.com, 1
 chardik.tk, 1
 charge.ga, 1
 charge.gq, 1
@@ -30490,7 +30440,6 @@ charlesdickens.tk, 1
 charlesmarsan.com, 1
 charlesperkinsacademy.com.au, 1
 charlesrogers.co.uk, 1
-charlessturge.com, 1
 charlestonfacialplastic.com, 1
 charlestonpersonalinjurylawyer.com, 1
 charlestonsecuritysystems.net, 1
@@ -30527,7 +30476,6 @@ charlottecountyva.gov, 1
 charlottejulienne.com, 1
 charlottemi.gov, 1
 charlottesvillegolfcommunities.com, 1
-charlottesvillehorsefarms.com, 1
 charlotteswimmingpoolbuilder.com, 1
 charlubermensch.com, 1
 charlws.com, 1
@@ -30720,6 +30668,7 @@ cheapestwaytofly.com, 1
 cheapexpenseers.ga, 1
 cheapexpenseest.ga, 1
 cheapfareto.com, 1
+cheapflightatlanta.com, 1
 cheapflightla.com, 1
 cheapflightmexico.com, 1
 cheapflightsengland.com, 1
@@ -30765,6 +30714,7 @@ cheathax.com, 1
 cheatmasters.tk, 1
 cheatomania.tk, 1
 cheatraiders.tk, 1
+cheatsupreme.com, 1
 cheazey.co, 1
 cheazey.net, 1
 cheazey.org, 1
@@ -30852,7 +30802,6 @@ chefkoch.de, 1
 cheflindseyfarr.com, 1
 chefnardulli.com, 1
 chefpablito.tk, 1
-chefscraftgourmet.com, 0
 chefshooba.com, 1
 chefsuccess.com, 1
 cheftasy.com, 1
@@ -31014,7 +30963,6 @@ chialab.net, 1
 chialab.srl, 1
 chiamami.online, 1
 chiamatehot.com, 1
-chiangdao.com, 1
 chiangli.ml, 1
 chiangmaimontessori.com, 1
 chianti2002.jp, 1
@@ -31217,7 +31165,6 @@ chips.gov, 1
 chipset.no, 1
 chipsfuck.fish, 1
 chiquian.tk, 1
-chirality.de, 1
 chiralsoftware.com, 1
 chireiden.me, 1
 chiriri.top, 1
@@ -31232,7 +31179,6 @@ chirolokalenfonteintjekoersel.be, 1
 chiromeisjes-boxberg.tk, 1
 chiron.care, 0
 chiropractic.gr, 1
-chiropracticwpb.com, 0
 chiropractorlongmontgpa.com, 1
 chiropraktik-riemann.de, 1
 chiropraktik-wildner.de, 0
@@ -31408,7 +31354,6 @@ chrismiller.xyz, 1
 chrismorgan.info, 1
 chrismurray.co.uk, 1
 chrismurrayfilm.com, 1
-chrisogedengbe.org, 1
 chrispaul.ml, 1
 chrispontius.tk, 1
 chrisrude.com, 1
@@ -31436,7 +31381,6 @@ christian-liebel.com, 1
 christian-oette.de, 1
 christian-schlichting.de, 1
 christian-stadelmann.de, 1
-christianadventurecamps.org, 1
 christianaknudsen.com, 1
 christianbecker.name, 1
 christianblog.ml, 1
@@ -31917,7 +31861,6 @@ cir.is, 1
 cira.email, 1
 cirasul.com, 1
 cirasync.com, 1
-circady.com, 1
 circara.com, 1
 circle-people.com, 1
 circlebox.rocks, 1
@@ -32013,7 +31956,6 @@ citizensbankal.com, 1
 citizenscience.gov, 1
 citizensgbr.org, 1
 citizenside.fr, 0
-citizenslasvegas.com, 1
 citizensleague.org, 1
 citizentruth.org, 1
 citos.ga, 1
@@ -32212,6 +32154,7 @@ citypress.gq, 1
 citypro.tk, 1
 cityprotowing.com, 1
 cityprotowingdallas.com, 1
+cityradiusmaps.com, 1
 cityscapeinsurance.com, 1
 cityseeker.com, 1
 citysmartdmc.com, 1
@@ -32344,7 +32287,6 @@ clad.cf, 1
 clague.moe, 1
 claibornecountyms.gov, 1
 claibornecountytn.gov, 1
-claim-justice.com, 1
 claimconnect.us, 1
 claimflights.at, 1
 claimflights.co.uk, 0
@@ -32761,6 +32703,7 @@ clickenergy.com.au, 1
 clickfinger.net, 1
 clickforum.cf, 1
 clickfreescore.com, 1
+clickhelp.com, 0
 clickheretobegin.tk, 1
 clickhost.com.au, 1
 clickhouse.tech, 1
@@ -32789,6 +32732,7 @@ clicktolinkb.gq, 1
 clicktrans.com, 1
 clicktrans.de, 1
 clicktrans.es, 1
+clicktrans.it, 1
 clicktrans.pl, 1
 clickzone.ga, 1
 clicoclick.com, 1
@@ -33667,15 +33611,12 @@ codesandbolts.com, 1
 codesgroup.tk, 1
 codeslaw.com, 1
 codesplain.in, 1
-codesport.io, 1
-codesquad.com.au, 1
 codessale.com, 1
 codestudies.net, 1
 codetahiche.com, 1
 codetheweb.blog, 1
 codetheworld.com, 1
 codetrack.se, 1
-codetricked.com, 1
 codetripping.net, 1
 codeupstudios.com, 1
 codeux.com, 1
@@ -33785,7 +33726,6 @@ cognac-tasting-tour.com, 0
 cognigennetwork.tk, 1
 cognitiveapplications.net, 1
 cognitohq.com, 0
-cognixia.us, 1
 cognosweb.net, 1
 cogolloelegante.com, 1
 cogsquad.house, 1
@@ -33837,7 +33777,6 @@ coinnewspulse.com, 1
 coinpaprika.com, 1
 coinpedia.org, 1
 coinplay.com, 1
-coinroom.com, 1
 coins2001.ru, 1
 coinsales.net, 1
 coinscatalog.net, 1
@@ -34271,7 +34210,6 @@ comma-store.eu, 1
 commagere.com, 1
 command53.fr, 1
 commandeleven.com, 0
-commander-seo.com, 1
 commanderone.net, 1
 commanderx.cf, 1
 commanderx.ml, 1
@@ -34920,6 +34858,7 @@ consul-novocherkassk.ml, 1
 consul.io, 0
 consuldat.com, 1
 consulenteambientale.it, 1
+consulentedellavoro.it, 1
 consulenza.pro, 1
 consulplan.net, 1
 consult-altius.co.uk, 1
@@ -34990,6 +34929,7 @@ contalbi.pt, 1
 contaminatie.nl, 1
 contango.xyz, 1
 contato.vip, 1
+contempfleury.com, 1
 contemplativeeducation.org, 1
 contemptevoke.com, 1
 contenedoresdereciclaje.online, 1
@@ -35328,7 +35268,6 @@ coredroid.com, 1
 corefy.com, 1
 coreg.tk, 1
 corehealthberks.com, 1
-corehealthcare.com.au, 1
 corelationinc.com, 1
 coreless-initiative.net, 1
 coremcnetwork.ml, 1
@@ -35844,6 +35783,7 @@ cozmoapp.com, 1
 cozo.me, 1
 coztacukrzyca.pl, 1
 cozumelairlines.com, 1
+cozumelflight.com, 1
 cozumelisparadise.com, 1
 cozy.town, 1
 cozyeggdesigns.com, 1
@@ -36605,6 +36545,7 @@ crowleybrynn.com, 1
 crown-beverage.com, 1
 crown-building.com, 1
 crown-trading.ru, 1
+crownaffairs.ch, 1
 crowncastles.co.uk, 1
 crownchessclub.com, 1
 crownedhijab.com, 1
@@ -36826,6 +36767,7 @@ crystalcleaningservicing.com, 1
 crystalcube.tk, 1
 crystaldesign.tk, 1
 crystaldown.de, 0
+crystaleez.ru, 1
 crystalglass.ml, 1
 crystallake.tk, 1
 crystalprinting.com.au, 1
@@ -36938,7 +36880,7 @@ csharpmarc.net, 1
 cshe.de, 1
 cshive-img.com, 1
 cshive-static.com, 1
-cshm-schm.ca, 1
+cshm-schm.ca, 0
 cshostorg.tk, 1
 cshs.edu, 1
 csilies.de, 1
@@ -37384,6 +37326,7 @@ customcraft.tk, 1
 customdesignbuildremodel.com, 1
 customdissertation.com, 1
 customeessay.com, 1
+customer2you.com, 1
 customerfocus.co.za, 1
 customerservicemanager.com, 1
 customerservicepal.com, 1
@@ -37789,7 +37732,6 @@ cypherpunk.observer, 1
 cypherpunk.ws, 1
 cypressca.gov, 1
 cypressinheritancesaga.com, 1
-cypresslegacy.com, 1
 cypro.co.uk, 1
 cyprus-company-for.gr, 1
 cyprus-company-service.com, 1
@@ -38240,7 +38182,6 @@ dalycity.gov, 1
 damadam.pk, 1
 damades.com, 1
 damag.net, 1
-damaged.org, 1
 damanlu.com, 1
 damanlv.com, 1
 damarsarkilar.tk, 1
@@ -38843,7 +38784,6 @@ datadraugen.no, 1
 datadyne.technology, 1
 dataentry.top, 1
 datafactory.co.za, 1
-datafarms.com, 1
 datafloq.com, 1
 dataformers.at, 0
 datagate.com.br, 1
@@ -38945,6 +38885,7 @@ datenretter.tk, 1
 datenrettung360.at, 1
 datenrettung360.de, 1
 datensalat.info, 1
+datenschutz-consult.de, 1
 datenschutz-gruenwald.de, 1
 datenschutz-individuell.de, 1
 datenschutz-isny.de, 1
@@ -39701,7 +39642,6 @@ decorator.uk, 1
 decoratore.roma.it, 1
 decorestilo.com.br, 1
 decorlux.bg, 1
-decorluxmuebles.com, 1
 decormiernissanparts.com, 1
 decorno.tk, 1
 decorpol-renovation.fr, 1
@@ -39720,7 +39660,6 @@ decs.es, 1
 decstasy.de, 1
 decsys.work, 1
 decubex.com, 1
-dedal.store, 0
 dedede.ro, 1
 dedektor.com, 1
 dedelta.net, 1
@@ -40165,7 +40104,6 @@ demisch-tim.de, 1
 demischtim.de, 1
 demish.tk, 1
 demltd.com, 1
-demmakina.com, 1
 demmer.one, 1
 demo-awl.com, 1
 demo-ferma.ga, 1
@@ -40253,7 +40191,6 @@ denied.gr, 1
 denieuwenederlandsevlag.tk, 1
 deniky.cz, 1
 denimtoday.com, 1
-denince.net, 1
 denisaadolfova.com, 1
 denisadinu.com, 1
 denisdimoski.tk, 1
@@ -40402,7 +40339,6 @@ deooyevaar.nl, 0
 deoremann.com, 0
 deoxy.org, 1
 depaco.com, 1
-depak.de, 1
 depannage-traceur.fr, 1
 depapboeren.tk, 1
 deparis.me, 1
@@ -40932,7 +40868,6 @@ devin.gay, 1
 devindavid.com, 1
 devinfo.net, 0
 devinite.com, 1
-devinity.ai, 1
 devinlasarre.com, 1
 devinslick.com, 1
 devirc.net, 1
@@ -41002,7 +40937,6 @@ devtty.org, 1
 devuan.org, 0
 devurandom.tk, 1
 devushki.cf, 1
-devvg.co.uk, 1
 devyanijayakar.com, 1
 devzero.io, 0
 dewalch.net, 1
@@ -41045,7 +40979,6 @@ dezea.net, 1
 dezeregio.nl, 1
 dezet-ev.de, 1
 dezevenster.com, 1
-dezinsekcija.online, 1
 dezshop.com.ua, 1
 dezzoroofing.co.za, 1
 df-clan.tk, 1
@@ -41569,6 +41502,7 @@ digimen.store, 1
 digimen.top, 1
 digimen.xyz, 1
 digimethods.com, 1
+digimind-evolution.com, 1
 digimobee.info, 1
 digimoncard.io, 1
 digimortals.nl, 1
@@ -42051,7 +41985,6 @@ disability.gov, 1
 disabilitydischarge.com, 1
 disabilityscoop.com, 1
 disabled-world.com, 1
-disabled.gay, 1
 disableipv4.se, 1
 disabuse.cf, 1
 disadattamentolavorativo.it, 1
@@ -42066,6 +41999,7 @@ disc.uz, 1
 discarica.bari.it, 1
 discarica.bologna.it, 1
 discarica.firenze.it, 1
+discarica.it, 1
 discarica.milano.it, 1
 discarica.napoli.it, 1
 discarica.roma.it, 1
@@ -42405,6 +42339,7 @@ divizja.tk, 1
 divjak.at, 1
 divo-remont.tk, 1
 divorce.com, 1
+divorceattorneyschicago.com, 1
 divorceattorneyshouston.com, 1
 divorceformsfiller.com, 1
 divorcelawyer365.com, 1
@@ -43246,7 +43181,6 @@ doko.pl, 1
 dokonline.tk, 1
 dokspot.cf, 1
 dokspot.ga, 1
-doktererectie.com, 1
 doktorplyusheva.ml, 1
 doku-gilde.de, 1
 dokuboard.com, 1
@@ -43307,6 +43241,7 @@ dolph.de, 1
 dolphin-cloud.com, 1
 dolphin-hosting.com, 1
 dolphin-it.de, 1
+dolphinbraces.com, 1
 dolphins.tk, 1
 dolphyserver.tk, 1
 dolys.fr, 1
@@ -43970,7 +43905,6 @@ dp-clan.tk, 1
 dp-films.de, 1
 dp.cx, 1
 dp7.ro, 1
-dpangerl.de, 0
 dpanosian.com, 1
 dpasn-afpa.fr, 1
 dpath.com, 1
@@ -44569,10 +44503,8 @@ dropboxer.net, 1
 dropchat.cf, 1
 dropchat.ga, 1
 dropchat.ml, 1
-dropcop.com, 1
 dropden.com, 1
 droperplus.com, 1
-dropeverythingrecords.com, 1
 droply.host, 1
 dropmb.com, 1
 droppia.io, 1
@@ -44607,7 +44539,6 @@ drryanstanton.com, 1
 drsajjadian.com, 1
 drsamkelojiyana.co.za, 1
 drsamuelkoo.com, 1
-drschlesinger.net, 1
 drschusterman.com, 1
 drsejf.cz, 1
 drshadankabiri.com, 1
@@ -44637,7 +44568,6 @@ drtomson.ee, 1
 drtragency.com, 1
 drtsaiclinic.com, 1
 drtti.io, 1
-drturner.com.au, 1
 druah.moe, 1
 drubn.de, 1
 druckerei-huesgen.de, 1
@@ -44772,7 +44702,6 @@ dspnor.com, 1
 dspretoria.co.za, 1
 dspropertyservicesltd.co.uk, 1
 dsreal.de, 1
-dssresearch.com, 1
 dsswise.org, 1
 dstamou.de, 1
 dsteiner.at, 1
@@ -44830,7 +44759,6 @@ dtrifonov.cf, 1
 dtto.com, 1
 dtuaarsfest.dk, 1
 dtune.me, 1
-dtx.sk, 1
 du.co, 1
 dua-e-zehra.org, 1
 dual-aspect.com, 1
@@ -44851,15 +44779,19 @@ duanemorrisinstitute.com, 1
 duanre.tk, 1
 duanyong.com, 1
 duarteeleiteconsultoria.com.br, 1
+dubai-fashions.com, 1
 dubai-realestate.space, 1
 dubaiaerospace.com, 1
 dubaiaward.link, 1
 dubaibliss.com, 1
 dubaifitnesschallenge.com, 1
+dubaigrandsale.com, 1
 dubailuxuryinvestors.com, 1
 dubaiprivatejetcharter.com, 1
+dubairanking.com, 1
 dubairun.com, 1
 dubaisc.ae, 1
+dubaishoppingcity.com, 1
 dubaistudiocity.ae, 1
 dubaitourism.gov.ae, 1
 dubaivisa.net, 1
@@ -45332,7 +45264,6 @@ dyma.fr, 1
 dymdajce.ovh, 1
 dymension-uat.co.uk, 1
 dymension.co.uk, 1
-dymfbbs.com, 1
 dymmo.tk, 1
 dymmovie.com, 1
 dymond.net, 1
@@ -45471,6 +45402,7 @@ e-bap.net, 1
 e-baraxolka.ru, 1
 e-belgia.tk, 1
 e-bikesdirect.co.uk, 0
+e-bill.ovh, 1
 e-blueprint.co.uk, 1
 e-bodybuilding.tk, 1
 e-boekhouden.nl, 1
@@ -45720,7 +45652,6 @@ eajglobal.co.uk, 1
 eajglobal.com, 1
 eajglobal.net, 1
 eajglobal.uk, 1
-eajmail.com, 1
 eakes.com, 0
 eaktarim.com, 1
 ealadel.com, 0
@@ -45925,7 +45856,6 @@ easyslide.be, 1
 easysoft.tk, 1
 easysubmit.tk, 1
 easytamil.tk, 1
-easytap.sv, 1
 easytestonline.tk, 1
 easytext.ga, 1
 easytfa.com, 1
@@ -46377,7 +46307,6 @@ ecsafety.com, 1
 ecscoutgroup.cf, 1
 ecstaticentertainment.com, 1
 ecsupplyinc.com, 1
-ect-cpg.com, 1
 ect-telecoms.com, 1
 ectfsaz.com, 1
 ectora.com, 1
@@ -46620,7 +46549,7 @@ educasis.tk, 1
 educatek.es, 1
 educatie.tk, 1
 education-info.cf, 1
-education.gov.bb, 0
+education.gov.bb, 1
 education4paper.tk, 1
 educationarea.tk, 1
 educationboard.ml, 1
@@ -46849,6 +46778,7 @@ eflmedia.org, 1
 eflorashop.be, 1
 eflorashop.ch, 1
 eflorashop.co.uk, 1
+eflorashop.com, 1
 eflorashop.de, 1
 eflorashop.es, 1
 eflorashop.fr, 1
@@ -47839,7 +47769,7 @@ ellierose.photography, 1
 elligre.tk, 1
 ellinaras.tk, 1
 ellingworth.co.uk, 1
-elliot.cat, 1
+elliot.cat, 0
 elliotbrandwein.com, 1
 elliotlewisms.com, 1
 elliottbernstein.com, 1
@@ -47918,6 +47848,7 @@ elpcnc.com, 1
 elpellejodelabreva.tk, 1
 elperdigon.tk, 1
 elperfil.pe, 1
+elperiodicodelaenergia.com, 1
 elphnt.io, 1
 elpincho.tk, 1
 elpitazo.net, 1
@@ -47959,7 +47890,6 @@ elstravato.com, 1
 elsuccionador.com, 1
 elsvanderlugt.nl, 1
 elsvanmerhaeghe.be, 1
-elsweb.net, 1
 elsword.moe, 0
 elsylist.com, 1
 eltair.com, 1
@@ -48361,6 +48291,7 @@ emprendeconchrisfx.com, 1
 emprendedoresdesevilla.es, 1
 emprendimientoweb.co, 1
 emprendimientoyformacion.com, 1
+empresa1.com.br, 1
 empresa365.com, 1
 empresautil.tk, 1
 emprestimodedinheiro.com, 1
@@ -48438,6 +48369,7 @@ enamae.net, 1
 enamelpin.club, 1
 enaminestore.com, 1
 enamonada.com, 1
+enattendantpauline.ca, 1
 enbecom.net, 1
 enboarder.com, 1
 enbulleiugnen.com, 1
@@ -49023,7 +48955,6 @@ enzure.se, 1
 enzyme-sensor.net, 1
 eo-literaturo.tk, 1
 eoa.live, 1
-eocservices.co.uk, 1
 eod.su, 1
 eofster.com, 1
 eohima.org, 0
@@ -49147,26 +49078,14 @@ epoch-film.ml, 1
 epochcg.pt, 1
 epolitiker.com, 1
 epos.az, 1
-eposbirmingham.co.uk, 1
-eposbrighton.co.uk, 1
-eposbristol.co.uk, 1
-eposcardiff.co.uk, 1
 eposig.net, 1
-eposkent.co.uk, 1
-eposleeds.co.uk, 1
-eposleicester.co.uk, 1
-eposliverpool.co.uk, 1
-eposlondon.co.uk, 1
 eposmidlands.co.uk, 1
 eposnottingham.co.uk, 1
 eposreading.co.uk, 1
-epossheffield.co.uk, 1
 epossussex.co.uk, 1
-eposswansea.co.uk, 1
 epost.pub, 1
 epost.tw, 1
 epostplus.li, 1
-eposyork.co.uk, 1
 eposzilos.nl, 1
 epoxyfloor.com.my, 1
 epoxyflooringperth.com.au, 1
@@ -49638,10 +49557,10 @@ escuelitasansebastian.cl, 1
 escuelotika-online.tk, 1
 escursione.it, 1
 escyr.top, 0
+esd.cc, 1
 esdacademy.eu, 1
 esdarat.ml, 1
 esden.com, 1
-esdenera.com, 1
 esdiscuss.org, 1
 esdrasluna.com, 1
 esds.com.br, 1
@@ -49698,6 +49617,7 @@ eslamahmed.tk, 1
 esleme.com, 1
 eslightinghire.co.uk, 1
 eslint.org, 0
+eslove.jp, 1
 eslutt.cc, 1
 esm.run, 1
 esmalglass-itaca.com, 0
@@ -49871,7 +49791,6 @@ estafallando.mx, 1
 estahl.dk, 1
 estallidodigital.cl, 1
 estampascriativas.com.br, 1
-estampille-paris.fr, 1
 estanciasgauchas.com.br, 1
 estate360.co.tz, 1
 estatebud.com, 1
@@ -49916,7 +49835,6 @@ estlat.eu, 0
 estoense.com, 1
 estomp.de, 1
 estonia.ee, 0
-estonia.net, 1
 estoniananonymous.tk, 1
 estoniantrade.ee, 1
 estonoentraenelexamen.com, 1
@@ -49984,7 +49902,6 @@ etaxigraz.com, 1
 etccooperative.org, 0
 etch.co, 1
 etch44.com, 1
-etcivil.com, 1
 etctop.tk, 1
 etdcampus.com, 1
 etdp.co.za, 1
@@ -50097,7 +50014,6 @@ etindustries.com, 1
 etiqa.tk, 1
 etisalat.af, 1
 etisrl.net, 0
-etlaq.com, 1
 etmtobik.eu, 1
 etnis.id, 1
 etnoforum.tk, 1
@@ -50747,6 +50663,7 @@ ewansinclair.tk, 1
 ewanto.de, 1
 ewaroeng.com, 0
 ewatchers.org, 1
+ewddlacity.com, 1
 ewebcreative.com, 1
 ewen-bara.com, 1
 ewesparky.com, 1
@@ -50811,7 +50728,6 @@ examsmate.in, 1
 examsoft.com, 1
 examticket.tk, 1
 exaplac.com, 1
-exarcheia.com, 1
 exarcheia.link, 1
 exarcheia.online, 1
 exarcheia.ru, 1
@@ -50888,7 +50804,6 @@ exclusivelyuk.co.uk, 1
 exclusivemilf.com, 1
 exclusiveresorts.com, 1
 excluzive.ml, 1
-excoins.biz, 1
 excontinuum.de, 1
 excursiones.tk, 1
 exdomo.com, 1
@@ -50959,7 +50874,6 @@ exomind.gq, 1
 exon.io, 1
 exonip.de, 1
 exonovov.tk, 1
-exorcisethat.com, 1
 exordiumconcepts.com, 1
 exosama.com, 1
 exoscale.ch, 1
@@ -51031,6 +50945,7 @@ expert.cz, 1
 expert96.cf, 1
 expertairductcleaninghouston.com, 1
 expertclub.tk, 1
+expertcomics.ca, 1
 experteasy.com.au, 1
 expertembeleza.com, 1
 expertembeleza.com.br, 1
@@ -51310,9 +51225,7 @@ eylea.us, 1
 eylog.co.uk, 1
 eylulsohbet.net, 1
 eynio.com, 1
-eyodin.com, 1
 eyona.com, 1
-eyoo.link, 0
 eyps.net, 1
 eytosh.net, 1
 eyy.co, 1
@@ -52114,7 +52027,9 @@ fareast.gq, 1
 fareast.tk, 1
 fareinternational.com, 1
 farenheit.net, 1
+faresair.com, 1
 faresfrom.com, 1
+fareto.com, 1
 faretravel.co.uk, 1
 fareuntrasloco.it, 1
 farexpress.it, 0
@@ -52328,6 +52243,7 @@ fastcast.ga, 1
 fastcats.tk, 1
 fastcdn.info, 1
 fastcloud.ge, 1
+fastcomcorp.com, 1
 fastcomcorp.net, 1
 fastcommerce.org, 1
 fastconfirm.com, 1
@@ -52359,7 +52275,6 @@ fastighetsekonomi.com, 0
 fastknighki.ga, 1
 fastknigi.ml, 1
 fastlaneimportautorepair.com, 1
-fastmail.com, 0
 fastme.co, 1
 fastmeet.tk, 1
 fastmetrics.com, 1
@@ -52407,6 +52322,8 @@ fatetx.gov, 1
 fatfueled.com, 1
 fatherhood.gov, 1
 fatidique.com, 1
+fatig.com, 1
+fatiguesyndrome.com, 1
 fatihingemisi.com, 1
 fatimamoldes.com.br, 1
 fatlabwebsupport.com, 1
@@ -52506,7 +52423,7 @@ fbe.to, 1
 fbf.gov, 1
 fbfwd.email, 1
 fbi.gov, 1
-fbigame.com, 1
+fbigame.com, 0
 fbihr.gov, 1
 fbiic.gov, 1
 fbijobs.gov, 1
@@ -52966,7 +52883,6 @@ ferienwohnung-ruegen.tk, 1
 ferienwohnung-wiesengrund.eu, 1
 ferienwohnung-wilmersdorf.de, 1
 ferienwohnungen-lastminute.de, 1
-ferienwohnungen-willingen.de, 1
 ferienwohnunglanger.de, 1
 ferieservice.dk, 1
 ferio-fuu.tk, 1
@@ -52974,7 +52890,6 @@ ferlc.org, 1
 ferluxilluminazione.it, 1
 fermabel.com.br, 1
 fermanacuratampaparts.com, 1
-fermanaghomagh.com, 1
 fermani.ar, 1
 fermani.com.ar, 1
 fermastore.cf, 1
@@ -53579,7 +53494,6 @@ filehorsefile.com, 1
 fileio.io, 1
 filejo.com, 1
 filek.ga, 1
-fileon.com, 1
 fileplanet.com, 1
 fileport.io, 1
 filequit.xyz, 1
@@ -53670,7 +53584,6 @@ filokiralama.name.tr, 1
 filosofare.tk, 1
 filosofia.tk, 1
 filosofiskaeleonora.se, 1
-filstop.com, 1
 filter-kiev.com, 1
 filterlists.com, 1
 filtershekanha.com, 1
@@ -53927,7 +53840,6 @@ fiore31.fr, 1
 fiorellaweddings.com, 1
 fiorenzaperfumhome.com.br, 1
 fioriepiante.info, 1
-fioristionline.it, 1
 fioristionline.net, 1
 fiosgenomics.com, 1
 fioulmarket.fr, 1
@@ -53936,6 +53848,7 @@ fiphfp.fr, 1
 fipo.life, 1
 fipq.tk, 1
 fir.ch, 1
+firatcakir.com.tr, 1
 firatnews.com, 1
 firatofm.tk, 1
 firaun.tk, 1
@@ -54062,13 +53975,11 @@ firstdry.com.br, 1
 firstechpayments.com, 0
 firstfinanceit.com, 1
 firstgov.gov, 1
-firstgradeframeofmind.com, 1
 firsthomebuyersaustralia.com.au, 1
 firstimpressionsecuritydoors.com, 1
 firstlab.com, 1
 firstlayout.net, 1
 firstlegal.group, 1
-firstlightfusion.com, 1
 firstlightinspirations.tk, 1
 firstload.tk, 1
 firstmall.de, 1
@@ -54078,7 +53989,6 @@ firstnet.gov, 1
 firstnetwork.cf, 1
 firstnetworksouth.com, 1
 firstorion.com, 1
-firstperformance.ro, 1
 firstphilec.com, 1
 firstplace.ga, 1
 firstq.xyz, 1
@@ -54134,7 +54044,6 @@ fishermansbendtownhouses.com.au, 1
 fishersin.gov, 1
 fishfive.top, 1
 fishgen.no, 1
-fishingin.ru, 1
 fishingworld.tk, 1
 fishingzone.bg, 1
 fishlanestudios.com, 1
@@ -54342,7 +54251,6 @@ fkaoi.net, 1
 fkbae.to, 1
 fkcdn.de, 1
 fkfev.de, 1
-fkgfw.men, 1
 fklegal.com, 1
 fkmt-server.net, 1
 fkosquad.moe, 1
@@ -54584,7 +54492,7 @@ fleximus.org, 0
 flexingpro.com, 1
 flexinsurance.com.au, 1
 flexinvesting.fi, 0
-flexirobes.com.au, 1
+flexirobes.com.au, 0
 flexitanq.es, 0
 flexman.tk, 1
 flexmedia.tk, 1
@@ -54619,10 +54527,12 @@ fliesen-waldschmidt.de, 1
 fliesenbock.com, 1
 flight.school, 1
 flightacademy-memmingen.com, 1
+flightairport.com, 1
 flightcheapfares.com, 1
 flightdiary.cf, 1
 flightdiary.ga, 1
 flightdiary.gq, 1
+flightfrankfurt.com, 1
 flighthonolulu.com, 1
 flightjackets.tk, 1
 flightrights.gov, 1
@@ -54632,6 +54542,7 @@ flightschoolcandidates.gov, 1
 flightschoolxxi.com, 1
 flightspace.net, 1
 flightstimes.com, 1
+flightti.com, 1
 flightticketsto.com, 1
 flightzero.cf, 1
 fliino.com, 1
@@ -54791,7 +54702,7 @@ floridaconsumerhelp.gov, 1
 floridados.gov, 1
 floridaethics.gov, 1
 floridafabrication.net, 1
-floridafieros.org, 1
+floridafieros.org, 0
 floridafx.gov, 1
 floridahealthcareconnections.gov, 1
 floridaimigracao.com, 1
@@ -54876,8 +54787,6 @@ flowinvoice.com, 1
 flowio.cz, 1
 flowith.io, 1
 flowlytics.host, 1
-flowmagazine.com, 1
-flowmagazine.nl, 1
 flownonfiction.com, 1
 flownty.com, 1
 flowoodpolice.gov, 1
@@ -55188,7 +55097,6 @@ fomo.exposed, 1
 fomo.trading, 1
 fomobremen.info, 1
 fomopop.com, 1
-foncorbeta.com, 1
 fondation-afnic.fr, 1
 fondation-vinci.com, 1
 fondationdesterritoires.org, 1
@@ -55765,7 +55673,6 @@ forumdabeleza.com.br, 1
 forumdimo.fr, 1
 forumfeeers.ga, 1
 forumhsbm.tk, 1
-forumhub.org, 1
 forumirc.net, 1
 forumistudentore.tk, 1
 forumix.tk, 1
@@ -55904,7 +55811,6 @@ fotrino.com, 1
 foucheplumbers.com, 1
 foudufafa.de, 0
 fougereettralala.fr, 1
-fougner.co, 1
 foulabook.com, 1
 found.com, 1
 found.website, 1
@@ -55944,7 +55850,6 @@ fournarisopenday.com, 1
 fournisseur-des-collectivites.com, 1
 fourpeaks.com, 1
 fourscore.ga, 1
-foursight.io, 0
 fourstrategy.de, 1
 fourwaysplumber24-7.co.za, 1
 fousekis.tk, 1
@@ -56137,7 +56042,7 @@ framedpaws.com, 1
 framemo.org, 1
 framer.ai, 1
 framer.com, 1
-framer.live, 0
+framer.live, 1
 framer.website, 1
 framerjs.com, 1
 frames-eyelash.com, 1
@@ -56179,7 +56084,6 @@ franceterritoires.com, 1
 francetraceur.fr, 1
 franchini.email, 1
 franchini.engineer, 1
-franchise-cost.com, 1
 franchisebarrelhousepub.com, 1
 franchisechain.org, 1
 franchisechaodoi-cambodia.com, 1
@@ -56604,7 +56508,6 @@ freeporttx.gov, 1
 freeprintabletm.com, 1
 freepro.com, 1
 freepro.fr, 1
-freepron.xyz, 1
 freeradical.zone, 1
 freereal.ml, 1
 freerealincest.com, 1
@@ -56716,7 +56619,6 @@ frenchbluecottage.com, 1
 frenchcreekcog.org, 1
 frenchcreekroofing.com, 0
 frenchdays.fr, 1
-frenchieskingdom.com, 1
 frenchmac.com, 1
 frenchtownmi.gov, 1
 frenchvandal.com, 0
@@ -57388,7 +57290,6 @@ fundingpartner.no, 1
 fundingpartner.se, 1
 fundkyapp.com, 1
 fundort.ch, 1
-fundpress.org, 0
 funds.ddns.net, 1
 fundsincourt.vic.gov.au, 1
 fundwave.com, 1
@@ -57640,7 +57541,6 @@ fusi.tk, 1
 fusico.be, 1
 fusico.com, 1
 fusico.digital, 1
-fusion-lamps.com, 1
 fusionapps.com, 1
 fusionapps.net, 1
 fusionarmenia.tk, 1
@@ -57863,7 +57763,6 @@ fyroeo.fr, 0
 fysio-ict.nl, 1
 fysiotherapie-ict.nl, 1
 fysiotherapie.tk, 1
-fysiotherapieapeldoornzuid.nl, 1
 fysiotherapiesimons.nl, 1
 fyss.ga, 1
 fysuite.com, 1
@@ -58175,6 +58074,7 @@ gallbladder.sg, 1
 galle.cz, 1
 galleonwaymedical.com.au, 1
 galleriacontinua.com, 1
+galleriadental.ca, 1
 gallerify.eu, 1
 gallery-easysolution.tk, 1
 gallery-kaze.jp, 1
@@ -58311,7 +58211,7 @@ gameplus.win, 1
 gamepokies.ml, 1
 gameportalmoz.tk, 1
 gamepower.tk, 1
-gamepres.org, 0
+gamepres.org, 1
 gamepunel.cf, 1
 gamepunel.tk, 1
 gamepunelita.cf, 1
@@ -58491,7 +58391,6 @@ gaojianli.me, 1
 gaojianli.tk, 1
 gaojue.art, 1
 gaon.network, 1
-gaoqirun.com, 1
 gaos.org, 1
 gap150.jp, 1
 gapfa.ro, 1
@@ -58670,7 +58569,6 @@ gastroenterologen.no, 1
 gastrolab.tk, 1
 gastromedicalcenter.com.br, 1
 gastronom.ga, 1
-gastronomiaaz.com, 1
 gastronomias.com.pt, 1
 gastrosfera.info, 1
 gastrotiger.at, 1
@@ -58690,7 +58588,6 @@ gatesstlouis.com, 1
 gatestoaesgaard.tk, 1
 gatetoadventures.com, 1
 gateway-cart.com, 1
-gatewaybridal.com, 1
 gatewayfurniture.com, 1
 gatewayp.com, 1
 gatewaytire.com, 1
@@ -58918,7 +58815,6 @@ geauxdns.com, 1
 geba-online.de, 1
 gebaeude-braun.de, 1
 gebaeudebilanzierung.de, 1
-gebaeudeklima-schweiz.ch, 1
 gebeliktakibim.com, 1
 geben.digital, 1
 gebhardtinsurancegroup.com, 1
@@ -59096,7 +58992,6 @@ gemmproductions.com, 1
 gemmy.cf, 1
 gemonite.com, 1
 gemooi.com, 1
-gempak.com, 1
 gempool.ie, 1
 gemquery.com, 1
 gemsen.com, 1
@@ -59752,7 +59647,6 @@ getlawyered.com.au, 1
 getleanflorida.gov, 1
 getlessgivemore.com, 1
 getlibrary.com, 1
-getmango.com, 1
 getmarksvoice.com, 1
 getmdl.io, 1
 getme.cf, 1
@@ -59777,7 +59671,6 @@ getpaidtodesign.com, 1
 getpaidtodev.com, 1
 getpanelapp.com, 1
 getpavedmidmichigan.com, 1
-getpdf.in, 1
 getpet.lt, 1
 getplus.com.au, 1
 getpro.plumbing, 1
@@ -59941,6 +59834,7 @@ gggg.loan, 1
 gginin.today, 1
 ggiveilig.nl, 1
 gglks.com, 1
+ggmm.net, 0
 ggmmontascale.it, 1
 ggobbo.com, 1
 ggs-marschallstrasse.de, 1
@@ -60401,7 +60295,6 @@ given2.com, 1
 given2.me, 1
 given2.us, 1
 given4.it, 1
-givepenny.com, 1
 givery.cz, 1
 givery.sk, 1
 givesunlight.com, 1
@@ -61513,7 +61406,6 @@ gopri.tk, 1
 gopro-qa.com, 1
 gopro-staging.com, 1
 gopro.com, 1
-goproallaccess.com, 1
 gopronow.ga, 1
 goprotowingsanantonio.com, 1
 gopuntaisla.com, 1
@@ -62141,6 +62033,7 @@ grattan.co.uk, 1
 grattecenne.com, 1
 gratuitweb.tk, 1
 graumeier.de, 1
+grauwasser-blog.de, 1
 gravedad-zero.tk, 1
 gravedigger.tk, 1
 gravelshooters.com, 0
@@ -62274,7 +62167,6 @@ green-paradise.tk, 1
 green-smart.com, 1
 green-smart.work, 1
 green-snake.com, 1
-green-version.com, 1
 green-wood.com, 1
 green.com.do, 1
 green1052.com, 1
@@ -62753,6 +62645,7 @@ growthservicesinc.com, 1
 growthsimulationest.ga, 1
 growthtoysers.ga, 1
 growthtoysest.ga, 1
+growwithdaylight.co.uk, 1
 growy.ch, 0
 grozdanov.tk, 1
 grozter.se, 1
@@ -62933,7 +62826,6 @@ gtapg.net, 1
 gtb-nsn.gov, 1
 gtbeyes.com, 1
 gtbgames.com, 1
-gtc.com.gt, 1
 gtcountymi.gov, 1
 gtcprojects.com, 1
 gtd.cloud, 1
@@ -62947,7 +62839,6 @@ gtlcenter.org, 1
 gtld.fyi, 1
 gtm-server.com, 1
 gtmetrix.com, 1
-gtmhub.com, 1
 gtn-pravda.ru, 1
 gtonline.ml, 1
 gtopala.com, 1
@@ -63068,7 +62959,6 @@ guiahotelera.com.co, 1
 guiajunqueiropolis.com.br, 1
 guialegal.co, 1
 guiaminhasaude.net, 1
-guiaprofesional.co, 1
 guiarestobar.com.co, 1
 guiascliente.com, 1
 guiasdemexico.tk, 1
@@ -63256,7 +63146,6 @@ gustarfsberg.ga, 1
 gustarfsberg.gq, 1
 gustarfsberg.tk, 1
 gustavapp.com, 1
-gustaveeiffel-arruda.pt, 1
 gustavo-lima.ml, 1
 gustavoleiloeiro.lel.br, 1
 gustavomolina.com, 1
@@ -63323,7 +63212,6 @@ guzemarkets.com, 1
 guzey.me, 1
 guzgu.me, 1
 guzlewski.pl, 1
-guzmansgreenhouse.com, 1
 gv-kirchberg.ch, 1
 gv-neumann.de, 1
 gv-salto.nl, 1
@@ -63377,7 +63265,6 @@ gxiangsoft.com, 1
 gxm5.com, 1
 gxmyqy.net, 1
 gyaanprasaar.tk, 1
-gyanchowk.com, 1
 gyannews.ga, 1
 gyas.nl, 1
 gybagardlin.tk, 1
@@ -64642,7 +64529,6 @@ haus-mittelpunkt.de, 1
 haus-momo.ch, 1
 haus.bio, 1
 hausarzt-nw.de, 1
-hausarzt-nw.info, 1
 hausdorf.ru, 1
 hausfoto.cz, 1
 hausfrauficken.com, 1
@@ -64773,7 +64659,6 @@ hazelwood.co.uk, 1
 hazeover.com, 1
 hazhistoria.net, 1
 hazimdesign.tk, 1
-hazit.co.il, 1
 hazlocheaters.com, 1
 hazloconlapix.com, 1
 hazyhosting.tk, 1
@@ -64826,7 +64711,6 @@ hcc-server.de, 1
 hccnet.org, 1
 hcdatn.gov, 1
 hcdonbass.com, 1
-hceu-performance.com, 1
 hcfeye.com.au, 1
 hcfl.gov, 1
 hcfoodpantry.org, 1
@@ -65291,7 +65175,6 @@ healthyfitfood.com, 1
 healthyflorida.tk, 1
 healthyfoodanddrink.tk, 1
 healthygeorgia.tk, 1
-healthyhomesofmichigan.com, 0
 healthyhomeventilation.com.au, 1
 healthyhours.tk, 1
 healthyindiana.tk, 1
@@ -65349,7 +65232,6 @@ heartlandtownandcountry.tk, 1
 heartofenglandfirstaidtraining.com, 1
 heartofgod.tk, 1
 heartofthepeace.com, 0
-heartonmysleevegreetings.com, 1
 heartsintrueharmony.com, 1
 heartsucker.com, 0
 hearttruth.gov, 1
@@ -65438,6 +65320,7 @@ hectorlima.tk, 1
 hedd.audio, 1
 heddoun.com, 1
 hedefhalk.com, 1
+hedefkompresor.com, 1
 hedenskrig.tk, 1
 hederaconsulting.com, 1
 hederawinkel.nl, 0
@@ -66658,7 +66541,6 @@ hispalazarus.tk, 1
 hispania-valencia.com, 1
 hispania.ml, 1
 hispanidad.tk, 1
-hispasat.es, 1
 hispashare.org, 1
 hispasonic.com, 1
 hispro.co, 1
@@ -66668,7 +66550,6 @@ hisscentralen.se, 1
 hisscraft.se, 1
 histalek.de, 0
 histhist.ru, 1
-histicle.com, 1
 histkult.ml, 1
 histkult.tk, 1
 histogames.com, 1
@@ -67066,7 +66947,7 @@ holderbekebvba.be, 1
 holdiers.tk, 1
 holdingcelebrations.tk, 1
 holdinghandsbrazil.com, 1
-holdmybeer.io, 0
+holdmybeer.io, 1
 holdmymeme.com, 1
 holdperson.tk, 1
 holebedeljek.hu, 1
@@ -67242,7 +67123,6 @@ homebrewworm.tk, 1
 homebuilder.tk, 1
 homebutton.tk, 1
 homecache.ga, 1
-homecareassociatespa.com, 1
 homecaring.com.au, 1
 homecaster.ga, 1
 homecatch.ga, 1
@@ -67499,7 +67379,6 @@ homeseller.com, 1
 homeserve.es, 1
 homeserver-kp.de, 1
 homesforaustralia.ga, 1
-homesfordinner.ca, 1
 homeshow.ml, 1
 homeshowoff.com, 1
 homesonic.ga, 1
@@ -67643,10 +67522,8 @@ hookagency.com, 1
 hookah-uae.com, 1
 hookahfoil.ru, 1
 hookandloom.com, 1
-hookbin.com, 1
 hookedoncraftswaterford.ie, 1
 hookercountyne.gov, 1
-hookshotdesign.com, 1
 hooliapp.com, 1
 hoolibit.com, 1
 hooliganka.tk, 1
@@ -67723,6 +67600,7 @@ horizon.ne.jp, 1
 horizonlawncare.tk, 1
 horizonmail.ga, 1
 horizonshypnosis.ca, 0
+horizonsmilestx.com, 1
 horizonsocial.media, 1
 horizontalsystems.io, 1
 horizonveterinaryservices.com, 1
@@ -67738,7 +67616,6 @@ hornbach-holding.de, 1
 hornblower.tk, 1
 hornburg.io, 1
 horne.com, 1
-hornet.pl, 1
 hornetsecurity.com, 1
 horneytownbrewing.com, 1
 horngyihyangped.com.tw, 1
@@ -67812,7 +67689,7 @@ hosiery.tk, 1
 hosieryexpoers.ga, 1
 hosieryexpoest.ga, 1
 hosifuri.net, 1
-hosimiyasio.com, 1
+hosimiyasio.com, 0
 hosoi-tax.com, 1
 hospiceandcommunitycare.com, 1
 hospiceandcommunitycare.net, 1
@@ -67840,6 +67717,7 @@ hospitalsineachstate.com, 1
 hospitalviladaserra.com.br, 1
 hossi.pro, 0
 hossien.tk, 1
+hossleylps.com, 1
 host-heberg.com, 1
 host-morezar.ml, 1
 host.ax, 1
@@ -68017,6 +67895,7 @@ hoteldimorae.it, 1
 hoteldvorik.ml, 1
 hotelelaphusabrac.com, 1
 hoteleldhestar.is, 1
+hotelesterobeach.com, 1
 hotelfloresta.tk, 1
 hotelfloridachaco.com, 1
 hotelflow.com.br, 1
@@ -68032,7 +67911,6 @@ hotellamm.it, 1
 hotellaserenella.it, 1
 hotelmap.com, 1
 hotelmariasas.it, 1
-hotelmarinaadria.com, 1
 hotelmelograno.eu, 1
 hotelmirage-bg.com, 1
 hotelmonal.in, 1
@@ -68275,7 +68153,6 @@ howto-outlook.com, 1
 howtobehealthy.tk, 1
 howtoboy.com, 1
 howtodesignwebsite.com, 1
-howtofreelance.com, 1
 howtogeek.com, 1
 howtogeekpro.com, 1
 howtogermanpension.org, 1
@@ -69406,7 +69283,7 @@ ianonavy.com, 1
 ians.lu, 1
 iansyst.co.uk, 1
 ianthompsonbooks.com, 1
-ianwalsh.org, 0
+ianwalsh.org, 1
 iaofirearms.com, 1
 iapro.com, 1
 iapws.com, 0
@@ -69567,7 +69444,6 @@ icekiller.ga, 1
 icelandic.cf, 1
 icelook.tk, 1
 icemakerrepairaustin.com, 1
-icemedia.com.au, 0
 icemoto.tk, 1
 icemyworld.tk, 1
 icenter.ee, 1
@@ -69889,7 +69765,6 @@ idraulico-roma.it, 1
 idraulico.roma.it, 1
 idream-solutions.co.uk, 0
 idrissi.eu, 1
-idrix.com.ec, 1
 idroot.us, 1
 idropulsoredentale.shop, 1
 idsafe.co.za, 1
@@ -70112,6 +69987,7 @@ igry-onlayn.ru, 1
 igryalawar.tk, 1
 igshop.ir, 1
 igsmgmt.com, 1
+igsmindia.org, 1
 igsoc.org, 1
 igt.com, 1
 igualdaton.org, 1
@@ -70230,6 +70106,7 @@ ikall.com, 1
 ikama.cz, 1
 ikara.social, 1
 ikari-san.tk, 1
+ikaria.com.gr, 1
 ikaros.tk, 1
 ikarus-itkurs.de, 1
 ikasgela.com, 1
@@ -70384,7 +70261,6 @@ illorenese.fr, 1
 illsley.org, 1
 illu.ee, 1
 illubel.com, 1
-illumepgh.com, 1
 illuminated-security.com, 0
 illuminatelife.tk, 1
 illuminaten.tk, 1
@@ -70446,7 +70322,6 @@ ilrg.com, 1
 ils-savaient.fr, 1
 ils.lt, 1
 ilsalvagente.it, 1
-ilsaperedelgusto.it, 1
 ilsedelangeforum.tk, 1
 iltec.ru, 1
 iltis.live, 1
@@ -70506,8 +70381,8 @@ imagerecall.tk, 1
 imagerestorationcenter.com, 1
 imagerive.ch, 0
 imagesbank.com, 1
-imageshare.web.id, 1
 imagetostl.com, 1
+imageurs.com, 1
 imagevillage.ir, 1
 imageworkscorporation.com, 1
 imageworld.tk, 1
@@ -70835,6 +70710,7 @@ implicitsuccess.com, 1
 implosion.tk, 1
 implude.com, 0
 impns.org, 1
+imponet.com.ar, 1
 import-shopping.de, 1
 important-stories.com, 1
 importanteducation.tk, 1
@@ -71054,6 +70930,7 @@ indeco.com.ec, 1
 indecomm.com, 1
 indeika.ml, 1
 indeksonline.tk, 1
+indemer.mc, 1
 indenturaswork.lt, 1
 independenceia.gov, 1
 independenceliveers.ga, 1
@@ -71328,14 +71205,12 @@ infinitipartsdeal.com, 1
 infinito.tk, 1
 infinitomarca.com, 1
 infinitoporciento.tk, 1
-infinity-computer-systems.com, 1
 infinitybas.com, 1
 infinitybc.se, 1
 infinitybooksindia.in, 1
 infinitybots.gg, 1
 infinityels.com, 1
 infinityengine.org, 1
-infinityepos.co.uk, 1
 infinityfaces.tk, 1
 infinityname.tk, 1
 infinityonce.ml, 1
@@ -71512,7 +71387,6 @@ infosec.md, 1
 infosec.mv, 1
 infosec.pizza, 1
 infosec.wiki, 1
-infoseccenter.ro, 1
 infosecchicago.com, 1
 infosecdecompress.com, 1
 infosecsw.ca, 1
@@ -71726,7 +71600,7 @@ inkburners.ga, 1
 inkburnest.ga, 1
 inkdawgz.com, 1
 inkdrop.co.za, 0
-inkedin.com, 0
+inkedin.com, 1
 inkeliz.com, 1
 inkerotic.com, 1
 inkerz.com.br, 1
@@ -71847,7 +71721,6 @@ innovationbrandingers.ga, 1
 innovationbrandingest.ga, 1
 innovationcu.ca, 1
 innovationhub-act.org, 1
-innovationrealtygrp.com, 1
 innovative-trading.tk, 1
 innovativeactors.com, 1
 innovativebuildingsolutions.co.za, 1
@@ -72481,6 +72354,7 @@ interviewstarsest.ga, 1
 intervista-rh.fr, 1
 interways.de, 1
 interwebz-cheats.com, 1
+interwebz.cloud, 1
 interwebz.nz, 1
 interwerk.de, 1
 intestclub.tk, 1
@@ -72809,7 +72683,6 @@ ioville.com, 1
 iovo.consulting, 1
 iowa80.com, 1
 iowacolonytx.gov, 1
-iowacorncountry.com, 1
 iowadol.gov, 1
 iowaintex.gov, 1
 iowamissingpersons.gov, 1
@@ -73222,7 +73095,6 @@ isaacphysics.org, 1
 isaaczais.com, 1
 isaaya.com, 1
 isab.run, 1
-isabelaflores.com, 1
 isabelcaviedes.com, 1
 isabellahoopsentertainment.com, 0
 isabellainlove.com, 1
@@ -73304,7 +73176,6 @@ isimonbrown.co.uk, 1
 isimonline.tk, 1
 isincheck.com, 1
 ising.pl, 1
-isiponline.ca, 1
 isis.cloud, 1
 isiso.com.tr, 1
 isistomie.com, 0
@@ -73404,7 +73275,7 @@ ismywebsitepenalized.com, 1
 isn.cz, 1
 isn.education, 1
 isnot.ai, 1
-iso.fr, 1
+iso.fr, 0
 iso27001.dk, 1
 iso27032.com, 1
 isobook.ml, 1
@@ -73508,7 +73379,6 @@ istanbulhaberleri.tk, 1
 istanbulhomes.com, 1
 istanbulmasajsalonu.tk, 1
 istanbulrobotmuzesi.com, 1
-istanbulweb.gen.tr, 1
 istdas.lol, 1
 istec.com.ua, 1
 istech.com.tr, 1
@@ -73998,7 +73868,6 @@ ivory.com, 1
 ivory.de, 1
 ivoryandgrace.com, 1
 ivoryhomes.com, 1
-ivoryonsunset.com, 1
 ivotemahdi.com, 1
 ivoucher-kuwait.com, 1
 ivpark.fr, 1
@@ -74052,7 +73921,7 @@ iwmf.ir, 1
 iwonder.tw, 1
 iwp.ch, 1
 iwtsd.gov, 1
-iww.me, 1
+iww.me, 0
 iww.mx, 1
 iww.org.au, 1
 iww.org.nz, 1
@@ -74350,6 +74219,7 @@ jadiercms.cf, 1
 jadopado.com, 1
 jadox.com, 1
 jaduniv.cf, 1
+jae.fi, 1
 jae.su, 1
 jae.zone, 1
 jaeger.link, 1
@@ -74444,7 +74314,7 @@ jakubsindelar.cz, 1
 jakubvrba.cz, 1
 jakumammy.pl, 1
 jal-ja.com, 1
-jala.tech, 1
+jala.tech, 0
 jalebiyat.tk, 1
 jaleesa.sa, 1
 jaleo.cn, 1
@@ -74592,7 +74462,6 @@ jandonkers.com, 1
 jandroegehoff.de, 1
 janduchene.ch, 1
 janekahonza.cz, 1
-janelauhomes.com, 1
 janelle-jamer.tk, 1
 janellequintana.tk, 1
 janenwouter.tk, 1
@@ -74725,6 +74594,7 @@ jarl.ninja, 1
 jarlette.com, 1
 jarlstrom.com, 1
 jarmandental.com, 1
+jarmanka.cz, 1
 jarmatys.pl, 1
 jarmix.fi, 1
 jarniashop.se, 1
@@ -74932,7 +74802,7 @@ jblackweb.com, 1
 jblan.ca, 1
 jbloomphotography.com, 1
 jbmechanics.com, 1
-jbnetwork.org, 1
+jbnetwork.org, 0
 jboats.com, 1
 jboho.com, 1
 jbond.tk, 1
@@ -75074,6 +74944,7 @@ jeancafe.ddns.net, 1
 jeancampa.com, 1
 jeancardeno.com, 1
 jeancarlos.tk, 1
+jeanclaudegolvin.com, 1
 jeandanielfaessler.ch, 1
 jeanettevanrookhuizen.nl, 1
 jeangalea.com, 1
@@ -75346,6 +75217,7 @@ jessecharlie.info, 1
 jessecharlie.net, 1
 jessecharlie.org, 1
 jessecharlienaser.com, 1
+jesseerbach.com, 1
 jessekaufman.com, 1
 jesseklaver.nl, 1
 jessem.fr, 1
@@ -75391,7 +75263,6 @@ jet-lend.ru, 1
 jet.su, 1
 jetable.org, 1
 jetapi.org, 1
-jetbbs.com, 1
 jetcard.co.uk, 1
 jetcharterbozeman.com, 1
 jetchartercanada.com, 1
@@ -75482,7 +75353,6 @@ jfroyalelogistics.com.ng, 1
 jfsonline.org, 1
 jftn.nl, 1
 jftw.org, 1
-jfuturist.com, 1
 jfvaccountants.nl, 1
 jfy.is, 1
 jfy.jp, 1
@@ -75707,6 +75577,7 @@ jitendrapatro.me, 1
 jitprod.com, 1
 jitsipatapoe.ddns.net, 0
 jittruckparts.com, 1
+jiveinvestments.com, 1
 jix.im, 1
 jixing.one, 1
 jixun.eu, 1
@@ -75893,7 +75764,6 @@ jobfury.com, 1
 jobgenic.com, 1
 jobhouse.jp, 1
 jobie.tk, 1
-jobig.co.il, 1
 jobin.care, 1
 jobindex.dk, 1
 jobintourism.gr, 1
@@ -75976,7 +75846,6 @@ joefixit.co.uk, 1
 joehenry.co.uk, 1
 joejacobs.me, 1
 joel-mayer.de, 1
-joel.coffee, 1
 joel.net.au, 1
 joelandersen.me, 1
 joelbodmer.com, 1
@@ -76064,7 +75933,7 @@ johnathanhasty.com, 1
 johnball.co, 1
 johnbeerens.com, 1
 johnbeil.com, 1
-johnblackbourn.com, 1
+johnblackbourn.com, 0
 johnblotsky.tk, 1
 johncam.tk, 1
 johncleary.me, 1
@@ -76542,7 +76411,7 @@ jpg.am, 1
 jpg.fr, 1
 jpgangbang.com, 1
 jpgtopdfc.com, 1
-jphev.de, 1
+jphev.de, 0
 jphost.ml, 1
 jpilan.com, 1
 jpinfo.tk, 1
@@ -76995,7 +76864,6 @@ juragan.ga, 1
 juraganhp.com, 1
 juragantembakau.com, 1
 jurancic.com, 1
-jurassicbarkharrogate.co.uk, 1
 jurassicworldfilmen.cf, 1
 jurat.online, 1
 juratempest.eu.org, 1
@@ -77102,7 +76970,7 @@ justknigi.gq, 1
 justlovecoffeefranchise.com, 1
 justmade.com.br, 1
 justmensgloves.com, 1
-justmyblog.net, 0
+justmyblog.net, 1
 justmysocks.xyz, 1
 justnajoua.tk, 1
 justneworleans.com, 1
@@ -77126,7 +76994,6 @@ juststone.net.au, 1
 justupdate.me, 1
 justwannalearn.com, 1
 justweather.org, 1
-justwizards.me, 1
 justyy.com, 1
 justzz.xyz, 1
 juszczak.io, 1
@@ -77358,7 +77225,6 @@ kabel.ga, 1
 kabel.gq, 1
 kabel.ml, 1
 kabeldiertje.nl, 1
-kabellegger.nl, 1
 kabeltv.co.nz, 1
 kabeuchi.com, 1
 kabide.net, 1
@@ -77656,7 +77522,6 @@ kamcolorectal.com, 1
 kamel.social, 1
 kameldesign.com, 1
 kameliya.tk, 1
-kamen-master.ru, 1
 kamennyj-pisatel.tk, 1
 kameno-news.tk, 1
 kamer.nl, 1
@@ -77813,6 +77678,7 @@ kanuvu.de, 1
 kanvasbaski.tk, 1
 kanz.jp, 1
 kanzashi.com, 1
+kanzlei-sixt.de, 1
 kanzshop.com, 1
 kaohongshu.blog, 1
 kaora.cz, 1
@@ -78308,7 +78174,6 @@ kba-online.de, 1
 kbb-ev.de, 1
 kbbouncycastlehire.co.uk, 1
 kbc.be, 0
-kbcjiolotterywinners.com, 1
 kbco.net, 1
 kbcr.gov, 1
 kbet168.com, 1
@@ -78328,7 +78193,6 @@ kc-leeuwarden.tk, 1
 kc3.moe, 1
 kc5mpk.com, 1
 kcc8.com, 1
-kcfiradio.com, 1
 kcire.me, 1
 kck-online.tk, 1
 kckarchitects.com, 1
@@ -78444,8 +78308,8 @@ keepitsecure24.com, 1
 keepitsimplebitcoin.com, 1
 keepitweedy.com, 1
 keepleft.gr, 1
-keepsakedna.com, 1
 keepsight.org.au, 1
+keepsmyrnabeautiful.com, 1
 keepsolid.com, 1
 keesmartens.tk, 1
 keesslop.nl, 1
@@ -78598,6 +78462,7 @@ kemsamnhatban.gq, 1
 kemsamnhatban.ml, 1
 kemsamnhatban.tk, 1
 ken-electric.com.br, 1
+ken.fm, 1
 kenbillionsyuan.tk, 1
 kenbonny.net, 0
 kenda.eu.org, 1
@@ -78681,7 +78546,6 @@ keos.ga, 1
 keos.tk, 1
 kep-sbt.hu, 1
 kepak.tk, 1
-kepinski.ch, 0
 kepkonyvtar.hu, 1
 kepleruniklinikum.at, 1
 kepoper.com, 1
@@ -78736,7 +78600,6 @@ kescher.at, 1
 kescher.gay, 1
 kescher.site, 1
 keschi.at, 1
-kesef.org.il, 1
 kesen.news, 1
 kesen.wang, 1
 keshankang.com, 1
@@ -79405,7 +79268,7 @@ kinlakestars.com, 1
 kinnerfisch.cn, 1
 kinnettmemorial.org, 1
 kinneymn.gov, 1
-kinnikinnick.com, 0
+kinnikinnick.com, 1
 kino-boom.tk, 1
 kino-dom.tk, 1
 kino-doma.tk, 1
@@ -79601,7 +79464,6 @@ kitchenvile.com, 1
 kitchenware.ml, 1
 kitchenware.tk, 1
 kitchenwarehouseltd.com, 1
-kitchenwarestore.xyz, 1
 kitchfurnit.tk, 1
 kitconcept.com, 1
 kitconcept.de, 1
@@ -79749,8 +79611,6 @@ kkyy.me, 1
 kkzxak47.com, 1
 kl008888.com, 1
 klaasvantornout.tk, 1
-klabnik.cz, 1
-klabnikova.cz, 1
 klacki.de, 1
 klackingtownshipmi.gov, 1
 klad.tk, 1
@@ -80123,7 +79983,6 @@ kobovec.tk, 1
 kobrin.tk, 1
 kobtsev.tk, 1
 kobudo49.fr, 1
-koc.hu, 1
 kocaelihaber.tk, 1
 kocaeliyiseyret.com, 1
 koccoo.ga, 1
@@ -80277,7 +80136,6 @@ kolmann.at, 1
 kolmann.eu, 1
 kolmeya.com.br, 1
 kolodec-pod-kluch.ru, 1
-kolonie-am-stadtpark.de, 1
 kolonie.turystyka.pl, 1
 kolorado.tk, 1
 koloradskij-zhuk.tk, 1
@@ -80502,7 +80360,6 @@ kopfkrieg.org, 0
 kopfsalat.eu, 0
 kopfschaschlik.de, 1
 kopieid.be, 1
-kopijosari.com, 1
 kopipasta.cf, 1
 kopisee.tk, 1
 kopitekno.com, 1
@@ -81074,6 +80931,7 @@ kryshodel.ml, 1
 krystal-framework.ml, 1
 krytykawszystkiego.com, 1
 krytykawszystkiego.pl, 1
+kryx.de, 1
 krzeslaonline.pl, 1
 krzysiamrozinska.pl, 1
 ks-19.com, 1
@@ -81163,7 +81021,6 @@ ks8225.com, 1
 ks8265.com, 1
 ks8266.com, 1
 ks8278.com, 1
-ks8802.com, 1
 ks8805.com, 1
 ks8831.com, 1
 ks8836.com, 1
@@ -81384,7 +81241,6 @@ kumanovo.tk, 1
 kumaraguruparan.tk, 1
 kumi.website, 1
 kumidia.jp, 1
-kumilasvegas.com, 1
 kumina.nl, 1
 kumiskiri.com, 1
 kumo.tk, 1
@@ -81559,6 +81415,7 @@ kuukkanen.net, 1
 kuunlamaailm.ee, 1
 kuvings.com.tr, 1
 kuwago.io, 1
+kuwaitmegadeals.com, 1
 kuwichitagastro.com, 1
 kuwichitaim.com, 1
 kuzbass-pwl.ru, 1
@@ -81839,7 +81696,6 @@ label-octopus.org, 1
 label-qualirepar.fr, 1
 labeled.vn, 1
 labelfactory.nl, 1
-labequipvn.com, 1
 laberkosmos.tk, 1
 labianstore.com, 1
 labiblioafronebrulepas.com, 0
@@ -82221,7 +82077,6 @@ lakkt.de, 1
 lakle.com, 1
 lakonia.com.br, 1
 lakorona.tk, 1
-lakru.one, 1
 laksa.life, 1
 lakupaavi.tk, 1
 lalagunachalate.tk, 1
@@ -82278,7 +82133,7 @@ lamdav.com, 1
 lameco.com, 1
 lamed.cz, 1
 lamedog.tk, 1
-lamedubois-parquet.fr, 0
+lamedubois-parquet.fr, 1
 lamei-group.com, 1
 lameilleurecette.fr, 1
 lamenumerique.fr, 1
@@ -82493,7 +82348,6 @@ lantian.pub, 1
 lantrecouretjardin.com, 1
 lanturtle.com, 1
 lanuovariviera.it, 1
-lanx.com.br, 1
 lanyang.tk, 1
 lanyards.com.au, 1
 lanyardsfactory.com.au, 0
@@ -82528,7 +82382,6 @@ lapapeleriadelola.com, 1
 laparcela.tk, 1
 laparoscopyhospital.com, 1
 lapasticcerianaturale.store, 1
-lapatiala.com, 1
 lapayo.com, 1
 lapcameradongnai.com, 1
 lapcamerahochiminh.com, 1
@@ -82774,10 +82627,8 @@ lasttweetinaws.com, 1
 lastville.com, 1
 lastwill.ie, 1
 lasvegascasinonews.com, 1
-lasvegasfit.org, 1
 lasvegasnevada.gov, 1
 laszlo.sh, 1
-laszloinstitute.com, 1
 laszlotamas.hu, 1
 lat.sk, 1
 lata.my, 1
@@ -82832,6 +82683,7 @@ lathamwatkinsplatform.com, 1
 latia.tk, 1
 latiamona.com, 1
 latiendawapa.com, 1
+latifitness.com, 1
 latifolia.com, 1
 latinacon.com, 1
 latinapress.it, 1
@@ -83540,7 +83392,6 @@ leddeluxe.ml, 1
 leddingplasticsurgery.com, 1
 ledebergleeft.be, 1
 ledecologie.com.br, 1
-ledeguisement.com, 1
 ledensite.com, 1
 lederjackekaufen.tk, 1
 ledgerscope.net, 0
@@ -83723,7 +83574,6 @@ legalrobot.com, 1
 legalrule.ga, 1
 legalsample.ga, 1
 legalsearch.nl, 1
-legalservicespanel.gov.au, 1
 legalsoldier.ga, 1
 legalsouthbeach.ga, 1
 legalsrit.tk, 1
@@ -83780,9 +83630,8 @@ legko-pohudet.tk, 1
 legna.cn, 1
 legna.roma.it, 1
 legnami24.it, 1
-legoktm.com, 1
+legoktm.com, 0
 legoutcheznous.com, 1
-legoutdesplantes.be, 1
 legow.tk, 1
 legowerewolf.net, 1
 legrand-ia.gov, 1
@@ -83832,7 +83681,6 @@ leism.com, 1
 leism.de, 1
 leism.eu, 1
 leism.net, 1
-leism.org, 1
 leismail.com, 1
 leismann.sbs, 1
 leismann.tel, 1
@@ -84465,7 +84313,6 @@ lg-world.cz, 1
 lg.gz.cn, 1
 lg0.site, 1
 lg2.com, 1
-lgam.com, 1
 lgbt-colleges.com, 1
 lgbt.io, 1
 lgbt.ventures, 1
@@ -84558,7 +84405,7 @@ lib64.net, 1
 libanswers.com, 1
 libanswers.net, 1
 libapps.com, 0
-libapps.net, 1
+libapps.net, 0
 libart.so, 1
 libauth.com, 1
 libbitcoin.org, 1
@@ -84628,7 +84475,7 @@ libgame.com, 1
 libget.com, 1
 libgraphe.me, 1
 libguides.com, 0
-libguides.net, 1
+libguides.net, 0
 libhttp.org, 1
 libinsight.com, 1
 libinsight.net, 1
@@ -84912,7 +84759,6 @@ lightfoot.co.uk, 1
 lighthouse-rbg.de, 1
 lighthouseglobal.com, 1
 lighthouseguild.org, 1
-lighthouseinstruments.com, 1
 lighthousepointfl.gov, 1
 lightingagoura.com, 1
 lightingcalabasas.com, 1
@@ -85132,7 +84978,6 @@ lincdavis.com, 1
 lince-bonares.tk, 1
 lincolnadamscountywi.gov, 1
 lincolnalghanim.com, 1
-lincolnbrokerage.com, 1
 lincolncomo.gov, 1
 lincolncountyga.gov, 1
 lincolncountyid.gov, 1
@@ -85320,12 +85165,12 @@ linkurio.us, 1
 linkurious.com, 1
 linkuva.tk, 1
 linkview.tk, 1
+linkware.it, 1
 linkwater.org, 1
 linkwheel.tk, 1
 linky.tk, 1
 linkycat.com, 1
 linmania.tk, 1
-linmarrdavao.com, 1
 linnaclinic.com, 1
 linnaeusgroup.co.uk, 1
 linncfs.top, 1
@@ -85804,7 +85649,6 @@ livelonglife.tk, 1
 livelovelaughlg.com, 1
 liveman.dk, 1
 livemomentum.ml, 1
-livemosspointe.com, 1
 livenewsrussia.tk, 1
 liveomadic.com, 1
 liveoutdoor.ga, 1
@@ -85921,10 +85765,10 @@ lizzaran.io, 1
 lizzian.uk, 1
 lizzwood.com, 1
 lizzymcc.com, 0
-lizzysdoggrooming.com, 1
 lizzythepooch.com, 1
 lj-creation.com, 1
 ljason.cn, 1
+ljc.ro, 1
 ljekarne-plantak.hr, 1
 ljoonal.xyz, 1
 ljpc-hosting.nl, 1
@@ -86035,7 +85879,6 @@ loanathome.com, 1
 loanfreeze.ga, 1
 loanpad.com, 1
 loanpost.com.au, 1
-loanreadycredit.com, 1
 loanscanada.ca, 1
 loansharkpro.com, 1
 loanstreet.nl, 1
@@ -86066,7 +85909,6 @@ locabir.cf, 1
 locadoraequiloc.com.br, 1
 local-insight.com, 1
 local-shop.com, 1
-local360.net, 1
 localassocier.tk, 1
 localbandz.com, 1
 localbiketrader.com, 1
@@ -86272,6 +86114,7 @@ loganmarchione.rocks, 1
 loganparkneighborhood.org, 1
 loganscene.tk, 1
 logart.tk, 1
+logate.com, 1
 logay.com.br, 1
 logbook.ch, 1
 logbot.info, 1
@@ -86300,7 +86143,6 @@ logicio.ch, 0
 logicio.de, 0
 logicio.net, 0
 logicne-hise.si, 1
-logicnets.com, 1
 logico.ar, 1
 logicsale.com, 1
 logicsale.de, 1
@@ -87242,6 +87084,7 @@ lubar.me, 1
 lubosabo.tk, 1
 lubot.net, 1
 lubotodorov.com, 1
+lubuskibs.pl, 0
 luc-nutrition.tk, 1
 luc-oberson.ch, 0
 luc.li, 1
@@ -87274,7 +87117,6 @@ lucasjag.com.br, 1
 lucaslarson.net, 1
 lucasmateus.ga, 1
 lucasmz.eu.org, 1
-lucasvieira.fr, 1
 lucciolachile.com, 1
 lucdethier.be, 1
 luce.life, 1
@@ -87314,7 +87156,6 @@ luckeyproductions.com, 1
 luckibots.de, 1
 lucklesslovelocks.com, 1
 luckmoneymyth.com, 1
-lucko.me, 1
 luckperms.net, 1
 lucksh.ga, 1
 lucksh.gq, 1
@@ -87344,7 +87185,6 @@ lucloud.top, 1
 luclu7.fr, 1
 lucorautopartes.com, 1
 lucrar.pt, 1
-lucschiltz.com, 1
 luctam.com, 1
 lucychan.tk, 1
 lucyhancock.tech, 1
@@ -87379,6 +87219,7 @@ ludum-polus.xyz, 1
 ludum.pl, 1
 ludunwayoo.com, 1
 ludwig.im, 1
+ludwiggrill.de, 1
 ludwigjohnson.se, 1
 ludwigpro.net, 1
 ludwigsburger-brauhaus.de, 1
@@ -87714,6 +87555,7 @@ luxury-tours.in, 0
 luxuryandexecutivetravel.co.uk, 1
 luxurydress.tk, 1
 luxuryfashion.hu, 1
+luxurygarage.sk, 1
 luxurygifts.tk, 1
 luxuryhome.co.id, 1
 luxuryhomeinfo.tk, 1
@@ -87869,6 +87711,7 @@ lyricfm.ie, 1
 lyricheaven.com, 1
 lyricsbase.com, 1
 lyricsforyou.gq, 1
+lyricsleak.com, 1
 lyricsroll.com, 0
 lyricsupdater.tk, 1
 lyriksidan.ga, 1
@@ -87942,6 +87785,7 @@ m1gun.tk, 1
 m1hax.uk, 1
 m1r2.com, 1
 m23cal.eu, 1
+m24o.net, 1
 m2designer.com.br, 1
 m2dleadership.com, 1
 m2epro.com, 1
@@ -88357,7 +88201,6 @@ magenbrot.net, 0
 magenda.sk, 1
 magenkompass.de, 0
 magentacares.com, 1
-magentaize.net, 1
 magentazorg.nl, 1
 magento-ecommerce.co.za, 0
 magentodevelopment.co.uk, 1
@@ -88451,13 +88294,13 @@ magija.ga, 1
 magikbyte.com, 1
 magique.tk, 1
 magiskmanager.com, 1
+magiskzip.com, 1
 magisterjuris.com, 1
 magisternegi.tk, 1
 magliner.com, 1
 magnacarebroker.com, 1
 magnacumlaude.co, 1
 magnamus.it, 1
-magnate.co, 1
 magnatechnology.com, 1
 magneetfolie.nl, 1
 magnes.priv.pl, 1
@@ -88582,7 +88425,7 @@ maie.ro, 1
 maiebanatulfruncea.com, 1
 maiet.net, 1
 maigesellschaft-lammersdorf.de, 1
-maik-mahlow.de, 1
+maijia800.com, 1
 maikendener.com, 1
 maikhuong.tk, 1
 maikolfish.it, 1
@@ -88764,7 +88607,6 @@ majusainsurance.com, 1
 makaleci.com, 1
 makalu.me, 1
 makanj.tk, 1
-makaradigital.com, 0
 makariza.com.co, 1
 makasetesan.com, 1
 make-a-difference-daily.com, 1
@@ -89440,6 +89282,7 @@ marabook.fr, 1
 marabumadrid.com, 1
 maracarlinicourses.com, 1
 maracit.tk, 1
+maragonconstruccion.es, 1
 maraichere-gourmande.org, 1
 marajo.ml, 1
 marajo.tk, 1
@@ -89826,7 +89669,6 @@ markitzeroday.com, 1
 markjansen.tk, 1
 markkirkforillinois.com, 1
 markkirkforsenate.com, 1
-markkl.nl, 1
 markkusilvennoinen.fi, 1
 marklehane.com, 1
 markllego.com, 1
@@ -90405,7 +90247,6 @@ matej-oliva.cz, 1
 matejgroma.com, 1
 matejkosiarcik.com, 1
 matel.org, 1
-matematicaevida.com.br, 1
 matematik-ozel-ders.tk, 1
 matematikformulleri.com, 1
 matematikkulubu.tk, 1
@@ -91056,7 +90897,6 @@ mcdanieldevelopmentservices.com, 1
 mcdean.com, 1
 mcdeed.net, 1
 mcdermottautomotive.com, 1
-mcdesigns68.co.uk, 1
 mcdgenclikkulubu.org, 1
 mcdona1d.me, 1
 mcdonaldcountymissouri.gov, 1
@@ -91075,7 +90915,6 @@ mce.nyc, 1
 mce55.eu, 1
 mcea-hld.jp, 1
 mceconferencecentre.eu, 1
-mcemyigit.com.tr, 1
 mcescher.com, 1
 mceyedol.tk, 1
 mcfallout.ru, 1
@@ -91577,10 +91416,8 @@ mediatrust.org, 1
 mediaukkies.nl, 0
 mediawax.be, 1
 mediaweb.com.ve, 1
-mediawijsheid.nl, 0
 mediawijzer.net, 0
 mediawiki.com, 1
-mediawiki.org, 1
 medibooker.com.au, 1
 medic-world.com, 1
 medic808.com, 1
@@ -91772,7 +91609,6 @@ meeras.ga, 1
 meereskunst.de, 1
 meerman.nl, 0
 meerpadel.nl, 1
-meesenburg.ro, 0
 meesman.nl, 1
 meesteresmisty.nl, 1
 meet, 1
@@ -92536,6 +92372,7 @@ messinale.tk, 1
 messinatoday.it, 1
 messonline.tk, 1
 messure.ru, 1
+mestache.com, 1
 mestazitrka.cz, 1
 mestopodvodu.cz, 1
 mestovpohybu.cz, 1
@@ -92737,7 +92574,7 @@ metron-networks.com, 1
 metron-online.com, 1
 metron.mv, 1
 metronidazolee.gq, 1
-metronik.it, 1
+metronik.it, 0
 metronome.ga, 1
 metroparks.net, 1
 metrophone.vn, 1
@@ -93002,7 +92839,6 @@ micamisetaestampada.com, 1
 micanetic.com, 1
 micareklamajansi.com, 1
 micasayestilo.com, 1
-micase.info, 1
 micatalogo.club, 1
 micay.ca, 1
 micbase.com, 1
@@ -93050,7 +92886,6 @@ michaelhayes.tk, 1
 michaelhebblethwaite.com, 1
 michaelholidaybooks.com, 1
 michaeliannetta.tk, 1
-michaelismold.com, 1
 michaelizquierdo.com, 1
 michaeljames.com.au, 1
 michaeljdennis.com, 0
@@ -93086,16 +92921,12 @@ michaelvician.me, 0
 michaelwermeester.com, 1
 michaelwmckinney.com, 1
 michaelworth.au, 1
-michal-klabnik.com, 1
-michal-klabnik.cz, 1
 michal-spacek.com, 1
 michal-spacek.cz, 1
 michalchomo.eu, 1
 michaldudek.it, 1
 michalinastrzyz.xyz, 1
 michalis.xyz, 1
-michalklabnik.com, 1
-michalklabnik.cz, 1
 michalkral.tk, 1
 michalkunicki.pl, 1
 michalmlozniak.com, 1
@@ -93677,6 +93508,7 @@ millcreekut.gov, 1
 millcreekwa.gov, 1
 millefleurs.eu, 1
 millenari.com, 1
+millenn.photos, 1
 millennialbella.net, 1
 millennium-thisiswhoweare.net, 1
 millenniumfalcon.org, 1
@@ -93995,7 +93827,6 @@ minitrucktalk.com, 1
 minivaro.de, 1
 miniverse.social, 1
 minivideoadapterssales.tk, 1
-miniwallaby.com, 1
 minix.jp, 1
 minjusticia.gob.cl, 1
 mink-coat.tk, 1
@@ -94055,6 +93886,7 @@ minto.cc, 1
 minton.systems, 1
 mintosherbs.com, 1
 mintosoft.net, 1
+mintplayer.com, 1
 mintse.com, 0
 mintstar.net, 1
 minttang.cn, 0
@@ -94317,6 +94149,7 @@ mistergout.com, 1
 misterkeltic.com, 1
 misterl.net, 1
 mistertesi.it, 1
+misterwish.store, 1
 misteryrip.tk, 1
 mistinecn.com, 0
 mistitservices.in, 1
@@ -94729,7 +94562,6 @@ mn-hootsuite.herokuapp.com, 1
 mn.ax, 1
 mnatechnologies.com.au, 1
 mnbg.tk, 1
-mncalliedhealth.com, 1
 mncbank.co.id, 1
 mnccc.gov, 1
 mnciitbhu.me, 1
@@ -94910,6 +94742,7 @@ mobmp4.info, 1
 mobobe.com, 1
 mobolight.ml, 1
 mobot.sg, 1
+mobox.health, 1
 mobshop.hu, 1
 mobsitin.tk, 1
 mobtop.ga, 1
@@ -95393,7 +95226,6 @@ moneygrup.tk, 1
 moneyhash.io, 1
 moneymania.tk, 1
 moneymart.ca, 1
-moneymint.com, 1
 moneyniti.com, 1
 moneyonchain.com, 1
 moneypot.com, 1
@@ -95460,7 +95292,6 @@ monkeys.pt, 1
 monkeysorce.tk, 1
 monkeytek.ca, 1
 monlissagebresilien.com, 1
-monloyer.quebec, 1
 monmouthcountynj.gov, 1
 monmouthmaine.gov, 1
 monmouthor.gov, 1
@@ -95735,7 +95566,6 @@ moppenfactory.tk, 1
 moquettes.roma.it, 1
 moquiridatabuaria.com.br, 1
 mor.estate, 0
-mora.pl, 1
 moracont.com, 1
 moradali.tk, 1
 moradasdeitaici.com.br, 1
@@ -95784,7 +95614,7 @@ moremindsbetter.com, 1
 morenadacentral.tk, 1
 morenci.ch, 1
 moreniche.com, 1
-moreno820.com.ar, 1
+moreno820.com.ar, 0
 moreoptimal.com, 1
 moreoptimal.world, 1
 morepablo.com, 1
@@ -95861,6 +95691,7 @@ morozko.gq, 1
 morozstudio.tk, 1
 morozyaka.tk, 1
 morph3d.tk, 1
+morphed.io, 1
 morpheusdata.com, 1
 morphisec-utp.com, 1
 morphitattachments.com.au, 1
@@ -95897,7 +95728,6 @@ mos-camin.ru, 1
 mosa.guru, 1
 mosa.tk, 1
 mosaic-design.ru, 1
-mosaically.com, 1
 mosaicmarble.com, 1
 mosaicot.com, 1
 mosaique-lachenaie.fr, 1
@@ -96234,7 +96064,6 @@ movihut.com, 1
 moviko.nz, 1
 movil.uno, 1
 movilandroide.com, 1
-moviles.com, 1
 movimento-terra.it, 1
 movimentoterra.roma.it, 1
 moving-pixtures.de, 1
@@ -96325,6 +96154,7 @@ mpneves.com, 1
 mpodraza.eu, 1
 mpodraza.pl, 1
 mpool.eu.org, 1
+mpool.live, 1
 mpornoindir.tk, 1
 mpowr.com, 1
 mpps.it, 1
@@ -96502,7 +96332,6 @@ mrxn.net, 1
 mrzonk.cf, 1
 ms-australia.de, 1
 ms-ch.ch, 1
-ms-fassmoebel.de, 1
 ms-wissenschaft.de, 0
 ms295.com, 0
 ms67pta.org, 1
@@ -96659,7 +96488,6 @@ mtf.party, 1
 mtf.rip, 1
 mtf.wiki, 1
 mtfgnettoyage.fr, 1
-mtfwiki.com, 1
 mtgoptex.com, 1
 mtgsuomi.fi, 1
 mthd.link, 1
@@ -96680,7 +96508,6 @@ mtltransport.com, 1
 mtludlow.co.uk, 1
 mtmedia.org, 1
 mtn-media.de, 1
-mtnc.nl, 1
 mtncoi-coe.com, 1
 mtnvalleyhospice.org, 1
 mtnwebwiz.com, 1
@@ -96866,6 +96693,7 @@ multicore.cl, 1
 multicorpbra.com, 1
 multidron.es, 1
 multifamily.loans, 1
+multifruttisystems.gr, 1
 multigamecard.com, 1
 multigeist.de, 1
 multigo.ru, 1
@@ -96897,7 +96725,6 @@ multiroom-streaming.de, 1
 multischool.tk, 1
 multisite.ovh, 1
 multispaninc.com, 1
-multisportaustralia.com.au, 1
 multistas.tk, 1
 multitec.nl, 1
 multitek.no, 1
@@ -97342,7 +97169,6 @@ mwv2wle.club, 1
 mww.moe, 1
 mx-moto.fr, 0
 mx-quad.fr, 0
-mx-solutions.net, 1
 mx.org.ua, 1
 mx.search.yahoo.com, 0
 mx310.jp, 1
@@ -97482,6 +97308,7 @@ mybestbooks.gq, 1
 mybestteam.tk, 1
 mybicc.org, 1
 mybieo.com, 1
+mybillie.com, 1
 mybirds.tk, 1
 mybisnis.tk, 1
 mybizzmail.com, 1
@@ -97699,7 +97526,6 @@ myfirstchessclub.com, 1
 myfishpalace.at, 1
 myfitnessbenefit.com, 1
 myfitnesscare.com, 1
-myfitnesspal.com.br, 1
 myflatfinders.com, 1
 myflightrefund.com, 1
 myfloridacfo.gov, 1
@@ -98170,7 +97996,6 @@ mysoftebelge.com, 1
 mysoftlonca.com, 1
 mysoundtalks.com, 0
 mysourceofhealth.com, 0
-myspa.vn, 1
 myspeedcash.com, 1
 myspicer.com, 1
 mysports.com, 1
@@ -98236,7 +98061,6 @@ myte.ch, 1
 mytea.life, 1
 mytefl.com, 1
 mytests.tk, 1
-mytfg.de, 1
 mythen-fonds.ch, 1
 mythenfonds.ch, 1
 mytherapist.com, 1
@@ -98312,7 +98136,6 @@ mywebserver.ml, 1
 myweightlosstips.tk, 1
 mywestondental.com, 1
 mywifiext.net, 1
-mywihomes.com, 1
 mywikis.net, 1
 mywish.co.il, 1
 mywonderkitchen.com, 1
@@ -98605,6 +98428,7 @@ nakajima-kawara.com, 1
 nakalabo.jp, 1
 nakama.tv, 1
 nakamastudios.com, 1
+nakamuramudancas.com.br, 1
 nakayama.industries, 1
 nakayamaresearch.com, 1
 nakazanie.ga, 1
@@ -98731,7 +98555,6 @@ nanestor.us, 1
 nanfangstone.com, 1
 nange.cn, 1
 nangluongxanhbinhphuoc.com, 1
-nangwizard.net, 1
 nanhuimed.com, 1
 naninossoftware.tk, 1
 nanjie.com.tw, 1
@@ -98743,7 +98566,6 @@ nannatextiles.com, 1
 nannatextiles.de, 1
 nannyandhousekeeper.uk, 1
 nannytax.ca, 1
-nano.com.au, 1
 nano.voting, 1
 nanoavionics.com, 1
 nanobattle.com, 1
@@ -98894,7 +98716,7 @@ narvizit.com, 1
 narware-testing.com, 1
 nary-software.com, 1
 narzedziownia.top, 1
-nas-redes-sociais.com, 1
+nas-redes-sociais.com, 0
 nas.gov.ua, 1
 nasaacronyms.com, 1
 nasacxhacxha.org, 1
@@ -99098,7 +98920,6 @@ natur-plus.tk, 1
 natur-seele.de, 1
 natur-udvar.hu, 1
 natur-und-kultur.de, 1
-natura-sense.com, 1
 natura2000.tk, 1
 naturabis.com.mx, 1
 naturabuy.fr, 1
@@ -99202,7 +99023,6 @@ navigo.cc, 1
 navigo.global, 1
 navinka.com, 1
 navinmolecular.com, 1
-navionhcs.com, 1
 navirefi.com, 1
 naviteq.eu, 1
 navkor.tk, 1
@@ -99427,7 +99247,6 @@ ndmath.club, 1
 ndns.ga, 1
 ndpbrn-research.org, 1
 ndpigskin.com, 1
-ndpla.com, 1
 ndplumbingboard.gov, 1
 ndq.be, 1
 ndrew.me, 1
@@ -99680,7 +99499,6 @@ nema.gov.au, 1
 nemagiya.tk, 1
 nemahacountyne.gov, 1
 nemberone.com, 1
-nemcd.com, 1
 nemecisolutions.com, 1
 nemecl.eu, 1
 nemesis-goose.org, 1
@@ -100053,8 +99871,6 @@ netnea.com, 1
 netnl.eu, 1
 netoborona.tk, 1
 netobur.net, 1
-netolink.co.il, 1
-netolink.com, 1
 netor.ga, 1
 netpatient.dk, 1
 netpenge.tk, 1
@@ -100122,6 +99938,7 @@ nettunoguide.dk, 1
 nettx.co.uk, 1
 nettype.ca, 1
 netube.org, 1
+netunia.org, 1
 netvizura.co.uk, 1
 netvlies.nl, 0
 netvpn.ml, 1
@@ -100130,7 +99947,6 @@ netwarc.eu, 1
 netwarc.nl, 1
 netwave.pl, 1
 netwerkgeneeskunde.nl, 1
-netwerkmediawijsheid.nl, 1
 netwerkstoom.nl, 1
 netwidow.com, 1
 netwire-solutions.com, 1
@@ -100441,7 +100257,6 @@ newlynamed.com, 1
 newlytricks.ml, 1
 newmadridcountymo.gov, 1
 newman.ga, 1
-newmansown.co.uk, 1
 newmap.nl.eu.org, 1
 newmarketbouncycastlehire.co.uk, 1
 newmatworld.com, 1
@@ -100762,7 +100577,6 @@ nfbpwm.co.za, 1
 nfbst.co.za, 1
 nfcq.co.uk, 1
 nfcweb.de, 1
-nfe-elektro.de, 1
 nffiredistrictoh.gov, 1
 nffpm.ae, 1
 nffs.cf, 1
@@ -100883,6 +100697,7 @@ nhv-vintagelemans.com, 1
 ni-dieu-ni-maitre.com, 1
 ni-mate.com, 1
 ni-s.de, 1
+ni.sb, 1
 ni.search.yahoo.com, 0
 niaa.gov.au, 1
 niadd.com, 1
@@ -100952,7 +100767,6 @@ nicava.com.mx, 1
 nice-autosurf.com, 1
 nice-germany.tk, 1
 nice-links.tk, 1
-nice-pay.com, 1
 nice-school.com.ua, 1
 nice.ch, 1
 nice.com, 0
@@ -101139,7 +100953,6 @@ nieuwslagmaat.nl, 1
 nifc.gov, 1
 niferry.co.uk, 1
 niffler.software, 1
-nifleim.net, 1
 niflheimr.es, 1
 niftiestsoftware.com, 1
 niftyninjamarketing.com, 1
@@ -101262,7 +101075,6 @@ niko-mapping-studio.tk, 1
 niko-vfx.com, 0
 niko.lgbt, 1
 nikodev.es, 1
-nikoflix.site, 1
 nikolaev.ml, 1
 nikolahost.tk, 1
 nikolahristov.tech, 1
@@ -101388,7 +101200,6 @@ niourk.com, 1
 nipax.cz, 1
 nipe-systems.de, 1
 nipit.biz, 1
-nipn-nutrition-platforms.org, 1
 nippel.tk, 1
 nipplefucking.com, 1
 nippon-tour.tk, 1
@@ -102071,7 +101882,6 @@ northfinance.dk, 1
 northflightaeromed.org, 1
 northhampton-nh-pd.gov, 1
 northhudsonwi.gov, 1
-northinfocus.org, 0
 northiowatractorride.com, 1
 northkingstownri.gov, 1
 northkoreainsider.tk, 1
@@ -102228,7 +102038,6 @@ notebrook.com, 1
 notecoffee.tw, 1
 noted.de, 1
 notedinstyle.co.uk, 1
-notelseit.com, 0
 notenarchiv.eu, 1
 notepam.com, 1
 notequal.me, 1
@@ -102483,7 +102292,6 @@ npaihb.org, 1
 npass.us, 1
 npath.de, 1
 npbeta.com, 1
-npc-ts.org, 1
 npc.org.au, 1
 npclimited.co.uk, 1
 npcradio.tk, 1
@@ -102511,10 +102319,10 @@ nqesh.org, 1
 nqesh.ph, 1
 nqeshonline.com, 1
 nqhomeinsurance.gov.au, 1
-nqwebdesign.com, 1
 nrac.or.jp, 1
 nrail.eu, 1
 nrbpublishing.com, 1
+nrbri.ru, 1
 nrc-gateway.gov, 1
 nrc.gov, 1
 nrchealth.com, 1
@@ -102602,7 +102410,6 @@ nssquad.tk, 1
 nst-maroc.com, 1
 nstatic.xyz, 1
 nstd.net, 1
-nsteck.com, 1
 nstnet.org, 1
 nsu.pw, 1
 nsv.ee, 1
@@ -102719,7 +102526,7 @@ nugratis.nl, 1
 nugush.tk, 1
 nuhbeg.com, 1
 nuhil.tk, 1
-nuhs.edu.sg, 1
+nuhs.edu.sg, 0
 nuhs.sg, 1
 nuipogoda.ru, 1
 nuitec.com.br, 1
@@ -102824,7 +102631,6 @@ nurseactioners.ga, 1
 nurseactionest.ga, 1
 nursejj.com, 1
 nursemom.ca, 1
-nurserystory.co.uk, 1
 nurseslabs.com, 1
 nursetheticsbyliam.co.uk, 1
 nursing-school2.tk, 1
@@ -103854,7 +103660,6 @@ oiepoie.nl, 0
 oikontroloi.tk, 1
 oikosweb.com, 1
 oil-heaters.tk, 1
-oilfieldinjury.attorney, 1
 oilman.ml, 1
 oilpaintingsonly.com, 1
 oilsan.com, 1
@@ -104123,7 +103928,6 @@ olitham.com, 1
 olive-shikaclinic.com, 1
 olive.my, 1
 olivedon.com, 1
-olivejs.com, 1
 oliveoil.bot, 1
 oliveoil.pro, 1
 oliveoilschool.org, 1
@@ -104167,7 +103971,6 @@ ollie.io, 1
 ollielloyd.tk, 1
 ollieowlsblog.com, 1
 ollies.cloud, 1
-ollies.cz, 1
 olliespage.com, 1
 olliespage.net, 1
 olliespage.uk, 1
@@ -104200,6 +104003,7 @@ olsenban.de, 1
 olshop.ai, 1
 olson25.org, 0
 olsonproperties.com, 1
+oluchiedmundmusic.com, 1
 oludeniz.tk, 1
 olustvere.edu.ee, 1
 olxa.tk, 1
@@ -104467,7 +104271,7 @@ oneclub.ua, 1
 onedaygrandcanyonrafting.com, 1
 onedeal.com.ua, 1
 onedevonshireplace.co.uk, 1
-onediversified.com, 1
+onediversified.com, 0
 onedot.nl, 1
 onedrive.com, 0
 onee3.org, 1
@@ -104534,7 +104338,6 @@ ones-familydc.com, 1
 ones.buzz, 1
 onescience.tk, 1
 oneself.nl, 1
-oneservicegroup.ru, 1
 oneshotmediakc.com, 1
 oneso.win, 1
 onespan.com, 0
@@ -104995,6 +104798,7 @@ open.ru, 1
 openacte.ch, 0
 openaedmap.org, 1
 openagenda.com, 1
+openai.com, 0
 openai.community, 1
 openai.sb, 0
 openalt.org, 1
@@ -105057,7 +104861,6 @@ openid.net.br, 1
 openinframap.org, 1
 openinsieme.com, 1
 openintel.com.br, 1
-openintl.com, 1
 openjsf.org, 1
 openjur.de, 1
 openkat.nl, 1
@@ -105355,7 +105158,6 @@ oqevapimivud.tk, 1
 oqkd.eu, 1
 oqpo.ru, 1
 oqrqtn7ynmgc7qrgwd-ubhdvfiymfbjrh5ethdti8.com, 0
-oquedizabiblia.com.br, 1
 oqwebdesign.com, 1
 orablanket.co.nz, 1
 oracle-support.nl, 1
@@ -105639,7 +105441,6 @@ orologeria.roma.it, 1
 orologi.roma.it, 1
 oronomn.gov, 1
 oroshikikin.jp, 1
-orovillelaw.com, 1
 orpf.ir, 1
 orphee-beaute.com, 0
 orpheus.network, 1
@@ -105666,7 +105467,6 @@ orthocab.com, 1
 orthocop.cz, 1
 orthodealsers.ga, 1
 orthodontiste-geneve-docteur-rioux.com, 0
-orthodoxy.lt, 0
 orthograph.ch, 1
 orthomolecularproducts.com, 0
 orthopedic-shoes.tk, 1
@@ -105759,6 +105559,7 @@ osdls.gov, 1
 oseido.tk, 1
 osepideasthatwork.org, 1
 osereso.tn, 1
+oserver.click, 1
 oses.mobi, 0
 osetia.tk, 1
 osetinskie-pirogi.ga, 1
@@ -106038,7 +105839,6 @@ oursaintfrancis.org, 1
 oursibparksplan.com, 1
 oursportscentral.com, 1
 ourstory.rip, 1
-oursurplus.com, 1
 oursweb.com, 1
 oursweb.org, 1
 ourtableforseven.com, 1
@@ -106328,7 +106128,6 @@ oxwebdevelopment.com.au, 1
 oxxengarde.de, 1
 oxxoshop.com, 0
 oxydac.com, 1
-oxydrate.com, 1
 oxygames.tk, 1
 oxygenated.cf, 1
 oxygenforchennai.com, 1
@@ -106398,7 +106197,7 @@ ozgurbozkurt.com, 1
 ozgurgokmen.net, 1
 ozgurkazancci.com, 1
 ozhegov.site, 0
-ozinter.com, 1
+ozinter.com, 0
 ozli.ga, 1
 ozmo.ml, 1
 ozna.tk, 1
@@ -106485,7 +106284,7 @@ pa-w.de, 1
 pa.search.yahoo.com, 0
 pa1ch.fr, 1
 pa5am.nl, 1
-paal.network, 1
+paal.network, 0
 paarberatung-hn.de, 1
 paardenhulp.nl, 1
 paardensportbak.nl, 1
@@ -106495,7 +106294,7 @@ paaspasst.de, 1
 paass.net, 0
 paaster.io, 0
 paazmaya.fi, 1
-pabio.com, 1
+pabio.com, 0
 pablikado.cz, 1
 pablo-serrano.com, 1
 pablo-sky.tk, 1
@@ -106872,7 +106671,6 @@ palmbeachcuisine.com, 1
 palmbeachelections.gov, 1
 palmbeachvotes.gov, 1
 palmcoast.gov, 1
-palmcoastbusinessnetwork.com, 1
 palmdesert.gov, 1
 palmedconsultants.com, 1
 palmedconsultants.org, 1
@@ -106906,6 +106704,7 @@ pamontecarloclub.tk, 1
 pamorana.net, 1
 pamplicosc.gov, 1
 pamsorel.co.za, 1
+pamukhaliyikama.net, 1
 pamvo.com, 1
 pan-lleveme.com, 1
 pan-portugal.com, 1
@@ -107142,7 +106941,6 @@ paperpress.gq, 1
 papersmart.net, 1
 papersowl.com, 1
 papertracker.net, 1
-paperwallets.io, 1
 paperwork.co.za, 1
 paperwritinghelp.net, 1
 paperwritten.com, 1
@@ -107270,7 +107068,6 @@ pardanaud.com, 1
 paregion13.gov, 1
 parejaideal.es, 1
 parelectric.com, 1
-parelweb.nl, 1
 paremedical.au, 1
 paremvasi.net, 1
 parentassociation.com.au, 1
@@ -107284,6 +107081,7 @@ parents-as-allies.com, 1
 parentsandzebrasunited.com, 1
 parentsguidetotheworld.com, 1
 parentsintouch.co.uk, 1
+parentsmaster.com, 1
 parenttheirpassion.com, 1
 pareshukuk.com, 1
 paretoit.com, 1
@@ -107538,7 +107336,6 @@ parteaga.com, 1
 parteaga.net, 1
 partecipa.tn.it, 1
 partedmagic.com, 1
-partenopei.net, 1
 parthkolekar.me, 1
 parthuisot.fr, 1
 particle-vision.ch, 1
@@ -108156,6 +107953,7 @@ paypod.org, 1
 paypro.nl, 0
 payps.ru, 1
 payraise.us, 1
+payriff.com, 1
 payroll-outsourcing.com.au, 1
 payroll.ch, 0
 payroll.myftp.org, 1
@@ -108302,7 +108100,6 @@ pcnetinc.com, 1
 pcnewsoft.tk, 1
 pcnotdienst-oldenburg-rastede.de, 1
 pcpao.gov, 1
-pcpasokh.ir, 1
 pcpirates.tk, 1
 pcplaza.tk, 1
 pcprkolo.pl, 1
@@ -108479,7 +108276,6 @@ peddals.com, 1
 peddy.dyndns.org, 1
 peddyland.tk, 1
 pediatersucha.sk, 1
-pediatricdentistrycenter.com, 1
 pediatricdentistslilburnga.com, 1
 pediatricorthopedic.com, 1
 pedicure-stadspolders.nl, 1
@@ -108622,7 +108418,6 @@ pembhi.com, 1
 pembinewi.gov, 1
 pemborongbangunan.id, 1
 pembrokenc.gov, 1
-pemerintahkota.com, 1
 pems.gov.au, 1
 pen-sec.de, 1
 pen15art.tk, 1
@@ -109063,7 +108858,6 @@ perssonsgarn.se, 1
 persuader-reports.gov, 1
 persuasionmatters.com, 1
 perthhillsarmadale.com.au, 1
-perthpregnancycentre.com.au, 1
 perthtrains.net, 1
 perthunicyclists.tk, 1
 perthweekend.com.au, 1
@@ -109247,7 +109041,6 @@ petitions.pro, 1
 petitmaison.net, 1
 petitnuagephotographie.be, 1
 petitsfrenchies.com, 1
-petitsfreresdespauvres.fr, 1
 petitu.mx, 1
 petjoy.co.za, 1
 petkiss.ga, 1
@@ -109483,6 +109276,7 @@ pharmaabsoluta.com.br, 1
 pharmaboard.de, 1
 pharmaceuticalcannabis.org, 1
 pharmacie-dufayel.fr, 1
+pharmacie-matignon.com, 1
 pharmaciechatelle.be, 1
 pharmacology.uk, 1
 pharmacy-evalar.ru, 1
@@ -109506,7 +109300,6 @@ pharside.dyndns.org, 1
 pharynks.com, 1
 pharynx.nl, 1
 phase4electric.com, 1
-phasersec.com, 1
 phastidio.net, 1
 phatblackbooty.com, 1
 phattea.tk, 1
@@ -109650,7 +109443,7 @@ phive.social, 1
 phixer.com, 1
 phligence.com, 1
 phobos.tk, 1
-phocoservices.com, 1
+phocoservices.com, 0
 phoebestrong.org, 1
 phoenix-correspondence-commission.gov, 1
 phoenix.dj, 1
@@ -109892,7 +109685,6 @@ physiovesenaz.ch, 0
 physis.earth, 1
 phytosunaroms.com, 1
 phyxion.net, 1
-phyzx.com.au, 1
 pi-dash.com, 1
 pi-net.dedyn.io, 1
 pi-supply.com, 1
@@ -110252,7 +110044,6 @@ pinimg.com, 1
 pink-check.school, 1
 pink-panther.tk, 1
 pink.nl, 1
-pinkapple.com, 1
 pinkband.tk, 1
 pinkbike.com, 1
 pinkbikecycle.com, 1
@@ -110625,7 +110416,6 @@ pk-master.tk, 1
 pk-soft.tk, 1
 pk.search.yahoo.com, 0
 pk678.com, 1
-pk7777.com, 1
 pk8k.com, 1
 pkautodesign.com, 0
 pkb.shop, 1
@@ -110913,7 +110703,6 @@ play-mate.tk, 1
 play-telochki.tk, 1
 play.cash, 1
 play.google.com, 1
-play3niu1.com, 1
 play3niu11.com, 1
 play3niu33.com, 1
 play3niu55.com, 1
@@ -110986,13 +110775,13 @@ playtzolk.in, 1
 playviolinmusic.com, 1
 playwhyyza.com, 1
 playwright.co, 1
+playxpgames.com, 1
 playxylo.com, 1
 playzone.tk, 1
 plaza.ph, 1
 plazamarinavallarta.com, 1
 plazaservicesllc.com, 1
 plazasummerlin.com, 1
-plcclosets.com, 1
 plcgurus.net, 1
 plchardware.com, 1
 pldx.org, 1
@@ -111062,7 +110851,6 @@ plitu.de, 1
 plitvicefotoprint.hr, 1
 plixer.com, 1
 plixer.net, 1
-plkeenecc.com, 1
 pllivres.cf, 1
 plob.org, 1
 plodwithme.com, 1
@@ -111192,8 +110980,13 @@ pmarbeid.nl, 1
 pmarques.info, 1
 pmbc.org, 1
 pmbet.vip, 1
+pmbrachyeducation.ca, 1
 pmc-maisons-bois.fr, 1
 pmc.gov.au, 1
+pmcancercampus.ca, 1
+pmcancerclasses.ca, 1
+pmcancerrehab.ca, 1
+pmcaregiver.ca, 1
 pmcc.net, 1
 pmccrystal.com, 1
 pmconsulting.es, 1
@@ -111416,7 +111209,6 @@ podcast.style, 1
 podcast.wf, 1
 podcast1.cz, 1
 podcast559.cz, 1
-podcaster.org.il, 1
 podcastmusic.com, 1
 podcastname.space, 1
 podcastpulse.net, 1
@@ -111676,7 +111468,7 @@ polioptics.com, 1
 polis.or.at, 1
 polis.to, 0
 polis812.ru, 1
-polisafety.gr, 1
+polisafety.gr, 0
 polisanaraka.pl, 1
 polisanarciarska.pl, 1
 polish-dictionary.com, 1
@@ -112241,13 +112033,13 @@ post4me.at, 1
 postacyprus.com, 1
 postaltreasures.com, 1
 postandfly.com, 1
-postat.com, 1
 postback.io, 0
 postbanken.no, 1
 postblue.info, 1
 postbox.life, 1
 postcardpayment.com, 1
 postcards.tk, 1
+postcode.nl, 1
 postcodeswag.co.uk, 1
 postcodeswag.com, 1
 postcodeswag.uk, 1
@@ -113318,7 +113110,6 @@ privacyend.com, 1
 privacyfenceanddeckllc.com, 1
 privacyforpatriots.com, 1
 privacyget.tk, 1
-privacyguides.net, 1
 privacyguides.org, 1
 privacyinternational.org, 1
 privacymanatee.com, 1
@@ -113551,9 +113342,7 @@ prodinger.com, 0
 prodmach.ru, 1
 prodottitipicidellatoscana.it, 1
 prodottogiusto.com, 1
-producemybook.com, 1
 producentbalustrad.pl, 1
-producepromotions.com, 1
 producertools.io, 1
 producerwereld.nl, 1
 productbarcodes.com, 1
@@ -113786,7 +113575,6 @@ projectl1b1t1na.tk, 1
 projectlarix.com, 1
 projectleague.lol, 1
 projectlinuseasttn.org, 1
-projectloaded.com, 1
 projectmailext.co, 1
 projectmaka.io, 1
 projectmakeit.com, 1
@@ -113868,7 +113656,6 @@ promo-code.tk, 1
 promo-kodi.tk, 1
 promo.lc, 1
 promobit.com.br, 1
-promobo.fr, 1
 promocao.email, 1
 promocion2007.tk, 1
 promocjedladzieci.pl, 1
@@ -114058,7 +113845,6 @@ prosurveillancegear.com, 1
 prosvet.tk, 1
 prosveta1901.tk, 1
 prosvita.dp.ua, 1
-protaaltar.com, 1
 protanki.ml, 1
 protanki.tk, 1
 protapnews.tk, 1
@@ -114238,7 +114024,6 @@ prushka.ml, 1
 prushka.tk, 1
 pruve.it, 1
 prvnirodinna.cz, 1
-prwebconsulting.com, 0
 prwid.gov, 1
 pry.co, 1
 pryan.org, 1
@@ -114638,7 +114423,6 @@ puertodramaturgia.tk, 1
 puertoplazalasterrenas.com, 1
 puestifiestas.mx, 1
 puetter.eu, 1
-puffy.tube, 1
 puffyan.us, 1
 pugachev.ml, 1
 puggan.se, 1
@@ -115463,6 +115247,7 @@ quanti.au, 1
 quanticlab.com, 1
 quantifiedcommerce.com, 1
 quantikstudio.tk, 1
+quantiphi.com, 0
 quantiply.tech, 1
 quantolytic.de, 1
 quantomaisconsorcios.com.br, 1
@@ -115538,7 +115323,7 @@ qubhockey.tk, 1
 qubitoss.com, 1
 qubitsandbytes.co.uk, 1
 qubyte.codes, 1
-qudini.com, 0
+qudini.com, 1
 quebec.ca, 1
 quebeccat.com, 1
 quebeccats.com, 1
@@ -115759,6 +115544,7 @@ quisildenafil.gq, 1
 quitri.tk, 1
 quivedo.com, 1
 quiwy.ninja, 1
+quixcell.com, 1
 quiz.biz, 1
 quizandmoney.com, 1
 quizapps.se, 1
@@ -115895,7 +115681,6 @@ r33.space, 1
 r36533.com, 1
 r3bl.blog, 1
 r3dh4ck.ml, 1
-r3gi.cz, 1
 r3s1stanc3.me, 1
 r40.us, 1
 r4fo.com, 1
@@ -116247,7 +116032,6 @@ radiowakeup.tk, 1
 radioxanadu.tk, 1
 radiozetta.tk, 1
 radiozilverster.tk, 1
-radis-adopt.com, 1
 radito.com, 1
 raditool.com, 1
 raditool.pl, 1
@@ -116570,7 +116354,6 @@ ran-drunken.tk, 1
 ran-ran.top, 1
 ran-sama.ddns.net, 1
 rana.realestate, 1
-rana.shop, 1
 ranasinha.com, 1
 rancakmedia.com, 1
 rancheriastereo.tk, 1
@@ -116671,12 +116454,12 @@ rantamplan.tk, 1
 rantanda.com, 1
 rante.com, 1
 ranters.nl, 1
-ranw.cn, 1
 rany.eu.org, 1
 ranyeh.co, 1
 ranyeh.com, 1
 ranzbak.nl, 1
 raoliveoil.ga, 1
+raomed.com.ar, 1
 raovatsaigon.tk, 1
 rap4ever.org, 1
 rapala.com, 1
@@ -117005,6 +116788,7 @@ rburz.com, 1
 rbx.com, 1
 rbx.gg, 1
 rc-offi.net, 1
+rc-refer.nhs.uk, 1
 rc-shop.ch, 1
 rc.cruises, 1
 rc1.eu, 1
@@ -117276,7 +117060,6 @@ reallife-it.de, 1
 reallifeforums.com, 0
 reallight.ge, 1
 reallinux.tk, 1
-reallivingcc.com, 1
 reallovetab.ga, 1
 really-simple-plugins.com, 1
 really-simple-ssl.com, 1
@@ -117292,6 +117075,7 @@ realmaturetube.com, 1
 realmixwell.tk, 1
 realmjoin.com, 1
 realmofaesir.com, 1
+realmofespionage.xyz, 1
 realmoney.games, 1
 realnature.com.br, 1
 realneo.me, 1
@@ -117566,7 +117350,6 @@ redcreek.tk, 1
 redcross.com.ph, 1
 redcupit.com, 1
 redd.it, 1
-reddark.io, 1
 reddcrypt.com, 1
 reddepsicologosdecr.com, 1
 reddice.tk, 1
@@ -117583,6 +117366,7 @@ rede-reim.de, 1
 rede-t.com, 1
 redearsliderturtles.com, 1
 redecsirt.pt, 1
+rededca.com, 1
 rededecuidadores.pt, 1
 redefertig.de, 1
 redefiningstrength.com, 1
@@ -117696,7 +117480,6 @@ redsift.io, 1
 redsis.com, 1
 redskullstuff.gq, 1
 redsolutor.gq, 1
-redsquarelasvegas.com, 1
 redstack.tk, 1
 redstarline.be, 1
 redstarpictures.tk, 1
@@ -117889,7 +117672,6 @@ regain.com, 1
 regain.us, 1
 regal.radio, 1
 regalador.com, 1
-regalautosport.com, 1
 regalcapitalwi.com, 1
 regalfille.com, 1
 regalosymuestrasgratis.com, 1
@@ -118314,6 +118096,7 @@ rena.am, 1
 renaatsioncke.com, 1
 renaissance.shop, 1
 renaissanceproperty.ie, 1
+renard-pierne-avocats.fr, 1
 renascercorretora.com.br, 1
 renascerstp.org, 1
 renate-lietz.de, 1
@@ -118657,7 +118440,7 @@ resmigazete.gov.tr, 1
 resmim.net, 1
 resoauth.support, 1
 resolu.ru, 1
-resolute.com, 1
+resolute.com, 0
 resolutesystems.com, 1
 resolutewealthmanagement.com, 0
 resolutionnews.cf, 1
@@ -118673,7 +118456,6 @@ resoplus.ch, 0
 resort-islands.net, 1
 resort-nuvola.be, 1
 resort.ga, 1
-resortafroditatucepi.com, 1
 resortrealty.com, 0
 resorts.ru, 1
 resortsupportfiji.com, 1
@@ -119042,6 +118824,7 @@ rexvin.co.id, 0
 rexxworld.com, 1
 reyesfernando.com, 1
 reyesholdings.com, 1
+reyna.cc, 1
 reynders.xyz, 1
 reynoldsburg.gov, 1
 reytorogroup.com, 1
@@ -119189,6 +118972,7 @@ rib-ims.com, 1
 rib-leipzig.com, 1
 riba-lov.ga, 1
 ribafs.tk, 1
+ribapo.com, 1
 ribar.com, 1
 ribblu.com, 1
 ribdigital.com, 0
@@ -119263,6 +119047,7 @@ richieheijmans.io, 1
 richieheijmans.network, 1
 richieheijmans.nl, 0
 richieheijmans.one, 1
+richiesroom.com, 1
 richlandcenterwi.gov, 1
 richlandcountyoh.gov, 1
 richlandcountywi.gov, 1
@@ -119305,6 +119090,7 @@ rico.ovh, 1
 ricobaldegger.ch, 1
 ricochet.com, 1
 ricochet.im, 1
+ricoydesign.com, 1
 ricozienke.de, 1
 ridayu.jp, 1
 riddhimarketplace.com, 1
@@ -119434,7 +119220,7 @@ rinabhabra.com, 1
 rinaent.com, 1
 rincat.ch, 1
 rincon-nsn.gov, 1
-rinconanimalista.com, 0
+rinconanimalista.com, 1
 rincondenoticas.com, 1
 rinconga.gov, 1
 rinconplacas.com, 1
@@ -119491,6 +119277,7 @@ ripon-wi.gov, 1
 ripp-it.com, 1
 ripper.store, 1
 ripplecraft.cn, 1
+ripplematch.com, 0
 ripplenews.club, 1
 ripplenews.co, 1
 ripplenews.io, 1
@@ -120084,6 +119871,7 @@ rodeosales.co.uk, 1
 roder-skarf.se, 1
 rodest.net, 0
 rodevlaggen.nl, 1
+rodgersawnings.com, 1
 rodichi.net, 1
 rodin.tk, 1
 rodinka.tk, 1
@@ -120252,7 +120040,6 @@ roma-servizi.it, 1
 romab.com, 1
 romacoffee.co.nz, 1
 romadiluna.band, 1
-romadprojects.com.au, 1
 romagnaoggi.it, 1
 romail.ml, 1
 romainlapoux.com, 1
@@ -120329,7 +120116,6 @@ ronaldleite.tk, 1
 ronaldvanassen.nl, 1
 ronan.cf, 1
 ronanotorrino.com.br, 1
-ronanrbr.com, 1
 ronasit.com, 1
 ronbongamis.com, 1
 ronc.ru, 1
@@ -120609,6 +120395,7 @@ rothwellgornthomes.com, 1
 rotince.tk, 1
 rotol.me, 1
 rotonde.gq, 1
+rottadeifenici.it, 1
 rottal-inn.de, 1
 rottamazioni.it, 1
 rotterdamapartments.com, 1
@@ -120962,7 +120749,6 @@ rtec.com.tw, 1
 rteguide.ie, 1
 rteinternational.ie, 1
 rtejr.ie, 1
-rtek.se, 1
 rtenews.eu, 1
 rteo.com.au, 1
 rteone.ie, 1
@@ -121026,7 +120812,6 @@ rubberduckit.com, 1
 rubberlegscastles.co.uk, 1
 rubbermaidoutlet.com, 0
 rubbix.net, 1
-rubblebenoni.co.za, 1
 rubbleedenvale.co.za, 1
 rubblekempton.co.za, 1
 rubblemidrand.co.za, 1
@@ -121618,7 +121403,6 @@ s.team, 1
 s.tt, 1
 s.wtf, 1
 s007.co, 1
-s0923.com, 1
 s0laris.co.uk, 1
 s0t.ru, 1
 s1-llc.com, 1
@@ -121721,7 +121505,6 @@ saber-nyan.com, 1
 sabesprev.com.br, 1
 sabghijewelers.com, 1
 sabharwallawfirm.ca, 1
-sabhindimai.net, 0
 sabians.tk, 1
 sabiasque.pt, 1
 sabine-forschbach.de, 1
@@ -121884,7 +121667,6 @@ safeheron.vip, 1
 safehouse.zone, 1
 safehousepestcontrol.au, 1
 safeinfra.nl, 1
-safeitup.se, 1
 safejourney.education, 1
 safekidney.com.tw, 1
 safeme.ga, 1
@@ -121964,7 +121746,6 @@ sagaknives.com, 1
 sagan.tk, 1
 sagarawat.in, 1
 sagargandecha.com.au, 0
-sagasailing.dk, 1
 sagauae.com, 1
 sageclinic.org, 1
 sagefitness.store, 1
@@ -122313,7 +122094,6 @@ saltcave.gq, 1
 saltedfish.network, 1
 saltedge.com, 1
 saltedpasta.com, 1
-salter.com.tr, 1
 saltercane.com, 0
 saltlakecounty.gov, 1
 saltlakehealth.gov, 1
@@ -122627,6 +122407,7 @@ sandtime.io, 1
 sandtler.moe, 1
 sandtlivigud.dk, 1
 sandton-plumbing.co.za, 1
+sandtonrubbleremovals.co.za, 1
 sanduskycountyoh.gov, 1
 sandwichclub.tk, 1
 sandwichcouncil.tk, 1
@@ -123240,12 +123021,10 @@ saz.sh, 1
 saz9001.com, 1
 saznworld.com, 1
 sazuz.cz, 1
-sb-graph.com, 0
 sb-group.dk, 1
 sb-sd.org, 1
 sb-webdev.de, 1
 sb.ax, 1
-sb.im, 1
 sb.sb, 1
 sb0.io, 1
 sba4u.com, 1
@@ -123931,7 +123710,7 @@ scottrae.me.uk, 1
 scottsautocarrier.com, 1
 scottsbluffcountyne.gov, 1
 scottsboropdal.gov, 1
-scottsdaleaz.gov, 1
+scottsdaleaz.gov, 0
 scottseditaacting.com, 1
 scottsfreightshipping.com, 1
 scottshorter.com.au, 1
@@ -123962,7 +123741,6 @@ scoutsanpieropatti.tk, 1
 scoutsdeldesierto.tk, 1
 scoutwired.org, 1
 scp-rustenholz-trens.notaires.fr, 1
-scp500.com, 1
 scpe.eu.org, 1
 scphotography.co.uk, 1
 scpocahontas.nl, 1
@@ -124003,12 +123781,10 @@ screamager.tk, 1
 screamingfrog.club, 1
 screamingrooster.co.nz, 1
 screamworks.london, 1
-scredible.com, 0
 screefox.de, 1
 screen-fox.de, 1
 screen64.tk, 1
 screenfax.de, 1
-screenfox.eu, 1
 screenfox.info, 1
 screenfox.net, 1
 screeningmaster.jp, 1
@@ -124032,7 +123808,6 @@ script-sign.com, 1
 script.google.com, 1
 scriptamanent.org, 1
 scripter.co, 1
-scripthost.org, 1
 scriptjunkie.us, 1
 scriptline.ga, 1
 scriptmaker.tk, 1
@@ -124207,7 +123982,6 @@ search4stores.com, 1
 searchable.ml, 1
 searchaudits.com, 1
 searchbar.co.za, 1
-searchbyai.com, 1
 searchbyimages.com, 1
 searchcandy.uk, 1
 searchcoloradohouses.com, 1
@@ -124351,7 +124125,6 @@ seclimax7.pw, 1
 seclink.link, 1
 seclms.net, 1
 secnet.ga, 1
-secnews.gr, 1
 secolve.com, 1
 secomo.org, 1
 second-life-partner-ichien.com, 1
@@ -124550,6 +124323,7 @@ sedicomm.com, 1
 sedirector.net, 1
 sedkisghairi.com, 0
 sedl.org, 1
+sedlex.fr, 1
 sedmicka.sk, 0
 sedoexpert.nl, 1
 sedoexperts.nl, 1
@@ -124759,11 +124533,9 @@ selfcaregate.com, 0
 selfcateringstratford.co.uk, 1
 selfdefinition.org, 1
 selfdefinition.tk, 1
-selfdevelopment.com.au, 1
 selfelec.be, 1
 selfemployed.ga, 1
 selfguidedholiday.com, 1
-selfharm.xyz, 1
 selfici.com, 1
 selfici.cz, 1
 selfiehome.cz, 1
@@ -124904,7 +124676,6 @@ senarea.nl, 1
 senarist.tk, 1
 senarius.de, 1
 senat.cz, 1
-senat.ro, 1
 senbil.net, 1
 senbil.video, 1
 sence.gob.cl, 1
@@ -124942,6 +124713,7 @@ sendpulse.com, 1
 sendsonar.com, 1
 sendthisfile.com, 1
 sendtrix.nl, 1
+sendy.land, 1
 sendzik.eu, 1
 senecailpd.gov, 1
 senergiya.tk, 1
@@ -125388,13 +125160,13 @@ serversfrom.space, 1
 serversify.net, 1
 serverstatus.tk, 1
 serverstuff.info, 1
-serversuit.com, 1
 servertastic.com, 1
 servertechsupply.com, 1
 servertutorial.eu, 1
 serveru.us, 1
 servetten-groothandel.nl, 1
 serveur.nl, 1
+serveurs-minecraft.com, 1
 serveursminecraft.org, 1
 servfefe.com, 1
 servi-tek.net, 0
@@ -125586,7 +125358,6 @@ sewing-machines.com.ua, 1
 sewing-world.ru, 1
 sewinginsight.com, 0
 sewingtales.com, 0
-sewoo.co.uk, 1
 seworld.ml, 1
 sex-chat-geld-verdienen.com, 1
 sex-education.com, 1
@@ -125616,6 +125387,8 @@ sexogsamfunn.no, 1
 sexogsamfunn.online, 1
 sexologist.cf, 1
 sexonwax.com, 0
+sexorzn.red, 1
+sexorzn.xyz, 1
 sexosintabues30.com, 1
 sexotomsk.com, 1
 sexoufa.center, 1
@@ -125779,7 +125552,6 @@ sgomberi.liguria.it, 1
 sgombero.it, 1
 sgomberoroma.it, 1
 sgoossens.nl, 1
-sgp.ovh, 1
 sgplay.io, 1
 sgrmreproduccionapp.azurewebsites.net, 1
 sgrossi.it, 1
@@ -125817,7 +125589,6 @@ shabaka.org, 1
 shabashka.ml, 1
 shabiwangyou.com, 1
 shackleton.io, 1
-shad.waw.pl, 1
 shade.sh, 1
 shadebarandgrillorlando.com, 1
 shadebarandgrillutica.com, 1
@@ -126126,7 +125897,6 @@ sheehyinfinitioftysonsparts.com, 1
 sheekdeveloper.com, 1
 sheelyuu.art, 1
 sheemz.art, 1
-sheenveininstitutestl.com, 1
 sheepfriends.com, 1
 sheepproductions.com, 1
 sheeprock.tk, 1
@@ -126283,7 +126053,6 @@ shiftkey.pl, 1
 shiftleft.io, 1
 shiftleft.org, 1
 shifton.com, 1
-shiftsixth.com, 1
 shiga1.jp, 1
 shigaben.or.jp, 1
 shiganmartialarts.com, 1
@@ -126400,6 +126169,7 @@ shireyishunjian.com, 1
 shiriforum.tk, 1
 shirley.li, 1
 shirlygilad.com, 1
+shiro.com.pk, 1
 shiroki-k.net, 1
 shiropaev.tk, 1
 shirosaki-hana.fun, 1
@@ -126519,7 +126289,6 @@ shop-lingerie.tk, 1
 shop-ok.tk, 1
 shop-s.net, 1
 shop-slivki.tk, 1
-shop3dmili.com, 1
 shop4d.com, 1
 shop4im.com, 1
 shopacer.co.za, 1
@@ -127182,7 +126951,7 @@ signalmaps.co.uk, 1
 signalstart.com, 1
 signature.in.th, 1
 signature365.com, 1
-signaturedallas.com, 1
+signaturedallas.com, 0
 signatureplants.co.nz, 1
 signatureplasticsurgery.net, 1
 signaturereport.org, 1
@@ -127228,7 +126997,6 @@ sigvik.ru, 1
 siika.solutions, 1
 siikaflix.tv, 1
 siimustilak.edu.ee, 1
-sijbesmaverhuizingen.nl, 1
 sijem.si, 1
 sijimi.cn, 1
 sik-it.nl, 1
@@ -127619,7 +127387,6 @@ simplyowners.net, 1
 simplyplans.co.uk, 1
 simplyregister.net, 1
 simplysmartgardening.com, 1
-simplythankyou.co.uk, 1
 simplytiles.com, 1
 simplytime.co.uk, 1
 simplyuniforms.com.au, 1
@@ -127686,8 +127453,6 @@ sindastra.org, 1
 sinde.ru, 1
 sindicatoburgos.org, 0
 sindirectory.com, 1
-sindlerova.com, 1
-sindlerova.cz, 1
 sindominio.net, 1
 sindromebenjamin.tk, 1
 sineadobrien.com, 1
@@ -127751,7 +127516,7 @@ sinluzvenezuela.tk, 1
 sinmarea.com, 1
 sinn-frei.tk, 1
 sinner-rider.tk, 1
-sinnersprojects.ro, 0
+sinnersprojects.ro, 1
 sinnvoll-online.de, 1
 sinnvoll-online.info, 1
 sinog.si, 1
@@ -127930,7 +127695,6 @@ site.mu, 1
 site2002.tk, 1
 site2top.info, 1
 siteadvokat.cf, 1
-sitebrass.ru, 1
 sitebuilderreport.com, 0
 sitecentre.com.au, 1
 sitechange.dedyn.io, 1
@@ -128509,6 +128273,7 @@ slab.com, 1
 slabserver.com, 1
 slabstage.com, 1
 slack-files.com, 1
+slack.com, 1
 slackline.tk, 1
 sladkiiflirt.ru, 1
 slaek.de, 1
@@ -128773,7 +128538,6 @@ sm-supplements.gr, 1
 sm.ms, 1
 sm161.cn, 1
 sm2016.ch, 1
-sm2ct.cn, 1
 sma-dev.de, 1
 sma-europe.eu, 1
 sma-gift.com, 1
@@ -128866,7 +128630,6 @@ smartbear.com, 1
 smartbetaler.no, 1
 smartbiz.vn, 1
 smartblock.cloud, 1
-smartbuytrends.com, 1
 smartcar.com, 0
 smartcard.tools, 1
 smartcents.gold, 1
@@ -129266,6 +129029,7 @@ snargol.com, 1
 snatch-note.tk, 1
 snatertlc.it, 1
 snatti.com, 1
+snatural.com.br, 1
 snav.cc, 1
 snazel.ae, 1
 snazel.co.il, 1
@@ -129305,6 +129069,7 @@ snem.tk, 1
 snepflix.com, 1
 snerith.com, 1
 snesdev.com, 1
+snetts.com, 1
 snfdata.com, 0
 sngallery.co.uk, 1
 sngnews.tk, 1
@@ -129391,7 +129156,6 @@ snowy.ink, 1
 snowy.land, 1
 snowyluma.com, 1
 snowyluma.me, 1
-snp-media.de, 0
 snrat.com, 1
 snrd-africa.net, 1
 snrd.de, 1
@@ -129661,7 +129425,6 @@ softmas.cl, 1
 softnet-consulting.com, 1
 softonit.ru, 1
 softonline.net, 1
-softowe.com, 1
 softpark.cf, 1
 softpark.ml, 1
 softplay4hire.co.uk, 1
@@ -129885,10 +129648,8 @@ solongandthanksforallthe.fish, 1
 soloparati.cf, 1
 solopress.com, 1
 soloprivacidad.com, 1
-soloproaudio.com, 1
 soloproductos.top, 1
 soloroboto.com, 1
-solos.im, 1
 solosesso.tk, 1
 solostocks.cl, 1
 solostocks.com, 1
@@ -130146,6 +129907,7 @@ sophiahatstudio.com, 1
 sophiajaneboutique.com, 1
 sophiakligys.com, 1
 sophiatazar.com, 1
+sophie-revault.fr, 1
 sophiebreslin.co.uk, 1
 sophiekush.com, 1
 sophier.tk, 1
@@ -130223,7 +129985,6 @@ sos.xxx, 1
 sosafe-awareness.com, 1
 sosaka.ml, 1
 sosaka.tk, 1
-sosanhxedien.com, 1
 soscavehumide.fr, 1
 sosecu.red, 1
 sosedisetka.tk, 1
@@ -130331,7 +130092,7 @@ soundbase.tk, 1
 soundblast.tk, 1
 soundcache.tk, 1
 soundcamp.org, 1
-soundcharts.com, 1
+soundcharts.com, 0
 soundclick.com, 1
 soundcloud-to-mp3.com, 1
 soundcloud.com, 1
@@ -130751,7 +130512,7 @@ spbfavourite.ru, 1
 spbgorod.ru, 1
 spbot.ml, 1
 spc-ag.ch, 1
-spcconnect.com, 1
+spcconnect.com, 0
 spcollege.edu, 1
 spconsult.com.br, 1
 spctech.click, 1
@@ -131050,7 +130811,6 @@ splawoffice.com, 1
 splconsulenza.it, 1
 spleis.no, 1
 splendadent.it, 1
-splendidspoon.com, 0
 splendorservizi.it, 1
 splex.com, 1
 spli.co, 1
@@ -131107,7 +130867,6 @@ spoorcam.nl, 1
 sporadesnews.gr, 1
 sporenvanslavernijutrecht.nl, 1
 sporeprinters.com, 1
-sporicidluhopisycr.cz, 1
 sporki.fun, 1
 sporq.de, 1
 sporstball.com, 1
@@ -131140,6 +130899,7 @@ sportcompactwarehouse.com, 1
 sportcucc.hu, 1
 sportda.tk, 1
 sporte3q.com, 1
+sportedy.com, 1
 sporter.com.hr, 1
 sportfair.it, 1
 sportfits.at, 1
@@ -131212,6 +130972,7 @@ sportwettenbonus.de, 1
 sportwettenschweiz.net, 1
 sportygirlsjewels.ga, 1
 sportztalk.com, 1
+sporyayinevi.com, 1
 spot-cleaner.tk, 1
 spot-pro.jp, 1
 spot.co.th, 1
@@ -131574,7 +131335,6 @@ ssa.co.ir, 1
 ssa.gov, 0
 ssaarevents.tk, 1
 ssab.gov, 1
-ssasociety.nl, 1
 ssatpa.com, 1
 ssatripura.com, 1
 ssb.ee, 1
@@ -131827,7 +131587,6 @@ stairlin.com, 0
 stairmaster.tk, 1
 stajka.tk, 1
 staked.us, 1
-stakedate.com, 0
 stakeholders.ca, 1
 stakingjobs.com, 1
 stako.jp, 1
@@ -132328,7 +132087,6 @@ stedelijkorkestpurmerend.nl, 1
 steebel.com.au, 1
 steeble.com.au, 1
 steef389.eu, 1
-steeha.nl, 1
 steel-pc.fr, 1
 steel-pc.lu, 1
 steel-roses.de, 1
@@ -132413,6 +132171,7 @@ steinmetz.cloud, 1
 stek-usa-shop.com, 1
 stek-usa.com, 1
 stekelenburg.me, 1
+steklein.de, 1
 steleentechnischevraag.com, 1
 steleentechnischevraag.eu, 1
 steleentechnischevraag.nl, 1
@@ -132913,6 +132672,7 @@ stomatologiya.ml, 1
 stomproced.ro, 1
 stomt.com, 1
 stone-guru.co.uk, 1
+stone-support.de, 1
 stoneagehealth.com.au, 1
 stoneandtile.design, 1
 stonebriarpropertyinspections.com, 1
@@ -133112,6 +132872,7 @@ stpatrickathenscatskill.org, 1
 stpatrickkennettsquare.org, 1
 stpatrickri.org, 1
 stpatricks-pelham.com, 1
+stpatricksmapleridge.ca, 1
 stpatsschool.org, 1
 stpaulcatholicchurcheastnorriton.net, 1
 stpaulsbullville.org, 1
@@ -133708,7 +133469,6 @@ stylebajumuslim.com, 1
 stylebeat.tk, 1
 styleci.io, 1
 styleclub.tk, 1
-stylecollective.us, 1
 styledbysally.com.au, 1
 styleelite.tk, 1
 styleetvieperfumes.com, 1
@@ -133985,7 +133745,6 @@ sulemanquotes.tk, 1
 suleri.tk, 1
 sulfegate.org, 1
 sulkmen.tk, 1
-sullinssudspressurewashing.com, 1
 sullivancontractingct.com, 1
 sullivancountypa.gov, 1
 sulman4paf.tk, 1
@@ -134281,7 +134040,6 @@ super60.org, 1
 super60plus.de, 1
 superaficionados.com, 1
 superalem.org, 1
-superb.games, 1
 superb.net, 1
 superbart.nl, 1
 superbaskirskij-med.tk, 1
@@ -134512,7 +134270,6 @@ surest.com, 0
 surestartblanks.com, 1
 surf1969.tk, 1
 surfacespots.ga, 1
-surfandturfroofing.com, 1
 surfbluewave.com, 1
 surfcoastendoscopy.com, 1
 surfcult.org, 1
@@ -134668,7 +134425,6 @@ suwanneecountyfl.gov, 1
 suwanya.cn, 1
 suwcountyfl.gov, 1
 suwebcreativa.com, 1
-suyati.com, 0
 suzannejauchius.com, 1
 suzansalem.nl, 1
 suzdalgrad.cf, 1
@@ -134952,7 +134708,6 @@ swiftmod.net, 1
 swiftmodcdn.net, 1
 swiftmodders.com, 1
 swiftopal.com, 1
-swiftoutput.com, 1
 swiftpak.co.uk, 1
 swiftrecharge.com, 1
 swiggles.com, 1
@@ -135298,7 +135053,6 @@ sysdb.io, 1
 syselg.com, 1
 sysert.tv, 0
 sysgap-gsci.com, 1
-syska.com, 1
 syslogic.io, 1
 sysmanagement.it, 1
 sysmike.de, 1
@@ -135626,7 +135380,6 @@ tachikawa-saisyuusyou.com, 1
 tachonetbg.com, 1
 tachoplus.pl, 1
 tachtien.nl, 1
-tachyonapp.com, 1
 taciso.com, 1
 tackleundies.com, 1
 tackleyourfeelings.com, 0
@@ -135886,7 +135639,6 @@ talentstimuleren.nl, 1
 talentuar.com, 1
 talentwall.io, 1
 taler.net, 1
-talerakademiet.dk, 1
 talesbazaar.com, 1
 talesfromthebigpig.com, 1
 talesofrashidun.com, 1
@@ -136426,7 +136178,6 @@ taxikraken.tk, 1
 taxiloerrach.de, 1
 taximinvody.ml, 1
 taximovies.gq, 1
-taxipool.co.il, 1
 taxis-collectifs.ch, 0
 taxisafmatosinhos.pt, 1
 taxiscollectifs.ch, 0
@@ -136570,7 +136321,6 @@ tcit.fr, 0
 tcj.ir, 1
 tcl.sh, 1
 tcmk-tomsk.ru, 1
-tcmskarate.fr, 0
 tcn.news, 1
 tcnapplications.com, 1
 tco.zapto.org, 1
@@ -137165,6 +136915,7 @@ techsharetx.gov, 1
 techshift.eu, 1
 techshift.nl, 1
 techshift.se, 1
+techshout.com, 1
 techsite.tk, 1
 techsmartstore.com, 1
 techsna.com, 1
@@ -137356,7 +137107,6 @@ tehno-trust.tk, 1
 tehno3d.ru, 1
 tehnoklubi.ee, 1
 tehnomagija.tk, 1
-tehosmotravto.ru, 1
 tehplace.club, 1
 tehrabbitt.com, 0
 tehrankey.ir, 1
@@ -137378,7 +137128,6 @@ teka.ro, 1
 tekanswer.com, 1
 tekcafe.vn, 1
 tekchoiceelectronics.com, 1
-tekdt.com, 1
 tekila.cf, 1
 tekila.ga, 1
 tekila.tk, 1
@@ -137414,6 +137163,7 @@ teksnologi.com, 1
 teksol-boat.ru, 1
 tekstover.tk, 1
 tekstpesni.tk, 1
+tektorg.ru, 1
 tektouch.net, 1
 tektuts.com, 1
 telamon.eu, 1
@@ -137605,7 +137355,6 @@ templatetrip.com, 1
 temple-eikando.fr, 1
 templeandalucia.tk, 1
 templenh.gov, 1
-templeoverheaddoors.com, 1
 templete.tk, 1
 tempmail.ninja, 1
 tempo.co, 1
@@ -137934,7 +137683,6 @@ testboot.top, 1
 testcase.me, 1
 testcoz.tk, 1
 testdemoweb.tk, 1
-testdevelocidad.com, 1
 testdomens.ga, 1
 testdrogue.fr, 1
 testecta.top, 1
@@ -138038,7 +137786,6 @@ teutonia08.de, 1
 teva.com, 1
 teveblad.be, 1
 teverzamelen.nl, 1
-tewarilab.co.uk, 1
 tewhare-iti.co.nz, 1
 tewkesburyyoga.com, 1
 tex-izol.ru, 1
@@ -138095,7 +137842,6 @@ texterseo.de, 1
 textieldiscounter.nl, 1
 textil-kyoto.tk, 1
 textiles.tk, 1
-textinmate.com, 1
 textlinktausch.tk, 1
 textonly.email, 1
 textpages.tk, 1
@@ -138255,7 +138001,6 @@ that.host, 1
 thatch.ai, 1
 thatchhealth.com, 1
 thatdaria.com, 1
-thatdarkplace.com, 1
 thatdirtyd.com, 1
 thatmy.com, 1
 thatshayini-sivananthan.fr, 1
@@ -138268,7 +138013,6 @@ thawte.com.ru, 1
 thaxton.xyz, 0
 thc-stadvdzon.nl, 1
 thca.ca, 1
-thccarts.shop, 1
 thda.org, 1
 the-ace.tk, 1
 the-allmighty-mike.tk, 1
@@ -138416,6 +138160,7 @@ thebarclay.org, 1
 thebarrens.nu, 1
 thebasementdefender.com, 1
 thebasementdefender.net, 1
+thebasicstudio.com, 1
 thebathroomexchange.ga, 1
 thebbfoundation.org, 1
 thebcm.co.uk, 1
@@ -138647,7 +138392,6 @@ thedarkcolonyfansite.tk, 1
 thedarkfusion.tk, 1
 thedarksidesoftwaresecurity.ga, 1
 thedarkteam.tk, 1
-thedataexaminer.com, 1
 thedave.link, 1
 thedave.me, 1
 thedave.photos, 1
@@ -138758,7 +138502,6 @@ theflashback.co.uk, 1
 theflatrestaurant.com, 1
 theflesh.tk, 1
 theflexerzone.ga, 1
-theflowershopdeddington.com, 1
 theflowstudios.com, 1
 theflyingbear.net, 0
 theflyingdutch.tk, 1
@@ -138796,7 +138539,6 @@ thefutureforward.com, 1
 thefuturetech.ga, 1
 thegab.in, 1
 thegadget.tk, 1
-thegadgetflow.com, 1
 thegallery-restaurant.co.uk, 1
 thegamecave.co.uk, 1
 thegamecollector.tk, 1
@@ -138933,6 +138675,7 @@ theitsage.com, 0
 theivybuckhead.com, 1
 theixiangrand.gr, 1
 thejacksoninstitute.com.au, 1
+thejewelhut.co.uk, 1
 thejkdrebel.com, 1
 thejoaustralia.com, 1
 thejobhackers.org, 1
@@ -139133,7 +138876,6 @@ thenursery.it, 1
 thenutritionalreset.ca, 1
 thenviews.com, 0
 theo-andreou.org, 1
-theo.agency, 1
 theo.me, 1
 theo546.cloud, 1
 theo546.fr, 1
@@ -139911,7 +139653,6 @@ threatcon.io, 1
 threatcon.link, 1
 threatcon.live, 1
 threatcon.media, 1
-threatcon.net, 1
 threatcon.network, 1
 threatcon.online, 1
 threatcon.org, 1
@@ -140170,7 +139911,6 @@ tideritter.de, 1
 tidewaterwebsites.com, 1
 tidimension.tk, 1
 tidit.nl, 1
-tidlook.co.il, 1
 tidy.chat, 1
 tidych.at, 1
 tidycustoms.net, 1
@@ -140295,7 +140035,6 @@ tiktak.su, 1
 tiktok.com, 1
 tiktokdownloader.com, 1
 tiktokformation.fr, 1
-tiktokgirls.live, 1
 tiktokglobalshop.com, 1
 tiktokglobalshopv.com, 1
 tiktokshop.com, 1
@@ -140319,6 +140058,7 @@ tilipalvelutuominen.fi, 1
 tilisi.ga, 1
 tilitoimistokota.fi, 0
 tilitoimistopaiva.fi, 1
+tilitoimistosukkela.fi, 1
 tilitop.tk, 1
 till-grossmann.de, 1
 till.fyi, 1
@@ -140481,7 +140221,7 @@ timroes.de, 1
 timsayedmd.com, 1
 timscheuermann.ddns.net, 1
 timseverien.com, 0
-timstoffel.net, 0
+timstoffel.net, 1
 timtaubert.de, 1
 timtelfer.com, 1
 timtj.ca, 1
@@ -140556,7 +140296,6 @@ tinybeez.com.au, 1
 tinychen.com, 1
 tinycrm.pl, 1
 tinydogs.ga, 1
-tinyedges.com, 1
 tinyemily.com, 1
 tinyfont.cf, 1
 tinyfont.ml, 1
@@ -140675,7 +140414,6 @@ titlecan.eu.org, 1
 titlecan.online, 1
 titlecan.ru, 1
 titli.fr, 1
-titom.me, 1
 titomweb.fr, 1
 titouan.co, 0
 titser.ph, 1
@@ -140998,7 +140736,7 @@ todoescaperooms.com, 1
 todoescine.com, 1
 todofadingsuns.tk, 1
 todofiesta.com.ar, 1
-todohealth.com, 1
+todohealth.com, 0
 todoinfo.tk, 1
 todoist.com, 1
 todoist.help, 1
@@ -141562,7 +141300,6 @@ topknot.gq, 1
 topkorea.ml, 1
 toplevel.nl, 1
 topline.com.sa, 1
-toplink.co.il, 1
 toplist.cz, 1
 toplist.eu, 1
 toplist.sk, 1
@@ -141604,7 +141341,6 @@ topotom.tk, 1
 topporn.me, 1
 topppinfo.com, 1
 topprice.ua, 1
-topproductsanalysis.com, 1
 topprogaragedoor.com, 1
 toppsnfts.com, 1
 toppstugansundbyberg.se, 1
@@ -141694,6 +141430,7 @@ torgopt.tk, 1
 torgovaya.tk, 1
 toricafe.com, 1
 torigaoka-dc.com, 1
+toriihq.com, 1
 toriko-official.ml, 1
 torino.fi, 1
 torinotoday.it, 1
@@ -141884,7 +141621,6 @@ touchmagazine.ro, 1
 touchmark.tk, 1
 touchmekissmee.com, 1
 touchoflife.in, 1
-touchscreentills.com, 1
 touchspeak.nl, 0
 touchtable.nl, 1
 touchweb.be, 1
@@ -142643,7 +142379,6 @@ transfera-sheregesh.ru, 1
 transferagent.co, 1
 transferbags.com, 1
 transferistan.com, 1
-transfermate.com, 0
 transfero-sheregesh.ru, 1
 transfers-sheregesh.ru, 1
 transferserver.at, 1
@@ -142773,6 +142508,8 @@ traslochi.napoli.it, 1
 traslochiinternazionali.it, 1
 trasloco.milano.it, 1
 trasloedil.it, 1
+trasportatori.it, 1
+trasportoambulanzaprivata.it, 1
 trastornoevitacion.com, 1
 trastornolimite.com, 1
 tratamentoparacelulite.net, 1
@@ -142794,7 +142531,6 @@ traumtrauringe.de, 1
 traut.cloud, 1
 travador.com, 1
 trave.africa, 1
-travel-and-cache.de, 0
 travel-cube.ml, 1
 travel-dealz.de, 1
 travel-rus-club.tk, 1
@@ -142846,7 +142582,6 @@ traveldoo.com, 1
 traveldragon.ga, 1
 travelecho.ga, 1
 traveleets.com, 1
-travelepoch.com, 1
 travelera.tk, 1
 travelersuniverse.com, 1
 travelescape.tk, 1
@@ -143835,7 +143570,6 @@ tsp.gov, 1
 tspdrits.xyz, 1
 tsproesasac.com, 1
 tsr.best, 1
-tsra.gov.au, 1
 tsriggingequipment.com, 1
 tsrv.pw, 0
 tss.am, 1
@@ -143854,7 +143588,6 @@ tsumegumi.com, 1
 tsumi.it, 0
 tsumi.moe, 1
 tsumishima.com, 1
-tsumugu2021.com, 1
 tsunami.gov, 1
 tsunamic.cf, 1
 tsunamikill.tk, 1
@@ -143868,7 +143601,7 @@ tsutaya-ai.com, 1
 tsutsumi-kogyo.jp, 1
 tsuyuzakihiroyuki.com, 1
 tsv-1894.de, 0
-tsv-hittfeld.de, 1
+tsv-hittfeld.de, 0
 tsw.ovh, 1
 tsxxlangel.com, 1
 tsybanov.com, 1
@@ -144613,7 +144346,6 @@ ty962.com, 0
 ty965.com, 1
 ty980.com, 1
 tyan.com, 1
-tybox.ca, 1
 tyc001.cc, 1
 tyc009.cc, 1
 tycaa.org, 1
@@ -144807,6 +144539,7 @@ uachemlabs.com, 1
 uacred.co.ua, 1
 uae-company-service.com, 1
 uaefiu.gov.ae, 1
+uaemegadeals.com, 1
 uaestorages.com, 1
 uafinance.net, 1
 uaireceitas.com.br, 1
@@ -144934,8 +144667,8 @@ ucybodyinc.com, 1
 udaap.org, 1
 udancy.com, 1
 udaneprzepisy.pl, 1
+udb.kr, 1
 udbina.tk, 1
-uddate-linthdcp-3345app.com, 1
 uddate-linthdcp-567app.com, 1
 uddi.ng, 1
 uddin.io, 1
@@ -145041,6 +144774,7 @@ uhes.com.sg, 1
 uhingaro.com, 0
 uhl.site, 1
 uhlhosting.ch, 1
+uhnwarfarinedu.ca, 1
 uhost.cyou, 1
 uhrenlux.de, 1
 uhuc.de, 1
@@ -145053,6 +144787,7 @@ uicchy.com, 1
 uid0.pl, 1
 uidesignlab.com, 1
 uiharu.top, 0
+uika-bogor.ac.id, 1
 uinst.tk, 1
 uintah.gov, 1
 uinvest.ml, 1
@@ -145083,7 +144818,6 @@ ukb.sch.id, 0
 ukbc.london, 1
 ukc2.com, 1
 ukcarers.tk, 1
-ukcarhub.com, 1
 ukdefencejournal.org.uk, 1
 ukfoodbox.co.nz, 1
 ukforum.net, 1
@@ -145215,7 +144949,7 @@ ultrafine.cf, 1
 ultralife.cf, 1
 ultraman.tk, 1
 ultramax.biz, 1
-ultramookie.com, 1
+ultramookie.com, 0
 ultraonline.ml, 1
 ultrapedic.com, 1
 ultrarare.space, 1
@@ -145620,7 +145354,6 @@ unitel2000.de, 0
 unitencup.tk, 1
 unither.com, 1
 unitil.com, 1
-unitimed.com, 1
 unitingwa.org.au, 1
 unitir.gq, 1
 unitizer.com, 1
@@ -146054,6 +145787,7 @@ urbancoyoteresearch.com, 0
 urbancreators.dk, 1
 urbane-narrationen.de, 1
 urbanesecurity.com, 1
+urbanface.photography, 1
 urbanfineart.ro, 1
 urbanfoodmarket.nl, 1
 urbanfun.ga, 1
@@ -146666,7 +146400,7 @@ vacati0n.tk, 1
 vacation-croatia.com, 1
 vacation-in-pisak.tk, 1
 vacationfund.co, 1
-vacationrentals.com.co, 0
+vacationrentals.com.co, 1
 vacationsforcouples.com, 1
 vacaturesonline.nl, 1
 vaccantcorner.ml, 1
@@ -147517,7 +147251,6 @@ venicefloridawebsitedesign.com, 1
 venicerealdeal.com, 1
 venje.pro, 0
 venlafaxine.gq, 1
-venn.com, 1
 venndy.com, 1
 vennet.fr, 1
 vennprime.com, 1
@@ -148742,7 +148475,6 @@ viris.si, 1
 virkhost.com, 1
 virostack.com, 1
 virot.eu, 1
-virtasktic.com, 1
 virtbaza.cf, 1
 virtit.fr, 1
 virtlinux.eu, 1
@@ -148912,7 +148644,6 @@ visitghent.be, 1
 visitghent.eu, 1
 visithuntingtonwv.org, 1
 visitinvernesslochness.com, 1
-visitislandpond.com, 1
 visitmaine.com, 1
 visitmexico.com, 1
 visitmontgomerycountyny.com, 1
@@ -148946,7 +148677,6 @@ visor.ph, 1
 visordown.com, 1
 visoundcloud.com, 1
 visp.net, 1
-vissanum.com, 1
 visscher.codes, 1
 vista-calculator.ru, 1
 vista-research-group.com, 1
@@ -149027,6 +148757,7 @@ vitalshop.tk, 1
 vitalsolutions.ro, 1
 vitalthings.de, 1
 vitalthrills.com, 1
+vitam.de, 1
 vitamaxxi.com.br, 1
 vitamedgroup.com, 1
 vitamina.cl, 1
@@ -149134,7 +148865,6 @@ viveremediglia.tk, 1
 viverse.com, 1
 viverstp.net, 0
 vivesaludableconomnilife.com, 1
-vivetoluca.com, 1
 vivezlaromate.com, 1
 vivi.fyi, 0
 vivi.zone, 0
@@ -149246,6 +148976,7 @@ vkikaku.com, 0
 vkino.com, 0
 vkino.ml, 1
 vkirichenko.name, 1
+vkirienko.com, 1
 vklikers.tk, 1
 vkolledzhe.tk, 1
 vkontakte-poisk.ru, 1
@@ -149329,7 +149060,6 @@ vmccnc.com, 1
 vmconnected.co.uk, 1
 vmedia.ca, 1
 vmf365.tk, 1
-vmgirls.com, 0
 vmhydro.ru, 0
 vmis.nl, 1
 vmlze.cz, 1
@@ -149369,7 +149099,6 @@ vns377i.com, 0
 vns377j.com, 0
 vns3780.com, 1
 vns5020.com, 0
-vns5151.com, 0
 vns5353.com, 0
 vns5656.com, 1
 vns5757.com, 0
@@ -149476,7 +149205,6 @@ voidma.in, 1
 voidpay.com, 1
 voidpay.net, 1
 voidpay.org, 1
-voidscrawl.com, 1
 voidx.top, 1
 voigt-analytics.de, 1
 voigt-it.solutions, 1
@@ -149785,6 +149513,7 @@ voyagesvoyages.net, 1
 voyagewd.world, 1
 voyagewiki.com, 1
 voyagewiki.org, 1
+voyagewonders.com, 1
 voyainvestments.com, 1
 voyaker.tk, 1
 voyance-direct.info, 1
@@ -149990,7 +149719,6 @@ vsevolod.tk, 1
 vsgcommunity.nl, 1
 vshipit.com, 1
 vshop.ir, 1
-vsimosvita.com, 1
 vsl-defi.ch, 0
 vsl.de, 1
 vsmcomunicacao.com.br, 1
@@ -150112,6 +149840,7 @@ vv9297.co, 1
 vv9728.co, 1
 vva-355.org, 1
 vvactivia.nl, 1
+vvag.ru, 1
 vvave.net, 1
 vvcasteren.nl, 1
 vvd.bz, 1
@@ -150217,7 +149946,6 @@ w-surgeryhospital.com, 1
 w-w-auto.de, 1
 w-ws.ga, 1
 w.st, 1
-w.wiki, 1
 w0.pw, 1
 w00228.com, 1
 w03.cn, 1
@@ -150576,7 +150304,6 @@ wangyue.blog, 1
 wangzhe100.xyz, 1
 wangzuan168.cc, 1
 wanjuhui.com, 1
-wanlieyan.com, 1
 wannabfit.nl, 1
 wannaknow.tk, 1
 wannapopularnews.cf, 1
@@ -151365,7 +151092,6 @@ webfixers.nl, 1
 webfocus.ph, 1
 webfoersterei.de, 1
 webforce.pt, 1
-webformula.in, 0
 webforthemasses.tk, 1
 webfrenz.com, 1
 webfun.tk, 1
@@ -151670,7 +151396,7 @@ webycrea.eu, 1
 webyourself.eu, 1
 webzanem.com, 0
 webzarabotok.tk, 1
-webzvit.com.ua, 1
+webzvit.com.ua, 0
 wecanvisit.com, 1
 wecareplatform.nl, 1
 weccode.com, 1
@@ -151955,6 +151681,7 @@ wemakemx.mx, 1
 wemakeonlinereviews.com, 1
 weme.eco, 1
 wemissyou.tk, 1
+wemobiles.com, 0
 wemovemountains.co.uk, 1
 wenablog.pl, 1
 wenaiwu.net, 1
@@ -152381,7 +152108,6 @@ wheelycoolgear.com, 1
 wheelyking.tk, 1
 when-release.ru, 1
 when.fm, 0
-when.org.il, 1
 when2watch.live, 1
 whengirlsplaypremium.com, 1
 whenisholiday.com, 1
@@ -152487,7 +152213,6 @@ whitekings.tk, 1
 whitelabeltickets.com, 1
 whitelist-crypto.io, 1
 whitelotto.com, 1
-whitelotuscyp.com, 1
 whitelynx.co, 1
 whitemagic.ga, 1
 whitemanfss.net, 1
@@ -152604,7 +152329,6 @@ whypowerbrush.com, 1
 whysoslow.co.uk, 1
 whyteryan.com, 1
 whytls.com, 0
-whywa.com, 1
 whywelive.me, 1
 whyworldhot.com, 1
 whyy.eu.org, 1
@@ -152702,6 +152426,7 @@ wigle.net, 1
 wigmore-hall.org.uk, 0
 wigsalon.ga, 1
 wigwam.design, 1
+wihainvitation.com, 1
 wihiki.org, 1
 wiiaam.com, 1
 wiikipedia.com, 1
@@ -152739,20 +152464,17 @@ wiki.voyage, 1
 wiki24.ru, 1
 wikiboard.tk, 1
 wikibook.com, 1
-wikibooks.org, 1
 wikibooks.pt, 1
 wikibulz.com, 1
 wikibuy.com, 1
 wikicooking.tk, 1
 wikicuida.pt, 1
-wikidata.org, 1
 wikidpedia.org, 1
 wikiepdia.com, 1
 wikiepdia.org, 1
 wikifactory.com, 1
 wikifamily.ga, 1
 wikifamily.tk, 1
-wikifunctions.org, 1
 wikigta.org, 1
 wikihelp.in, 1
 wikihistory.tk, 1
@@ -152788,7 +152510,6 @@ wikimedia.cz, 1
 wikimedia.is, 1
 wikimedia.jp.net, 1
 wikimedia.lt, 1
-wikimedia.org, 1
 wikimedia.us, 1
 wikimedia.xyz, 1
 wikimediacommons.co.uk, 1
@@ -152806,7 +152527,6 @@ wikimir.tk, 1
 wikimirror.org, 1
 wikinews.com, 1
 wikinews.de, 1
-wikinews.org, 1
 wikinews.pt, 1
 wikipaedia.net, 1
 wikipedia.bg, 1
@@ -152823,7 +152543,6 @@ wikipedia.info, 1
 wikipedia.is, 1
 wikipedia.lt, 1
 wikipedia.net, 1
-wikipedia.org, 1
 wikipedia.org.il, 1
 wikipedia.sk, 1
 wikipediafoundation.org, 1
@@ -152833,7 +152552,6 @@ wikipeter.nl, 1
 wikipiedi.it, 1
 wikiquote.com, 1
 wikiquote.net, 1
-wikiquote.org, 1
 wikiquote.pt, 1
 wikiquotes.info, 1
 wikirace.tk, 1
@@ -152842,7 +152560,6 @@ wikiskripta.eu, 1
 wikislo.net, 1
 wikisorg.tk, 1
 wikisource.com, 1
-wikisource.org, 1
 wikisource.pl, 1
 wikisource.pt, 1
 wikispecies.com, 1
@@ -152856,7 +152573,6 @@ wikitechsolutions.com, 1
 wikitransporte.tk, 1
 wikiutah.tk, 1
 wikiversity.com, 1
-wikiversity.org, 1
 wikiversity.pt, 1
 wikiversus.com, 1
 wikivisually.com, 1
@@ -152864,7 +152580,6 @@ wikivoyage.com, 1
 wikivoyage.de, 1
 wikivoyage.eu, 1
 wikivoyage.net, 1
-wikivoyage.org, 1
 wikivoyager.de, 1
 wikivoyager.org, 1
 wikiwp.org, 1
@@ -152876,7 +152591,6 @@ wikpedia.org, 1
 wikproduccions.tk, 1
 wiktionary.com, 1
 wiktionary.eu, 1
-wiktionary.org, 1
 wiktionary.pl, 1
 wiktionary.pt, 1
 wiktor-imbierski.com, 1
@@ -152947,7 +152661,6 @@ wilhelmina.com, 1
 wili.li, 1
 wiliquet.net, 1
 wilk.tech, 1
-wilkebouwer.nl, 1
 wilkes-barretownship.gov, 1
 wilkincounty.gov, 1
 wilkipedia.org, 1
@@ -153134,7 +152847,7 @@ windsorelectricalservice.com, 1
 windsorite.ca, 1
 windsornc.gov, 1
 windsorrslsubbranch.com.au, 1
-windstreamhosting.com, 1
+windstreamhosting.com, 0
 windsurfercrs.com, 1
 windturbine.tk, 1
 windwoodmedia.com, 1
@@ -153433,7 +153146,6 @@ withyoutube.com, 1
 witneywaterpolo.org.uk, 1
 witron.de, 1
 wits.uk, 1
-witsvideo.com, 1
 witt.link, 1
 wittebrug.nl, 1
 wittepapaver.nl, 1
@@ -153534,7 +153246,6 @@ wmcpaphysicians.com, 1
 wmcuk.net, 1
 wmda.info, 1
 wme.cn, 1
-wmfusercontent.org, 1
 wmi4.com, 1
 wmkowa.de, 1
 wmmi.org, 1
@@ -153784,7 +153495,6 @@ woodlandexterior.com, 1
 woodlandsiding.com, 1
 woodlandsunrooms.com, 1
 woodlandsunroomsandenclosures.com, 1
-woodlandsvale.uk, 1
 woodlandwindows.com, 1
 woodlandwindows.net, 1
 woodlawnky.gov, 1
@@ -153830,6 +153540,7 @@ woohoo.in, 1
 woohooyeah.nl, 1
 wookstar.com, 1
 woolfplumbing.com.au, 1
+woolworks.co.nz, 1
 woolyss.com, 1
 woomu.me, 1
 woomy.be, 1
@@ -154282,7 +153993,6 @@ wpinabox.de, 1
 wpinfos.de, 0
 wpinsides.com, 1
 wpjzb.com, 1
-wpkoridoru.com, 1
 wpldn.uk, 1
 wpletter.de, 1
 wplibrary.net, 1
@@ -156029,7 +155739,6 @@ xnetwork.ml, 1
 xniilo.net, 1
 xniver.se, 1
 xnix.tk, 1
-xnoe.moe, 1
 xnop.yt, 1
 xnopyt.com, 1
 xnopyt.info, 1
@@ -156268,6 +155977,7 @@ xueaiai.com, 1
 xueaiai.ml, 1
 xueanquan.com, 1
 xuecheng.com, 1
+xuedianshang.com, 1
 xuehuang666.cn, 1
 xuesoska.ga, 1
 xuewen.ink, 1
@@ -156758,7 +156468,6 @@ yavip8088.com, 1
 yavorivanov.com, 1
 yavuzatasoy.tk, 1
 yawen.me, 1
-yawnbox.com, 1
 yaws.cf, 1
 yaxim.org, 1
 yay-btcl.work, 1
@@ -157061,7 +156770,6 @@ ym181.am, 1
 ymaca.tk, 1
 ymarion.de, 1
 ymatyt.com, 1
-ymc.moe, 1
 ymca.ga, 1
 ymcapkc.org, 1
 ymdecor.com, 1
@@ -157263,7 +156971,6 @@ youcanhelp.tk, 1
 youcanmakeit.at, 1
 youcruit.com, 1
 youcruit.jobs, 1
-youdontneedipv6.xyz, 1
 youdungoofd.com, 1
 youearnedit.com, 1
 youenglish.school, 1
@@ -157353,6 +157060,7 @@ youraudiobooks.xyz, 1
 yourazbraces.com, 0
 yourbenefitsresources.com, 1
 yourberksbucksoxon.wedding, 1
+yourbittorrent.com, 1
 yourbittorrent2.com, 1
 yourblazeguard.com, 1
 yourbodyknows.dk, 1
@@ -157730,6 +157438,7 @@ yvabph.com, 1
 yvb.moe, 1
 yveslegendre.fr, 0
 yvesx.com, 1
+yveszarkaconsultant.fr, 1
 yvettextreme.com, 1
 yvonne-stingel.de, 1
 yvonnethomet.ch, 1
@@ -157800,7 +157509,6 @@ z.is, 1
 z.md, 1
 z.mom, 1
 z.org, 1
-z.sh, 1
 z.sv, 1
 z.tl, 1
 z0.pm, 1
@@ -158603,7 +158311,6 @@ zeuscorp.ga, 1
 zeusec.co.jp, 1
 zeusembroidery.com.au, 1
 zeusindia.tk, 1
-zeusmarketing.com, 1
 zevelev.net, 1
 zevenbergenbos.tk, 1
 zevlee.me, 1
@@ -159293,7 +159000,6 @@ zuhur2021.tk, 1
 zui.moe, 1
 zuiai.tv, 1
 zuiderlokaal.nl, 1
-zuidplein.nl, 1
 zuim.de, 1
 zuitaotu.com, 1
 zuivelonline.nl, 1
@@ -159306,7 +159012,6 @@ zula.africa, 1
 zulaoyun.ml, 1
 zulfumehmet.tk, 1
 zulu.ro, 1
-zum-baur.de, 1
 zum-ziegenhainer.de, 1
 zumba-oostende.be, 1
 zumba.com, 1
diff --git a/security/manager/tools/KnownRootHashes.json b/security/manager/tools/KnownRootHashes.json
index 0dc9fa9dd10fcfa81c316e8d38d27f4a1280469c..2417ffa16c1adb17ea694f1a6066dfb16363cc30 100644
--- a/security/manager/tools/KnownRootHashes.json
+++ b/security/manager/tools/KnownRootHashes.json
@@ -1337,7 +1337,12 @@
       "label": "Telekom_Security_TLS_ECC_Root_2020",
       "binNumber": 266,
       "sha256Fingerprint": "V4r03tCFP05ZmNtK6vnL6o2UX2C2IKONGjwTsrx7qOE="
+    },
+    {
+      "label": "FIRMAPROFESIONAL_CA_ROOT_A_WEB",
+      "binNumber": 267,
+      "sha256Fingerprint": "vvJW2vJunGm97BYCNZeY88r3GCGgPgGCV8U8ZWF/PUo="
     }
   ],
-  "maxBin": 266
+  "maxBin": 267
 }
\ No newline at end of file
diff --git a/security/nss/TAG-INFO b/security/nss/TAG-INFO
index 65038d74ef32e6ee5b7c2690be7c45f5f415bafc..1b31f32c4f95fd2056bc6772bad27f11ef837ff3 100644
--- a/security/nss/TAG-INFO
+++ b/security/nss/TAG-INFO
@@ -1 +1 @@
-NSS_3_101_RTM
\ No newline at end of file
+NSS_3_101_1_RTM
\ No newline at end of file
diff --git a/security/nss/coreconf/coreconf.dep b/security/nss/coreconf/coreconf.dep
index 5182f75552c81540c315e8eb17ce933d5f2039b8..590d1bfaeee3f134b616ff41d59c05c9917afa3c 100644
--- a/security/nss/coreconf/coreconf.dep
+++ b/security/nss/coreconf/coreconf.dep
@@ -10,3 +10,4 @@
  */
 
 #error "Do not include this header file."
+
diff --git a/security/nss/coreconf/location.mk b/security/nss/coreconf/location.mk
index 9c43394d8cb063bfcbf29b90aec75ebeb4abbcf7..16e8cc7169a3be7e067768d5ba135afcc05a6f08 100644
--- a/security/nss/coreconf/location.mk
+++ b/security/nss/coreconf/location.mk
@@ -64,6 +64,10 @@ ifndef SOFTOKEN_LIB_DIR
     SOFTOKEN_LIB_DIR = $(DIST)/lib
 endif
 
+ifdef SQLITE_INCLUDE_DIR
+    INCLUDES += -I$(SQLITE_INCLUDE_DIR)
+endif
+
 ifndef SQLITE_LIB_DIR
     SQLITE_LIB_DIR = $(DIST)/lib
 endif
diff --git a/security/nss/doc/rst/releases/index.rst b/security/nss/doc/rst/releases/index.rst
index 9ab138f65cb06ffdbef34107de9f632e372c4683..1179e068b6e2636a77ffdf36928a45b5028fc99f 100644
--- a/security/nss/doc/rst/releases/index.rst
+++ b/security/nss/doc/rst/releases/index.rst
@@ -8,6 +8,7 @@ Releases
    :glob:
    :hidden:
 
+   nss_3_101_1.rst
    nss_3_101.rst
    nss_3_100.rst
    nss_3_99.rst
@@ -66,42 +67,12 @@ Releases
 
 .. note::
 
-   **NSS 3.101** is the latest version of NSS.
-   Complete release notes are available here: :ref:`mozilla_projects_nss_nss_3_101_release_notes`
-
-   **NSS 3.90.2 (ESR)** is the latest version of NSS.
-   Complete release notes are available here: :ref:`mozilla_projects_nss_nss_3_90_2_release_notes`
+   **NSS 3.101.1 (ESR)** is the latest ESR version of NSS.
+   Complete release notes are available here: :ref:`mozilla_projects_nss_nss_3_101_1_release_notes`
 
 .. container::
 
-   Changes in 3.101 included in this release:
+   Changes in 3.101.1 included in this release:
 
-   - Bug 1900413 - add diagnostic assertions for SFTKObject refcount. 
-   - Bug 1899759 - freeing the slot in DeleteCertAndKey if authentication failed
-   - Bug 1899883 - fix formatting issues. 
-   - Bug 1889671 - Add Firmaprofesional CA Root-A Web to NSS.
-   - Bug 1899593 - remove invalid acvp fuzz test vectors. 
-   - Bug 1898830 - pad short P-384 and P-521 signatures gtests.
-   - Bug 1898627 - remove unused FreeBL ECC code. r=rrelyea
-   - Bug 1898830 - pad short P-384 and P-521 signatures. 
-   - Bug 1898825 - be less strict about ECDSA private key length. 
-   - Bug 1854439 - Integrate HACL* P-521. 
-   - Bug 1854438 - Integrate HACL* P-384. 
-   - Bug 1898074 - memory leak in create_objects_from_handles. 
-   - Bug 1898858 - ensure all input is consumed in a few places in mozilla::pkix 
-   - Bug 1884444 - SMIME/CMS and PKCS #12 do not integrate with modern NSS policy 
-   - Bug 1748105 - clean up escape handling 
-   - Bug 1896353 - Use lib::pkix as default validator instead of the old-one 
-   - Bug 1827444 - Need to add high level support for PQ signing.
-   - Bug 1548723 - Certificate Compression: changing the allocation/freeing of buffer + Improving the documentation 
-   - Bug 1884444 - SMIME/CMS and PKCS #12 do not integrate with modern NSS policy
-   - Bug 1893404 - Allow for non-full length ecdsa signature when using softoken
-   - Bug 1830415 - Modification of .taskcluster.yml due to mozlint indent defects
-   - Bug 1793811 - Implement support for PBMAC1 in PKCS#12 
-   - Bug 1897487 - disable VLA warnings for fuzz builds.
-   - Bug 1895032 - remove redundant AllocItem implementation. 
-   - Bug 1893334 - add PK11_ReadDistrustAfterAttribute. 
-   - Bug 215997  - Clang-formatting of SEC_GetMgfTypeByOidTag update
-   - Bug 1895012 - Set SEC_ERROR_LIBRARY_FAILURE on self-test failure
-   - Bug 1894572 - sftk_getParameters(): Fix fallback to default variable after error with configfile. 
-   - Bug 1830415 - Switch to the mozillareleases/image_builder image
\ No newline at end of file
+   - Bug 1901932 - missing sqlite header.
+   - Bug 1901080 - GLOBALTRUST 2020: Set Distrust After for TLS and S/MIME.
diff --git a/security/nss/doc/rst/releases/nss_3_101.rst b/security/nss/doc/rst/releases/nss_3_101.rst
index d067bffe56fcd67d4f2736d6d31eb79f14c18411..13c2e2653b07eac1fad568f70c1254ae7878bb5c 100644
--- a/security/nss/doc/rst/releases/nss_3_101.rst
+++ b/security/nss/doc/rst/releases/nss_3_101.rst
@@ -8,7 +8,7 @@ NSS 3.101 release notes
 
 .. container::
 
-   Network Security Services (NSS) 3.101 was released on *6 June 2024**.
+   Network Security Services (NSS) 3.101 was released on *6 June 2024**.  NSS 3.101 is an ESR release.
 
 `Distribution Information <#distribution_information>`__
 --------------------------------------------------------
diff --git a/security/nss/doc/rst/releases/nss_3_101_1.rst b/security/nss/doc/rst/releases/nss_3_101_1.rst
new file mode 100644
index 0000000000000000000000000000000000000000..7d95fe78d9cd13d3f6859d2a0e9cb7fc782dad0b
--- /dev/null
+++ b/security/nss/doc/rst/releases/nss_3_101_1.rst
@@ -0,0 +1,56 @@
+.. _mozilla_projects_nss_nss_3_101_1_release_notes:
+
+NSS 3.101.1 release notes
+========================
+
+`Introduction <#introduction>`__
+--------------------------------
+
+.. container::
+
+   Network Security Services (NSS) 3.101.1 was released on *28 June 2024**.  NSS 3.101.1 is an ESR release.
+
+`Distribution Information <#distribution_information>`__
+--------------------------------------------------------
+
+.. container::
+
+   The HG tag is NSS_3_101_1_RTM. NSS 3.101.1 requires NSPR 4.35 or newer.
+
+   NSS 3.101.1 source distributions are available on ftp.mozilla.org for secure HTTPS download:
+
+   -  Source tarballs:
+      https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_101_1_RTM/src/
+
+   Other releases are available :ref:`mozilla_projects_nss_releases`.
+
+.. _changes_in_nss_3.101.1:
+
+`Changes in NSS 3.101.1 <#changes_in_nss_3.101.1>`__
+------------------------------------------------------------------
+
+.. container::
+
+   - Bug 1901932 - missing sqlite header.
+   - Bug 1901080 - GLOBALTRUST 2020: Set Distrust After for TLS and S/MIME.
+
+
+`Compatibility <#compatibility>`__
+----------------------------------
+
+.. container::
+
+   NSS 3.101.1 shared libraries are backwards-compatible with all older NSS 3.x shared
+   libraries. A program linked with older NSS 3.x shared libraries will work with
+   this new version of the shared libraries without recompiling or
+   relinking. Furthermore, applications that restrict their use of NSS APIs to the
+   functions listed in NSS Public Functions will remain compatible with future
+   versions of the NSS shared libraries.
+
+`Feedback <#feedback>`__
+------------------------
+
+.. container::
+
+   Bugs discovered should be reported by filing a bug report on
+   `bugzilla.mozilla.org <https://bugzilla.mozilla.org/enter_bug.cgi?product=NSS>`__ (product NSS).
diff --git a/security/nss/lib/ckfw/builtins/certdata.txt b/security/nss/lib/ckfw/builtins/certdata.txt
index ea914d4090feb31d96c6132eb20acaa8d2fc40f6..d58e9ededca92e1cf05e9bf5ce7fb954f11f6c53 100644
--- a/security/nss/lib/ckfw/builtins/certdata.txt
+++ b/security/nss/lib/ckfw/builtins/certdata.txt
@@ -17020,8 +17020,14 @@ CKA_VALUE MULTILINE_OCTAL
 \155\015\277\173\327\222
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
-CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+# For Server Distrust After: Sun Jun 30 00:00:00 2024
+CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL
+\062\064\060\066\063\060\060\060\060\060\060\060\132
+END
+# For Email Distrust After: Sun Jun 30 00:00:00 2024
+CKA_NSS_EMAIL_DISTRUST_AFTER MULTILINE_OCTAL
+\062\064\060\066\063\060\060\060\060\060\060\060\132
+END
 
 # Trust for "GLOBALTRUST 2020"
 # Issuer: CN=GLOBALTRUST 2020,O=e-commerce monitoring GmbH,C=AT
diff --git a/security/nss/lib/ckfw/builtins/nssckbi.h b/security/nss/lib/ckfw/builtins/nssckbi.h
index 1eb116573e032cb390e4d175e240a7e7156780d6..90a43ed28575937204fc21fe27c1f211d0b7b48b 100644
--- a/security/nss/lib/ckfw/builtins/nssckbi.h
+++ b/security/nss/lib/ckfw/builtins/nssckbi.h
@@ -46,8 +46,8 @@
  * It's recommend to switch back to 0 after having reached version 98/99.
  */
 #define NSS_BUILTINS_LIBRARY_VERSION_MAJOR 2
-#define NSS_BUILTINS_LIBRARY_VERSION_MINOR 68
-#define NSS_BUILTINS_LIBRARY_VERSION "2.68"
+#define NSS_BUILTINS_LIBRARY_VERSION_MINOR 69
+#define NSS_BUILTINS_LIBRARY_VERSION "2.69"
 
 /* These version numbers detail the semantic changes to the ckfw engine. */
 #define NSS_BUILTINS_HARDWARE_VERSION_MAJOR 1
diff --git a/security/nss/lib/nss/nss.h b/security/nss/lib/nss/nss.h
index 258457a6ac41eb8f09d4fdb26048cbee99b0b30c..81958725e80f2ed007588f165e2a74de70765320 100644
--- a/security/nss/lib/nss/nss.h
+++ b/security/nss/lib/nss/nss.h
@@ -22,10 +22,10 @@
  * The format of the version string should be
  *     "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]"
  */
-#define NSS_VERSION "3.101" _NSS_CUSTOMIZED
+#define NSS_VERSION "3.101.1" _NSS_CUSTOMIZED
 #define NSS_VMAJOR 3
 #define NSS_VMINOR 101
-#define NSS_VPATCH 0
+#define NSS_VPATCH 1
 #define NSS_VBUILD 0
 #define NSS_BETA PR_FALSE
 
diff --git a/security/nss/lib/softoken/softkver.h b/security/nss/lib/softoken/softkver.h
index 144b97bd624638d553e44f474b08f712a19bdb7f..e770d662b86c283b3774b3659fd31367daaf77f9 100644
--- a/security/nss/lib/softoken/softkver.h
+++ b/security/nss/lib/softoken/softkver.h
@@ -17,10 +17,10 @@
  * The format of the version string should be
  *     "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]"
  */
-#define SOFTOKEN_VERSION "3.101" SOFTOKEN_ECC_STRING
+#define SOFTOKEN_VERSION "3.101.1" SOFTOKEN_ECC_STRING
 #define SOFTOKEN_VMAJOR 3
 #define SOFTOKEN_VMINOR 101
-#define SOFTOKEN_VPATCH 0
+#define SOFTOKEN_VPATCH 1
 #define SOFTOKEN_VBUILD 0
 #define SOFTOKEN_BETA PR_FALSE
 
diff --git a/security/nss/lib/util/nssutil.h b/security/nss/lib/util/nssutil.h
index d8dc8592a03c068973541ea26dc5217d0d3acf87..7f5ab90c994896451c45ec1c8ebbcef722fba74e 100644
--- a/security/nss/lib/util/nssutil.h
+++ b/security/nss/lib/util/nssutil.h
@@ -19,10 +19,10 @@
  * The format of the version string should be
  *     "<major version>.<minor version>[.<patch level>[.<build number>]][ <Beta>]"
  */
-#define NSSUTIL_VERSION "3.101"
+#define NSSUTIL_VERSION "3.101.1"
 #define NSSUTIL_VMAJOR 3
 #define NSSUTIL_VMINOR 101
-#define NSSUTIL_VPATCH 0
+#define NSSUTIL_VPATCH 1
 #define NSSUTIL_VBUILD 0
 #define NSSUTIL_BETA PR_FALSE
 
diff --git a/services/settings/dumps/blocklists/addons-bloomfilters.json b/services/settings/dumps/blocklists/addons-bloomfilters.json
index 74ea78929d24a9b300bd4ca3fff69a5e9d5944d6..a4816ebcbc3e08f6627eec8d072e95c6226810b9 100644
--- a/services/settings/dumps/blocklists/addons-bloomfilters.json
+++ b/services/settings/dumps/blocklists/addons-bloomfilters.json
@@ -1,5 +1,66 @@
 {
   "data": [
+    {
+      "stash": {
+        "blocked": [
+          "contact@trusifycr.com:0.0.1",
+          "tonkeeprid2024@gmail.com:1.0"
+        ],
+        "unblocked": []
+      },
+      "schema": 1719398672072,
+      "key_format": "{guid}:{version}",
+      "stash_time": 1719599705279,
+      "id": "804f5b17-a267-497a-9209-5da5491bce21",
+      "last_modified": 1719599760847
+    },
+    {
+      "stash": {
+        "blocked": [
+          "onlineinsights-prod@google.com:1.0.12.0"
+        ],
+        "unblocked": []
+      },
+      "schema": 1719318963226,
+      "key_format": "{guid}:{version}",
+      "stash_time": 1719340505840,
+      "id": "4dc6c1ba-6434-4794-b381-5048f59e3350",
+      "last_modified": 1719340562296
+    },
+    {
+      "stash": {
+        "blocked": [
+          "passwordboss4ff@passwordboss.com:5.5.5058",
+          "passwordboss4ff@passwordboss.com:5.5.4983",
+          "passwordboss4ff@passwordboss.com:2.0.3131",
+          "passwordboss4ff@passwordboss.com:3.1.3544",
+          "passwordboss4ff@passwordboss.com:5.5.5072",
+          "passwordboss4ff@passwordboss.com:5.5.4848",
+          "passwordboss4ff@passwordboss.com:3.1.3580",
+          "passwordboss4ff@passwordboss.com:5.5.4890",
+          "passwordboss4ff@passwordboss.com:3.1.3480"
+        ],
+        "unblocked": []
+      },
+      "schema": 1719254161386,
+      "key_format": "{guid}:{version}",
+      "stash_time": 1719318905956,
+      "id": "94bc04ce-3eb3-4423-a1b1-5411c72307c0",
+      "last_modified": 1719318963103
+    },
+    {
+      "stash": {
+        "blocked": [
+          "{3d66bae3-3b37-4bbc-99a6-51484edfc7a7}:1.0"
+        ],
+        "unblocked": []
+      },
+      "schema": 1718973363083,
+      "key_format": "{guid}:{version}",
+      "stash_time": 1719254105727,
+      "id": "900f7b98-72d9-4b00-8301-d7ead3030771",
+      "last_modified": 1719254161265
+    },
     {
       "stash": {
         "blocked": [
@@ -1059,5 +1120,5 @@
       "last_modified": 1707395854769
     }
   ],
-  "timestamp": 1718973362963
+  "timestamp": 1719599760847
 }
diff --git a/services/settings/dumps/main/devtools-compatibility-browsers.json b/services/settings/dumps/main/devtools-compatibility-browsers.json
index 4022eaaf415fb38c11e9f345458e870f68549e30..af1e4c988d130f11cf762d2d41b5c81cff977e27 100644
--- a/services/settings/dumps/main/devtools-compatibility-browsers.json
+++ b/services/settings/dumps/main/devtools-compatibility-browsers.json
@@ -1,5 +1,32 @@
 {
   "data": [
+    {
+      "name": "Edge",
+      "schema": 1719360303260,
+      "status": "planned",
+      "version": "129",
+      "browserid": "edge",
+      "id": "456f0e06-6dca-4c51-8222-af64d27324e0",
+      "last_modified": 1719410204834
+    },
+    {
+      "name": "Edge",
+      "schema": 1718956116149,
+      "status": "beta",
+      "version": "127",
+      "browserid": "edge",
+      "id": "9e227c6c-b6ca-4c69-868c-e133a0ee9dbd",
+      "last_modified": 1719410204831
+    },
+    {
+      "name": "Edge",
+      "schema": 1719360303190,
+      "status": "nightly",
+      "version": "128",
+      "browserid": "edge",
+      "id": "edad0482-a612-4019-a601-53dc349514b8",
+      "last_modified": 1719410204828
+    },
     {
       "name": "Safari",
       "schema": 1718755502911,
@@ -171,15 +198,6 @@
       "id": "0e69f9d7-19f6-4c6e-bc36-731da4cee6e3",
       "last_modified": 1718606078039
     },
-    {
-      "name": "Edge",
-      "schema": 1717286706296,
-      "status": "planned",
-      "version": "128",
-      "browserid": "edge",
-      "id": "edad0482-a612-4019-a601-53dc349514b8",
-      "last_modified": 1718005312987
-    },
     {
       "name": "Node.js",
       "schema": 1717286706438,
@@ -198,15 +216,6 @@
       "id": "ea6c817d-237b-498b-964e-a8ca4668580a",
       "last_modified": 1718005312981
     },
-    {
-      "name": "Edge",
-      "schema": 1717286706227,
-      "status": "nightly",
-      "version": "127",
-      "browserid": "edge",
-      "id": "9e227c6c-b6ca-4c69-868c-e133a0ee9dbd",
-      "last_modified": 1718005312971
-    },
     {
       "name": "Node.js",
       "schema": 1715126727137,
@@ -298,5 +307,5 @@
       "last_modified": 1665656484764
     }
   ],
-  "timestamp": 1718777113320
+  "timestamp": 1719410204834
 }
diff --git a/services/settings/dumps/main/moz.build b/services/settings/dumps/main/moz.build
index af9b22cf24f02fdc2f32b7b3b74e17ee6aab7576..5b1e88191c4555ab200c7003ca5d28958f43caa6 100644
--- a/services/settings/dumps/main/moz.build
+++ b/services/settings/dumps/main/moz.build
@@ -62,6 +62,8 @@ if CONFIG["MOZ_BUILD_APP"] == "browser":
         "search-config-icons/2e835b0e-9709-d1bb-9725-87f59f3445ca.meta.json",
         "search-config-icons/32d26d19-aeb0-5c01-32e8-f8970be9246f",
         "search-config-icons/32d26d19-aeb0-5c01-32e8-f8970be9246f.meta.json",
+        "search-config-icons/39979158-80cf-4f0c-8bd6-9220eb09e751",
+        "search-config-icons/39979158-80cf-4f0c-8bd6-9220eb09e751.meta.json",
         "search-config-icons/47da97b5-600f-c450-fd15-a52bb2169c11",
         "search-config-icons/47da97b5-600f-c450-fd15-a52bb2169c11.meta.json",
         "search-config-icons/4e271681-3e0f-91ac-9750-03f665efc171",
@@ -84,6 +86,8 @@ if CONFIG["MOZ_BUILD_APP"] == "browser":
         "search-config-icons/74793ce1-a918-a5eb-d3c0-2aadaff3c88c.meta.json",
         "search-config-icons/7bbe6c5c-fdb8-2845-a4f4-e1382e708a0e",
         "search-config-icons/7bbe6c5c-fdb8-2845-a4f4-e1382e708a0e.meta.json",
+        "search-config-icons/7bf4ca37-e2b8-4d31-a1c3-979bc0e85131",
+        "search-config-icons/7bf4ca37-e2b8-4d31-a1c3-979bc0e85131.meta.json",
         "search-config-icons/7efbed51-813c-581d-d8d3-f8758434e451",
         "search-config-icons/7efbed51-813c-581d-d8d3-f8758434e451.meta.json",
         "search-config-icons/84bb4962-e571-227a-9ef6-2ac5f2aac361",
diff --git a/services/settings/dumps/main/search-config-icons.json b/services/settings/dumps/main/search-config-icons.json
index dbb7fc8aa8dc9ed22212d33626d1e377001cda67..ff0a5eabcde02fccf15de1efda9d84ef7da28b2b 100644
--- a/services/settings/dumps/main/search-config-icons.json
+++ b/services/settings/dumps/main/search-config-icons.json
@@ -1,5 +1,56 @@
 {
   "data": [
+    {
+      "schema": 1719499481119,
+      "imageSize": 24,
+      "attachment": {
+        "hash": "fd9539fe7f711e5174917605a638868b065773622803d270128dc89cd28e13a7",
+        "size": 1054,
+        "filename": "Icon%2024x24.svg",
+        "location": "main-workspace/search-config-icons/c88379f9-f020-47a2-9ef8-c7699d65e410.svg",
+        "mimetype": "image/svg+xml"
+      },
+      "engineIdentifiers": [
+        "qwant"
+      ],
+      "filter_expression": "env.appinfo.ID == \"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}\" && env.version|versionCompare(\"128.0a1\") > 0",
+      "id": "39979158-80cf-4f0c-8bd6-9220eb09e751",
+      "last_modified": 1719504277655
+    },
+    {
+      "schema": 1719499575129,
+      "imageSize": 16,
+      "attachment": {
+        "hash": "912d20feefcba57d43bffff5e245b8c1e3865155ed686d8ad253bbab71116e83",
+        "size": 1054,
+        "filename": "Icon%2016x16.svg",
+        "location": "main-workspace/search-config-icons/59fbd815-ba40-494a-b56a-40b3531dd10b.svg",
+        "mimetype": "image/svg+xml"
+      },
+      "engineIdentifiers": [
+        "qwant"
+      ],
+      "filter_expression": "env.appinfo.ID == \"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}\" && env.version|versionCompare(\"128.0a1\") > 0",
+      "id": "7bf4ca37-e2b8-4d31-a1c3-979bc0e85131",
+      "last_modified": 1719504277653
+    },
+    {
+      "schema": 1719398670645,
+      "imageSize": 16,
+      "attachment": {
+        "hash": "eab887d630aef83a06bdcc6af914eccc7e7d9bccb4bd5e0d120f8a26f2cfbe79",
+        "size": 970,
+        "filename": "qwant-16-firefox.png",
+        "location": "main-workspace/search-config-icons/46a495f4-9091-42c5-b7f7-a24d59477ae5.png",
+        "mimetype": "image/png"
+      },
+      "engineIdentifiers": [
+        "qwant"
+      ],
+      "filter_expression": "env.appinfo.ID == \"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}\" && env.version|versionCompare(\"128.0a1\") <= 0",
+      "id": "6a83583a-f0ba-fd39-2fdb-fd2b6990ea3b",
+      "last_modified": 1719504277650
+    },
     {
       "schema": 1707265339663,
       "imageSize": 16,
@@ -221,23 +272,6 @@
       "id": "f312610a-ebfb-a106-ea92-fd643c5d3636",
       "last_modified": 1707330724464
     },
-    {
-      "schema": 1707265159352,
-      "imageSize": 16,
-      "attachment": {
-        "hash": "91d17ba44192a6430ffdb447ff3a11533ef964628f67c13480cc9470212d3d65",
-        "size": 5430,
-        "filename": "qwant-16-firefox.ico",
-        "location": "main-workspace/search-config-icons/d537aa34-64e1-43f1-a90f-bb419fde1b3e.ico",
-        "mimetype": "image/x-icon"
-      },
-      "engineIdentifiers": [
-        "qwant"
-      ],
-      "filter_expression": "env.appinfo.ID == \"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}\"",
-      "id": "6a83583a-f0ba-fd39-2fdb-fd2b6990ea3b",
-      "last_modified": 1707330724462
-    },
     {
       "schema": 1707265148215,
       "imageSize": 16,
@@ -732,5 +766,5 @@
       "last_modified": 1707330724381
     }
   ],
-  "timestamp": 1707330724491
+  "timestamp": 1719504277655
 }
diff --git a/services/settings/dumps/main/search-config-icons/39979158-80cf-4f0c-8bd6-9220eb09e751 b/services/settings/dumps/main/search-config-icons/39979158-80cf-4f0c-8bd6-9220eb09e751
new file mode 100644
index 0000000000000000000000000000000000000000..b2cfdf5460c500238d101a9c52abc60816ebd246
--- /dev/null
+++ b/services/settings/dumps/main/search-config-icons/39979158-80cf-4f0c-8bd6-9220eb09e751
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M0 4C0 1.79086 1.79086 0 4 0H20C22.2091 0 24 1.79086 24 4V20C24 22.2091 22.2091 24 20 24H4C1.79086 24 0 22.2091 0 20V4Z" fill="#212327"/>
+<path d="M17.7754 4.19623L18.2774 2.25H18.465L18.967 4.19623L20.9342 4.70369V4.88042L18.967 5.38789L18.465 7.33415H18.2774L17.7754 5.38789L15.8501 4.89125V4.69287L17.7754 4.19623Z" fill="#F9FAFB"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M11.5475 5.93794C14.6113 5.93794 17.0949 7.78698 17.0949 11.3782C17.0949 14.7769 14.9005 16.593 12.0926 16.7988C13.4282 17.6149 15.4449 17.6159 16.6994 16.5506L17.091 16.763L16.6517 18.9583L16.4896 19.1623C14.2625 19.8176 12.242 19.0915 10.832 16.7844C8.10616 16.5194 6 14.713 6 11.3782C6 7.78599 8.48369 5.93794 11.5475 5.93794ZM11.5477 15.8524C13.5161 15.8524 14.4617 13.8492 14.4617 11.3782C14.4617 8.90722 13.6423 6.90407 11.5477 6.90407C9.51204 6.90407 8.63367 8.90722 8.63367 11.3782C8.63367 13.8492 9.47764 15.8524 11.5477 15.8524Z" fill="#F9FAFB"/>
+</svg>
diff --git a/services/settings/dumps/main/search-config-icons/39979158-80cf-4f0c-8bd6-9220eb09e751.meta.json b/services/settings/dumps/main/search-config-icons/39979158-80cf-4f0c-8bd6-9220eb09e751.meta.json
new file mode 100644
index 0000000000000000000000000000000000000000..62088c1d29311d7f658b0b3493d8b4b3136e5608
--- /dev/null
+++ b/services/settings/dumps/main/search-config-icons/39979158-80cf-4f0c-8bd6-9220eb09e751.meta.json
@@ -0,0 +1 @@
+{"schema":1719499481119,"imageSize":24,"attachment":{"hash":"fd9539fe7f711e5174917605a638868b065773622803d270128dc89cd28e13a7","size":1054,"filename":"Icon%2024x24.svg","location":"main-workspace/search-config-icons/c88379f9-f020-47a2-9ef8-c7699d65e410.svg","mimetype":"image/svg+xml"},"engineIdentifiers":["qwant"],"filter_expression":"env.appinfo.ID == \"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}\" && env.version|versionCompare(\"128.0a1\") > 0","id":"39979158-80cf-4f0c-8bd6-9220eb09e751","last_modified":1719504277655}
\ No newline at end of file
diff --git a/services/settings/dumps/main/search-config-icons/6a83583a-f0ba-fd39-2fdb-fd2b6990ea3b b/services/settings/dumps/main/search-config-icons/6a83583a-f0ba-fd39-2fdb-fd2b6990ea3b
index d43d1d5aa63d57734c88dca8a89c47091a354dd3..d9e2203f10ba3666f462381b3c0b8be242285204 100644
Binary files a/services/settings/dumps/main/search-config-icons/6a83583a-f0ba-fd39-2fdb-fd2b6990ea3b and b/services/settings/dumps/main/search-config-icons/6a83583a-f0ba-fd39-2fdb-fd2b6990ea3b differ
diff --git a/services/settings/dumps/main/search-config-icons/6a83583a-f0ba-fd39-2fdb-fd2b6990ea3b.meta.json b/services/settings/dumps/main/search-config-icons/6a83583a-f0ba-fd39-2fdb-fd2b6990ea3b.meta.json
index 4faacc8e1bc7e1f4589cd339c745d06c348c80a7..c5b858cf45f75b5af24199dd6423f20ccb7e0f80 100644
--- a/services/settings/dumps/main/search-config-icons/6a83583a-f0ba-fd39-2fdb-fd2b6990ea3b.meta.json
+++ b/services/settings/dumps/main/search-config-icons/6a83583a-f0ba-fd39-2fdb-fd2b6990ea3b.meta.json
@@ -1 +1 @@
-{"schema":1707265159352,"imageSize":16,"attachment":{"hash":"91d17ba44192a6430ffdb447ff3a11533ef964628f67c13480cc9470212d3d65","size":5430,"filename":"qwant-16-firefox.ico","location":"main-workspace/search-config-icons/d537aa34-64e1-43f1-a90f-bb419fde1b3e.ico","mimetype":"image/x-icon"},"engineIdentifiers":["qwant"],"filter_expression":"env.appinfo.ID == \"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}\"","id":"6a83583a-f0ba-fd39-2fdb-fd2b6990ea3b","last_modified":1707330724462}
\ No newline at end of file
+{"schema":1719398670645,"imageSize":16,"attachment":{"hash":"eab887d630aef83a06bdcc6af914eccc7e7d9bccb4bd5e0d120f8a26f2cfbe79","size":970,"filename":"qwant-16-firefox.png","location":"main-workspace/search-config-icons/46a495f4-9091-42c5-b7f7-a24d59477ae5.png","mimetype":"image/png"},"engineIdentifiers":["qwant"],"filter_expression":"env.appinfo.ID == \"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}\" && env.version|versionCompare(\"128.0a1\") <= 0","id":"6a83583a-f0ba-fd39-2fdb-fd2b6990ea3b","last_modified":1719504277650}
\ No newline at end of file
diff --git a/services/settings/dumps/main/search-config-icons/7bf4ca37-e2b8-4d31-a1c3-979bc0e85131 b/services/settings/dumps/main/search-config-icons/7bf4ca37-e2b8-4d31-a1c3-979bc0e85131
new file mode 100644
index 0000000000000000000000000000000000000000..389d1c017f90acd68d7509450743f8475d5c0346
--- /dev/null
+++ b/services/settings/dumps/main/search-config-icons/7bf4ca37-e2b8-4d31-a1c3-979bc0e85131
@@ -0,0 +1,5 @@
+<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M0 4C0 1.79086 1.79086 0 4 0H12C14.2091 0 16 1.79086 16 4V12C16 14.2091 14.2091 16 12 16H4C1.79086 16 0 14.2091 0 12V4Z" fill="#212327"/>
+<path d="M11.8502 2.79748L12.1849 1.5H12.31L12.6447 2.79748L13.9561 3.1358V3.25361L12.6447 3.59193L12.31 4.88943H12.1849L11.8502 3.59193L10.5667 3.26083V3.12858L11.8502 2.79748Z" fill="#F9FAFB"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M7.69832 3.95863C9.74084 3.95863 11.3966 5.19132 11.3966 7.58549C11.3966 9.85126 9.93369 11.062 8.06173 11.1992C8.95216 11.7432 10.2966 11.7439 11.1329 11.0337L11.394 11.1753L11.1011 12.6388L10.9931 12.7749C9.50831 13.2117 8.16131 12.7276 7.2213 11.1896C5.40411 11.0129 4 9.80865 4 7.58549C4 5.19066 5.6558 3.95863 7.69832 3.95863ZM7.69847 10.5683C9.01075 10.5683 9.64116 9.23283 9.64116 7.58549C9.64116 5.93814 9.09488 4.60271 7.69847 4.60271C6.34136 4.60271 5.75578 5.93814 5.75578 7.58549C5.75578 9.23283 6.31842 10.5683 7.69847 10.5683Z" fill="#F9FAFB"/>
+</svg>
diff --git a/services/settings/dumps/main/search-config-icons/7bf4ca37-e2b8-4d31-a1c3-979bc0e85131.meta.json b/services/settings/dumps/main/search-config-icons/7bf4ca37-e2b8-4d31-a1c3-979bc0e85131.meta.json
new file mode 100644
index 0000000000000000000000000000000000000000..f6d66c0710b350c90b576646e26646f94f693b76
--- /dev/null
+++ b/services/settings/dumps/main/search-config-icons/7bf4ca37-e2b8-4d31-a1c3-979bc0e85131.meta.json
@@ -0,0 +1 @@
+{"schema":1719499575129,"imageSize":16,"attachment":{"hash":"912d20feefcba57d43bffff5e245b8c1e3865155ed686d8ad253bbab71116e83","size":1054,"filename":"Icon%2016x16.svg","location":"main-workspace/search-config-icons/59fbd815-ba40-494a-b56a-40b3531dd10b.svg","mimetype":"image/svg+xml"},"engineIdentifiers":["qwant"],"filter_expression":"env.appinfo.ID == \"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}\" && env.version|versionCompare(\"128.0a1\") > 0","id":"7bf4ca37-e2b8-4d31-a1c3-979bc0e85131","last_modified":1719504277653}
\ No newline at end of file
diff --git a/services/settings/dumps/security-state/intermediates.json b/services/settings/dumps/security-state/intermediates.json
index eff392471112217cc264681474db3be21f8f7946..8955aaa028a2ea0dbf3ded971fb90a5ba903b7a9 100644
--- a/services/settings/dumps/security-state/intermediates.json
+++ b/services/settings/dumps/security-state/intermediates.json
@@ -1,5 +1,113 @@
 {
   "data": [
+    {
+      "schema": 1719240777384,
+      "derHash": "OygSHYmF4trfICnFPyMgB/DBnseIZUssK6rr5QQZsNU=",
+      "subject": "CN=Certum EV TLS G2 E39 CA,O=Asseco Data Systems S.A.,C=PL",
+      "subjectDN": "MFIxCzAJBgNVBAYTAlBMMSEwHwYDVQQKDBhBc3NlY28gRGF0YSBTeXN0ZW1zIFMuQS4xIDAeBgNVBAMMF0NlcnR1bSBFViBUTFMgRzIgRTM5IENB",
+      "whitelist": false,
+      "attachment": {
+        "hash": "8788872cc2c2ba1fdd0a26900d3fdf50549df7816ae3cdcb7fbdd22be8323193",
+        "size": 1203,
+        "filename": "6U5bo8jkX6murfunyMH4g3qaK357PWrqLEjcX_m3tpI=.pem",
+        "location": "security-state-staging/intermediates/e6aa27d0-4364-4394-abac-5d8502ee06c7.pem",
+        "mimetype": "application/x-pem-file"
+      },
+      "pubKeyHash": "6U5bo8jkX6murfunyMH4g3qaK357PWrqLEjcX/m3tpI=",
+      "crlite_enrolled": false,
+      "id": "8d80070d-2556-4f79-92db-bd7877908f9b",
+      "last_modified": 1719241031587
+    },
+    {
+      "schema": 1719240777081,
+      "derHash": "okjwTFUppM0drsqBd7dUZTBiXjAYvMWlP2R/n1h0l7E=",
+      "subject": "CN=Certum OV TLS G2 E39 CA,O=Asseco Data Systems S.A.,C=PL",
+      "subjectDN": "MFIxCzAJBgNVBAYTAlBMMSEwHwYDVQQKDBhBc3NlY28gRGF0YSBTeXN0ZW1zIFMuQS4xIDAeBgNVBAMMF0NlcnR1bSBPViBUTFMgRzIgRTM5IENB",
+      "whitelist": false,
+      "attachment": {
+        "hash": "38e7bdab68b1b662719c3a2cc9cd49b1cb8d12879f04b627e929698d4be4f6d0",
+        "size": 1203,
+        "filename": "WQgkpYHZ4_ke9o09TUD5rfeh90R_IGyqS4SlD1DdLTA=.pem",
+        "location": "security-state-staging/intermediates/99ef59f5-3213-4066-b1ef-46e5a2296d66.pem",
+        "mimetype": "application/x-pem-file"
+      },
+      "pubKeyHash": "WQgkpYHZ4/ke9o09TUD5rfeh90R/IGyqS4SlD1DdLTA=",
+      "crlite_enrolled": false,
+      "id": "0feaaa20-7e8d-465f-9f42-10f5ad8023dd",
+      "last_modified": 1719241031585
+    },
+    {
+      "schema": 1719240776746,
+      "derHash": "UgLV8FBcabL3ttotFdLdYVFcY5WKkMBaI9mozq/e2/o=",
+      "subject": "CN=Certum DV TLS G2 E39 CA,O=Asseco Data Systems S.A.,C=PL",
+      "subjectDN": "MFIxCzAJBgNVBAYTAlBMMSEwHwYDVQQKDBhBc3NlY28gRGF0YSBTeXN0ZW1zIFMuQS4xIDAeBgNVBAMMF0NlcnR1bSBEViBUTFMgRzIgRTM5IENB",
+      "whitelist": false,
+      "attachment": {
+        "hash": "443bf4f46b3a2720d0ba9bbc784a03b12825dc517feed3a95b166c4794e74e17",
+        "size": 1203,
+        "filename": "57pZuOuTBAH4ZNkXO7JX1139eZKRYljwItM3QdLng30=.pem",
+        "location": "security-state-staging/intermediates/4e119efc-90f9-4a24-b230-22835d4c6be3.pem",
+        "mimetype": "application/x-pem-file"
+      },
+      "pubKeyHash": "57pZuOuTBAH4ZNkXO7JX1139eZKRYljwItM3QdLng30=",
+      "crlite_enrolled": false,
+      "id": "74fa6f67-9de7-446a-9cfa-8f60143dac27",
+      "last_modified": 1719241031582
+    },
+    {
+      "schema": 1719240776426,
+      "derHash": "9UziHqD3lUjxIBphkEnKFfBl5Jpp8m+5zxKCx+7PnEw=",
+      "subject": "CN=Certum OV TLS G2 R39 CA,O=Asseco Data Systems S.A.,C=PL",
+      "subjectDN": "MFIxCzAJBgNVBAYTAlBMMSEwHwYDVQQKDBhBc3NlY28gRGF0YSBTeXN0ZW1zIFMuQS4xIDAeBgNVBAMMF0NlcnR1bSBPViBUTFMgRzIgUjM5IENB",
+      "whitelist": false,
+      "attachment": {
+        "hash": "025a5f58b8cfb2596f4551750c207634bddc59370b8bd66b0adcbb84604b3a3b",
+        "size": 2353,
+        "filename": "SoFCm4qoQgj2h7VZkPZuglKI1-wTCs4imvCo8F0QrIU=.pem",
+        "location": "security-state-staging/intermediates/29843c12-2399-4474-8b87-d418fff918a4.pem",
+        "mimetype": "application/x-pem-file"
+      },
+      "pubKeyHash": "SoFCm4qoQgj2h7VZkPZuglKI1+wTCs4imvCo8F0QrIU=",
+      "crlite_enrolled": false,
+      "id": "123b22a2-690d-4c2f-8f2d-2ee61a9c3c8a",
+      "last_modified": 1719241031580
+    },
+    {
+      "schema": 1719240775977,
+      "derHash": "Rzbx7PJqBDy02PlNqDAuqeRfPTEQSPOkANAa7tHplEQ=",
+      "subject": "CN=Certum EV TLS G2 R39 CA,O=Asseco Data Systems S.A.,C=PL",
+      "subjectDN": "MFIxCzAJBgNVBAYTAlBMMSEwHwYDVQQKDBhBc3NlY28gRGF0YSBTeXN0ZW1zIFMuQS4xIDAeBgNVBAMMF0NlcnR1bSBFViBUTFMgRzIgUjM5IENB",
+      "whitelist": false,
+      "attachment": {
+        "hash": "9d083a16fa7d9b69b78a9e6ada088e74968b98d204bc40cb5af8c3e9a7c36f2e",
+        "size": 2353,
+        "filename": "gqB1V0MFQpiBCTz-E-8NcNvy_Y4bUkg-ByYHikZE2W4=.pem",
+        "location": "security-state-staging/intermediates/0d5d1135-f610-40be-a14a-198a28fe4fc8.pem",
+        "mimetype": "application/x-pem-file"
+      },
+      "pubKeyHash": "gqB1V0MFQpiBCTz+E+8NcNvy/Y4bUkg+ByYHikZE2W4=",
+      "crlite_enrolled": false,
+      "id": "dfd88f35-4cfa-456a-9035-618ad39564cf",
+      "last_modified": 1719241031577
+    },
+    {
+      "schema": 1719240777676,
+      "derHash": "g8Clp2hEyEDfr4IP/QKt9lc6JoI+9q91ijOEoKwEQIM=",
+      "subject": "CN=Certum DV TLS G2 R39 CA,O=Asseco Data Systems S.A.,C=PL",
+      "subjectDN": "MFIxCzAJBgNVBAYTAlBMMSEwHwYDVQQKDBhBc3NlY28gRGF0YSBTeXN0ZW1zIFMuQS4xIDAeBgNVBAMMF0NlcnR1bSBEViBUTFMgRzIgUjM5IENB",
+      "whitelist": false,
+      "attachment": {
+        "hash": "a075440d4abf1fe6960031e014f1f2ef474a3ced9f32176af2d37a46b2747283",
+        "size": 2353,
+        "filename": "92oK29_qv5N8xocT_H9kxxVqihg3OD2rlooJW9f7L3Y=.pem",
+        "location": "security-state-staging/intermediates/002d327a-0c0a-4998-be5e-61c0c8e93c07.pem",
+        "mimetype": "application/x-pem-file"
+      },
+      "pubKeyHash": "92oK29/qv5N8xocT/H9kxxVqihg3OD2rlooJW9f7L3Y=",
+      "crlite_enrolled": false,
+      "id": "d2b187ad-312a-424f-976b-3b4bff6ae87d",
+      "last_modified": 1719241031574
+    },
     {
       "schema": 1719024776570,
       "derHash": "srAvm5G4z0vIm6HgAOYDBrACrqiiTAiy1/Pdi46trqU=",
@@ -11430,24 +11538,6 @@
       "id": "1cb8aaf5-1bf5-4af2-992d-adeedaabcaa7",
       "last_modified": 1666727872267
     },
-    {
-      "schema": 1666727386927,
-      "derHash": "nGSppD6ZDpj7zoMXstTBwH/+bgMtqLttYKaW4v8Djx8=",
-      "subject": "CN=Microsoft Azure ECC TLS Issuing CA 02,O=Microsoft Corporation,C=US",
-      "subjectDN": "MF0xCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLjAsBgNVBAMTJU1pY3Jvc29mdCBBenVyZSBFQ0MgVExTIElzc3VpbmcgQ0EgMDI=",
-      "whitelist": false,
-      "attachment": {
-        "hash": "10551307f634eba8fbd03c34df0f74b6bf4e7d3b3857885e7e915dc171786627",
-        "size": 1329,
-        "filename": "OhdUJ-wrpPRtpX53tkyqVLKQoNpdCCWve8MQQaQDQ2A=.pem",
-        "location": "security-state-staging/intermediates/f2b86d33-5739-44cf-b054-65badcce6a6f.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "OhdUJ+wrpPRtpX53tkyqVLKQoNpdCCWve8MQQaQDQ2A=",
-      "crlite_enrolled": false,
-      "id": "d2a922d8-4206-443a-b5a3-7ca1cfd237ba",
-      "last_modified": 1666727872249
-    },
     {
       "schema": 1666727367887,
       "derHash": "yKYQupQXdw0sAt4ivKjFakKK916ONU76NsVoIh3bfPw=",
@@ -11502,24 +11592,6 @@
       "id": "b0dce077-d224-4f84-8dcf-8f24cfbd18b4",
       "last_modified": 1666727872206
     },
-    {
-      "schema": 1666727428992,
-      "derHash": "lJ1rS3YcoTStPnqFcRhvWA7oh/LGtWi1FA9BV/mNaN0=",
-      "subject": "CN=Microsoft Azure ECC TLS Issuing CA 01,O=Microsoft Corporation,C=US",
-      "subjectDN": "MF0xCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLjAsBgNVBAMTJU1pY3Jvc29mdCBBenVyZSBFQ0MgVExTIElzc3VpbmcgQ0EgMDE=",
-      "whitelist": false,
-      "attachment": {
-        "hash": "1a3bc0dfeb8f9e3f79809953a727d69dc11a315684b4cf57c35d226206502e31",
-        "size": 1329,
-        "filename": "OZOx9JJC3JsSDSjFX2iEA3_ED6gCha3L1ZrOeRNoyx8=.pem",
-        "location": "security-state-staging/intermediates/e45aef57-3b9a-453f-bcc3-d1f5b6cc8d9f.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "OZOx9JJC3JsSDSjFX2iEA3/ED6gCha3L1ZrOeRNoyx8=",
-      "crlite_enrolled": false,
-      "id": "cbe28fbe-3eec-45be-a5ef-d53c15988acd",
-      "last_modified": 1666727872179
-    },
     {
       "schema": 1666727364817,
       "derHash": "kmUc1IoCiKowdTVN3BXcJNCvjuZwFbaKFFlwoJNHXhk=",
@@ -11538,24 +11610,6 @@
       "id": "d9a8325b-38fd-4205-a3e8-1e692af95693",
       "last_modified": 1666727872165
     },
-    {
-      "schema": 1666727375150,
-      "derHash": "1oMbpDYH9awZd41idTFWKvVRRfGRyrXvr6DgAFRCswI=",
-      "subject": "CN=Microsoft Azure TLS Issuing CA 05,O=Microsoft Corporation,C=US",
-      "subjectDN": "MFkxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jvc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNQ==",
-      "whitelist": false,
-      "attachment": {
-        "hash": "eec823ad61a76103455ac29ab1ea726af33851691074cffd1fb703c49fe85217",
-        "size": 2121,
-        "filename": "4i4h0jN9NROr1xKJI-TQ1Q_ZIfUjPMXtmWUsDR3Pjiw=.pem",
-        "location": "security-state-staging/intermediates/2f77f92c-4a14-472b-8226-b3089173a1cc.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "4i4h0jN9NROr1xKJI+TQ1Q/ZIfUjPMXtmWUsDR3Pjiw=",
-      "crlite_enrolled": false,
-      "id": "f1115643-4628-4823-bd7e-4206b13e8548",
-      "last_modified": 1666727872151
-    },
     {
       "schema": 1666727411172,
       "derHash": "IgBA3aN3yURCnozpE7fYGzbeNOvy3CGNIGY5PZSGNDk=",
@@ -11700,24 +11754,6 @@
       "id": "1f394e59-5d02-4846-a6c1-db9ef28d0213",
       "last_modified": 1666727872042
     },
-    {
-      "schema": 1666727369932,
-      "derHash": "JMcpmGTgoqaWT1UcDo3yRhUy+oxI5Nu7YIBxZpHxkOU=",
-      "subject": "CN=Microsoft Azure TLS Issuing CA 01,O=Microsoft Corporation,C=US",
-      "subjectDN": "MFkxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jvc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMQ==",
-      "whitelist": false,
-      "attachment": {
-        "hash": "1963ee36a9c20eb3169ad73cd42da09bfc6829eb50f71d6216925c6b9c2dddcb",
-        "size": 2121,
-        "filename": "NHwusbC7w844JzTmvIRIo8NL7D6StITK9phzFgtJi0w=.pem",
-        "location": "security-state-staging/intermediates/8b305ed8-e20d-4a9d-b915-24f4a186cd46.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "NHwusbC7w844JzTmvIRIo8NL7D6StITK9phzFgtJi0w=",
-      "crlite_enrolled": false,
-      "id": "eb2cd267-3056-4c85-aa35-b0985e1c423a",
-      "last_modified": 1666727872028
-    },
     {
       "schema": 1666727333802,
       "derHash": "XEUjNNnJyaLqQsx3pxZeF5XunYTrcMt4S0fqnZKlgtk=",
@@ -11790,24 +11826,6 @@
       "id": "b95a9ab3-38b6-48d6-be96-1e330f22cee3",
       "last_modified": 1666727871932
     },
-    {
-      "schema": 1666727380502,
-      "derHash": "SP+LSUZox1IwS0i/6Bh1iYfe9lguXwm5IfS2C7PWqN0=",
-      "subject": "CN=Microsoft Azure TLS Issuing CA 06,O=Microsoft Corporation,C=US",
-      "subjectDN": "MFkxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jvc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNg==",
-      "whitelist": false,
-      "attachment": {
-        "hash": "b800befca1341c29912755ead3105bdab854e4517a96d3492de73bd48b6aca1c",
-        "size": 2121,
-        "filename": "Wl8MFY-9zijGG8QgEHCAK5fhA-ydPZxaLQOFdiEPz3U=.pem",
-        "location": "security-state-staging/intermediates/d631f0df-1b1d-4f64-9d14-9fe8304d44fa.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "Wl8MFY+9zijGG8QgEHCAK5fhA+ydPZxaLQOFdiEPz3U=",
-      "crlite_enrolled": false,
-      "id": "163fe716-2a45-49db-8d69-b86ff58b3114",
-      "last_modified": 1666727871889
-    },
     {
       "schema": 1666727369075,
       "derHash": "Zz6P7rEWgnfQFTER0g7Tjp2lH0QL5/1QshhUCTd0Gkg=",
@@ -11862,42 +11880,6 @@
       "id": "9f250868-30ab-4a11-8a09-ba0e03b8130e",
       "last_modified": 1666727871835
     },
-    {
-      "schema": 1666727442113,
-      "derHash": "ffTT70V5j4xDhPxwK6UqRM571imLFBYo1Kurx2ePZGc=",
-      "subject": "CN=Microsoft Azure TLS Issuing CA 06,O=Microsoft Corporation,C=US",
-      "subjectDN": "MFkxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jvc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNg==",
-      "whitelist": false,
-      "attachment": {
-        "hash": "8d704ee294bd149733993801e0cbad6deaa30f162b02e59509443d2f13b07b74",
-        "size": 2653,
-        "filename": "Wl8MFY-9zijGG8QgEHCAK5fhA-ydPZxaLQOFdiEPz3U=.pem",
-        "location": "security-state-staging/intermediates/02efee7c-c22f-45e0-a6cc-daa72a4e6d89.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "Wl8MFY+9zijGG8QgEHCAK5fhA+ydPZxaLQOFdiEPz3U=",
-      "crlite_enrolled": false,
-      "id": "c2d5a60b-44df-4ee6-b081-765b3e6cbedd",
-      "last_modified": 1666727871821
-    },
-    {
-      "schema": 1666727337676,
-      "derHash": "BDerLsLCtIkClsE1A0sh2xRkNLgxfucDqoqpQ8XqUa4=",
-      "subject": "CN=Microsoft Azure TLS Issuing CA 01,O=Microsoft Corporation,C=US",
-      "subjectDN": "MFkxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jvc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMQ==",
-      "whitelist": false,
-      "attachment": {
-        "hash": "2777739491d74eeced727118790444484a83437e4e704c6697aa928b36a78bbb",
-        "size": 2653,
-        "filename": "NHwusbC7w844JzTmvIRIo8NL7D6StITK9phzFgtJi0w=.pem",
-        "location": "security-state-staging/intermediates/4c8d2520-1f13-47a3-9b9b-85990fa78aa4.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "NHwusbC7w844JzTmvIRIo8NL7D6StITK9phzFgtJi0w=",
-      "crlite_enrolled": false,
-      "id": "a114ce1e-4757-4407-8ea8-d7421902f389",
-      "last_modified": 1666727871807
-    },
     {
       "schema": 1666727360825,
       "derHash": "MqTlVONjEW/kjiLwHawXNnUqcccg+Z9GLVZQItO60H0=",
@@ -11934,24 +11916,6 @@
       "id": "5342d8df-fd36-4c82-85ac-dd4baab11fd0",
       "last_modified": 1666727871780
     },
-    {
-      "schema": 1666727334470,
-      "derHash": "TsQ5ZypENAGmbieUfMO1iX8TK2Z/cSzBo3AYo8yFsWo=",
-      "subject": "CN=Microsoft Azure ECC TLS Issuing CA 02,O=Microsoft Corporation,C=US",
-      "subjectDN": "MF0xCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLjAsBgNVBAMTJU1pY3Jvc29mdCBBenVyZSBFQ0MgVExTIElzc3VpbmcgQ0EgMDI=",
-      "whitelist": false,
-      "attachment": {
-        "hash": "d6b88839e53fd1739f156f78254837d2b4b300f968dc9ab78c1f926d2648da2c",
-        "size": 1508,
-        "filename": "OhdUJ-wrpPRtpX53tkyqVLKQoNpdCCWve8MQQaQDQ2A=.pem",
-        "location": "security-state-staging/intermediates/c7978a8f-9ea4-4bdb-a90f-d52d5ad11e64.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "OhdUJ+wrpPRtpX53tkyqVLKQoNpdCCWve8MQQaQDQ2A=",
-      "crlite_enrolled": false,
-      "id": "f76e0282-0a3d-4444-b1a1-7e599a44f7c8",
-      "last_modified": 1666727871767
-    },
     {
       "schema": 1666727354370,
       "derHash": "s2ef3dxkSFi5fbtn3neN1WxuXVOpa3DoWrUJ0JhoGG0=",
@@ -11970,24 +11934,6 @@
       "id": "b9db9702-fd9d-4e21-8319-8998e1be5e47",
       "last_modified": 1666727871753
     },
-    {
-      "schema": 1666727381856,
-      "derHash": "Yk1VdqZSshMHaL/oS5Ze7//ZFgPSXNX3FVp9wnidrDg=",
-      "subject": "CN=Microsoft Azure ECC TLS Issuing CA 05,O=Microsoft Corporation,C=US",
-      "subjectDN": "MF0xCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLjAsBgNVBAMTJU1pY3Jvc29mdCBBenVyZSBFQ0MgVExTIElzc3VpbmcgQ0EgMDU=",
-      "whitelist": false,
-      "attachment": {
-        "hash": "2468274c7b25fd2b19d422592a89957967b1d0b2667a280258fa181e4990089d",
-        "size": 1512,
-        "filename": "k09MzmwiRPkPmkpgmUtprMk_uALSVedNLtfOBkCMvXE=.pem",
-        "location": "security-state-staging/intermediates/80b6ec62-bff9-48b4-a3cf-f8e34874b58f.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "k09MzmwiRPkPmkpgmUtprMk/uALSVedNLtfOBkCMvXE=",
-      "crlite_enrolled": false,
-      "id": "806d2ed6-4b90-44a3-8208-2c60f2a2e5f3",
-      "last_modified": 1666727871704
-    },
     {
       "schema": 1666727410506,
       "derHash": "KIs1Rm+44ii5iDIBnhp5Vqw+nxVCgMyXSG7Mjiycq8E=",
@@ -12060,24 +12006,6 @@
       "id": "9bfb32bb-d95f-4440-a86b-01e4010249cf",
       "last_modified": 1666727871648
     },
-    {
-      "schema": 1666727376687,
-      "derHash": "FamHYevgEVVNo6RtIGsIEssutproeqoRpt1MuE7VFCo=",
-      "subject": "CN=Microsoft Azure TLS Issuing CA 02,O=Microsoft Corporation,C=US",
-      "subjectDN": "MFkxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jvc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMg==",
-      "whitelist": false,
-      "attachment": {
-        "hash": "b94f365e9c87f17f0cce2845177df14966cfe660eb761de3a71b860db6a98fd9",
-        "size": 2121,
-        "filename": "zAwfx2iFcQ5vMOCc9vt-MXLdLl08EquNsOWgDF0hOw8=.pem",
-        "location": "security-state-staging/intermediates/c871cd6e-8739-4945-ad56-640037061116.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "zAwfx2iFcQ5vMOCc9vt+MXLdLl08EquNsOWgDF0hOw8=",
-      "crlite_enrolled": false,
-      "id": "9c580ae1-ee63-4434-966d-7c79332c7aef",
-      "last_modified": 1666727871635
-    },
     {
       "schema": 1666727391920,
       "derHash": "Efukp+5XnHDh1X+fm2qMIJ4SGcTx04Rvg//OdOnl4s4=",
@@ -12240,24 +12168,6 @@
       "id": "7cd75c73-53a3-4d79-954c-c72716711cea",
       "last_modified": 1666727871499
     },
-    {
-      "schema": 1666727437324,
-      "derHash": "LK77tV5w31qJhf6bwQ3VakDD3tqz2hUwopaCAVxbfGY=",
-      "subject": "CN=Microsoft Azure ECC TLS Issuing CA 01,O=Microsoft Corporation,C=US",
-      "subjectDN": "MF0xCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLjAsBgNVBAMTJU1pY3Jvc29mdCBBenVyZSBFQ0MgVExTIElzc3VpbmcgQ0EgMDE=",
-      "whitelist": false,
-      "attachment": {
-        "hash": "a45e27eb4ce4e2624d46479d0ecf5a612e520e17ac29d9b405427a94f6798f65",
-        "size": 1512,
-        "filename": "OZOx9JJC3JsSDSjFX2iEA3_ED6gCha3L1ZrOeRNoyx8=.pem",
-        "location": "security-state-staging/intermediates/0aaac946-3682-4510-bb2f-61af7a692f2c.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "OZOx9JJC3JsSDSjFX2iEA3/ED6gCha3L1ZrOeRNoyx8=",
-      "crlite_enrolled": false,
-      "id": "23219f23-4f65-40c8-9baf-cf8d86adfbc1",
-      "last_modified": 1666727871485
-    },
     {
       "schema": 1666727337842,
       "derHash": "UidMV85N7jtJ23p/9wjAQPdxiYs76IclqG+0QwGC/hQ=",
@@ -12528,24 +12438,6 @@
       "id": "95476db8-9ecd-41a5-a165-c19b7b039ad0",
       "last_modified": 1666727871248
     },
-    {
-      "schema": 1666727370444,
-      "derHash": "qzIDs+ogF9UJcmodgik+/8uMQs61LJrxwO7pa1wCvLo=",
-      "subject": "CN=Microsoft Azure TLS Issuing CA 05,O=Microsoft Corporation,C=US",
-      "subjectDN": "MFkxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jvc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNQ==",
-      "whitelist": false,
-      "attachment": {
-        "hash": "dab72f8a61c3d1392090bfa1d53928ff5e675385a1b03742a601a3457a12342f",
-        "size": 2653,
-        "filename": "4i4h0jN9NROr1xKJI-TQ1Q_ZIfUjPMXtmWUsDR3Pjiw=.pem",
-        "location": "security-state-staging/intermediates/72a185d7-4eb2-47d8-b2a4-e045b0a06de6.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "4i4h0jN9NROr1xKJI+TQ1Q/ZIfUjPMXtmWUsDR3Pjiw=",
-      "crlite_enrolled": false,
-      "id": "5f4eb28e-9486-4fc3-a0b6-bf4fa86b1b59",
-      "last_modified": 1666727871232
-    },
     {
       "schema": 1666727435110,
       "derHash": "ffgAB19SA8AXNk6BGVqayf8AxQfWSnD3N9jT6Ms/CEU=",
@@ -12582,24 +12474,6 @@
       "id": "67adf801-f8c9-4aa3-8959-8c52c5b8e487",
       "last_modified": 1666727871191
     },
-    {
-      "schema": 1666727424612,
-      "derHash": "AD9x3EggIWV1/Fqs/jsa63b3Kupbjo/O/IC59RekphI=",
-      "subject": "CN=Microsoft Azure ECC TLS Issuing CA 05,O=Microsoft Corporation,C=US",
-      "subjectDN": "MF0xCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLjAsBgNVBAMTJU1pY3Jvc29mdCBBenVyZSBFQ0MgVExTIElzc3VpbmcgQ0EgMDU=",
-      "whitelist": false,
-      "attachment": {
-        "hash": "312e807dea2263ef605990bfa0b57b238b64d9fea0fc945e37f48f3e6246d576",
-        "size": 1329,
-        "filename": "k09MzmwiRPkPmkpgmUtprMk_uALSVedNLtfOBkCMvXE=.pem",
-        "location": "security-state-staging/intermediates/6aaee85d-0f49-4200-aef8-443dcc265c89.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "k09MzmwiRPkPmkpgmUtprMk/uALSVedNLtfOBkCMvXE=",
-      "crlite_enrolled": false,
-      "id": "aa89fd7f-c3e7-48eb-8a53-205dfa9060a4",
-      "last_modified": 1666727871176
-    },
     {
       "schema": 1666727444500,
       "derHash": "wWH1qt5A+8lyPwiS3pY9TRBAVWGmvcaacnmPkYvtGc0=",
@@ -12654,42 +12528,6 @@
       "id": "94dee99a-f803-4f21-bbe1-cec73c87cf5e",
       "last_modified": 1666727871121
     },
-    {
-      "schema": 1666727392408,
-      "derHash": "FRo+WWnGYW62N6hyKxdM/ZU4eqznjVfDvSPwyzAIGGo=",
-      "subject": "CN=Microsoft Azure ECC TLS Issuing CA 06,O=Microsoft Corporation,C=US",
-      "subjectDN": "MF0xCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLjAsBgNVBAMTJU1pY3Jvc29mdCBBenVyZSBFQ0MgVExTIElzc3VpbmcgQ0EgMDY=",
-      "whitelist": false,
-      "attachment": {
-        "hash": "3f94a2f59b7465d9ec3993abf5497a7454a624492a51b0f1af1453447008be7a",
-        "size": 1508,
-        "filename": "yBjnrcmcUp2nylDRWnQvSPRspmhm1f_fOuKrsNiaSdA=.pem",
-        "location": "security-state-staging/intermediates/02495c18-91a4-42fb-956a-4fe8ed43bfee.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "yBjnrcmcUp2nylDRWnQvSPRspmhm1f/fOuKrsNiaSdA=",
-      "crlite_enrolled": false,
-      "id": "97c50b5c-b8db-4d7e-9a48-a00cfe50809d",
-      "last_modified": 1666727871096
-    },
-    {
-      "schema": 1666727436978,
-      "derHash": "05zjn/b0SdTzOR7iAE1wXsIvmc/8pAqI+F2yZFSt29E=",
-      "subject": "CN=Microsoft Azure TLS Issuing CA 02,O=Microsoft Corporation,C=US",
-      "subjectDN": "MFkxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jvc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMg==",
-      "whitelist": false,
-      "attachment": {
-        "hash": "ce0b3cc7344615f4e2c08e375e5170baea84e9c13a2b7eab45e0eb275cfec111",
-        "size": 2653,
-        "filename": "zAwfx2iFcQ5vMOCc9vt-MXLdLl08EquNsOWgDF0hOw8=.pem",
-        "location": "security-state-staging/intermediates/ba9ba353-fc26-4c61-a866-b85b659ec9a5.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "zAwfx2iFcQ5vMOCc9vt+MXLdLl08EquNsOWgDF0hOw8=",
-      "crlite_enrolled": false,
-      "id": "99c86985-1228-476e-a19f-d0460513f062",
-      "last_modified": 1666727871078
-    },
     {
       "schema": 1666727373459,
       "derHash": "cLahDAynbeznrb6XC3ajfYoChXsTTHUFsYTr1fyk8+o=",
@@ -13104,24 +12942,6 @@
       "id": "f0051e35-0e04-44e0-b38c-9ae0dfcb304f",
       "last_modified": 1666727870715
     },
-    {
-      "schema": 1666727337012,
-      "derHash": "KXW6tR0A2GLQ4W7t74MGp1nGXNS58A2vUOzfy07DluQ=",
-      "subject": "CN=Microsoft Azure ECC TLS Issuing CA 06,O=Microsoft Corporation,C=US",
-      "subjectDN": "MF0xCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLjAsBgNVBAMTJU1pY3Jvc29mdCBBenVyZSBFQ0MgVExTIElzc3VpbmcgQ0EgMDY=",
-      "whitelist": false,
-      "attachment": {
-        "hash": "913a6555d1accfb6fad27f0850000c3dead37ef7c0c8683ab4771d4154dafae2",
-        "size": 1329,
-        "filename": "yBjnrcmcUp2nylDRWnQvSPRspmhm1f_fOuKrsNiaSdA=.pem",
-        "location": "security-state-staging/intermediates/d4441bdb-1976-4959-915a-7e64feadf03a.pem",
-        "mimetype": "application/x-pem-file"
-      },
-      "pubKeyHash": "yBjnrcmcUp2nylDRWnQvSPRspmhm1f/fOuKrsNiaSdA=",
-      "crlite_enrolled": false,
-      "id": "23eb6ffd-3fb0-4819-9292-f84d510529b1",
-      "last_modified": 1666727870702
-    },
     {
       "schema": 1666727387103,
       "derHash": "jz5daFi5J9KE/bhaGxWHXNeOY7ggwg3cU5zNhLDBpqo=",
@@ -31213,5 +31033,5 @@
       "last_modified": 1559865884636
     }
   ],
-  "timestamp": 1719154633250
+  "timestamp": 1719500222993
 }
diff --git a/sourcestamp.txt b/sourcestamp.txt
index 4e552c6d5fee3f762c4001cdd1fb1d2cc9933e36..2fe47e9436042249782fe62281bc99f62ad09179 100644
--- a/sourcestamp.txt
+++ b/sourcestamp.txt
@@ -1,3 +1,3 @@
-20240627132026
-https://hg.mozilla.org/releases/comm-beta/rev/877e75140afba917b382d29cd595e75f9ce10af4
-https://hg.mozilla.org/releases/mozilla-beta/rev/e9bf19464ff8acb7062bb569b5abf4ff9fd9ea6b
+20240710185639
+https://hg.mozilla.org/releases/comm-esr128/rev/5b8f11ce4188f2d46aa8021a390e543e92a23e0d
+https://hg.mozilla.org/releases/mozilla-esr128/rev/4cff37e891cdf778f142fd8005c71b1dd88898b2
diff --git a/taskcluster/android_taskgraph/build_config.py b/taskcluster/android_taskgraph/build_config.py
index 368b251e41468ded1f9ee090df915f43d357b16b..ebfba81ff4ca1e7aaaa84b39ac240710f94f042f 100644
--- a/taskcluster/android_taskgraph/build_config.py
+++ b/taskcluster/android_taskgraph/build_config.py
@@ -4,9 +4,9 @@
 
 
 import os
+from functools import lru_cache
 
 import yaml
-from taskgraph.util.memoize import memoize
 
 from android_taskgraph import ANDROID_COMPONENTS_DIR, FENIX_DIR, FOCUS_DIR
 
@@ -47,7 +47,7 @@ def get_extensions(component):
     ]
 
 
-@memoize
+@lru_cache(maxsize=None)
 def _read_build_config(root_dir):
     with open(os.path.join(root_dir, ".buildconfig.yml"), "rb") as f:
         return yaml.safe_load(f)
diff --git a/taskcluster/android_taskgraph/loader/build_config.py b/taskcluster/android_taskgraph/loader/build_config.py
index abcdc223b4fa4494a39bd14338422ad63ee5ee3c..cb384cc17410f90e82f21936ffced5c7a2cf03c9 100644
--- a/taskcluster/android_taskgraph/loader/build_config.py
+++ b/taskcluster/android_taskgraph/loader/build_config.py
@@ -3,7 +3,7 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 
-from gecko_taskgraph.loader.transform import loader as base_loader
+from taskgraph.loader.transform import loader as base_loader
 from taskgraph.util.templates import merge
 
 from ..build_config import get_apk_based_projects, get_components
@@ -14,7 +14,7 @@ def components_loader(kind, path, config, params, loaded_tasks):
 
     Android-components are read from android-component/.buildconfig.yml
     """
-    config["jobs"] = _get_components_tasks(config)
+    config["tasks"] = _get_components_tasks(config)
     return base_loader(kind, path, config, params, loaded_tasks)
 
 
@@ -24,12 +24,12 @@ def components_and_apks_loader(kind, path, config, params, loaded_tasks):
     For instance focus-android yields one task.
     Config is read from various .buildconfig.yml files.
 
-    Additional tasks can be provided in the kind.yml under the key `jobs`.
+    Additional tasks can be provided in the kind.yml under the key `tasks`.
     """
 
     components_tasks = _get_components_tasks(config, for_build_type="regular")
     apks_tasks = _get_apks_tasks(config)
-    config["jobs"] = merge(config["jobs"], components_tasks, apks_tasks)
+    config["tasks"] = merge(config["tasks"], components_tasks, apks_tasks)
     return base_loader(kind, path, config, params, loaded_tasks)
 
 
diff --git a/taskcluster/android_taskgraph/util/scriptworker.py b/taskcluster/android_taskgraph/util/scriptworker.py
index e438f19d26961d6bcab923fa4f08c3f803482e8b..dc203013d930ea4ed83c7573640ebf9c669f20fb 100644
--- a/taskcluster/android_taskgraph/util/scriptworker.py
+++ b/taskcluster/android_taskgraph/util/scriptworker.py
@@ -6,14 +6,14 @@ import itertools
 import os
 from copy import deepcopy
 from datetime import datetime
+from functools import lru_cache
 
 import jsone
-from taskgraph.util.memoize import memoize
 from taskgraph.util.schema import resolve_keyed_by
 from taskgraph.util.taskcluster import get_artifact_prefix
 from taskgraph.util.yaml import load_yaml
 
-cached_load_yaml = memoize(load_yaml)
+cached_load_yaml = lru_cache(maxsize=None)(load_yaml)
 
 
 def generate_beetmover_upstream_artifacts(
diff --git a/taskcluster/docs/kinds/test.rst b/taskcluster/docs/kinds/test.rst
index b577a4a993ff2cc1162484612741bb2cd5e9635d..fdc3dfeeb2b429c664a55c66dfdf8994ff297ba3 100644
--- a/taskcluster/docs/kinds/test.rst
+++ b/taskcluster/docs/kinds/test.rst
@@ -58,7 +58,7 @@ Each variant must conform to the
   to be applied. The ``task`` definition is passed in as context.
 * **replace** - A dictionary that will overwrite keys in the task definition.
 * **merge** - A dictionary that will be merged into the task definition using
-  the :py:func:`~gecko_taskgraph.util.templates.merge` function.
+  the :py:func:`~taskgraph.util.templates.merge` function.
 
 .. note::
 
diff --git a/taskcluster/gecko_taskgraph/loader/test.py b/taskcluster/gecko_taskgraph/loader/test.py
index c97acecd1aeab5689ab75aa7ebc14bbc6075ef4d..1521861307da8c0a95591928a22e9bbde702e092 100644
--- a/taskcluster/gecko_taskgraph/loader/test.py
+++ b/taskcluster/gecko_taskgraph/loader/test.py
@@ -5,12 +5,10 @@
 
 import logging
 
+from taskgraph.loader.transform import loader as transform_loader
+from taskgraph.util.copy import deepcopy
 from taskgraph.util.yaml import load_yaml
 
-from gecko_taskgraph.util.copy_task import copy_task
-
-from .transform import loader as transform_loader
-
 logger = logging.getLogger(__name__)
 
 
@@ -43,7 +41,7 @@ def loader(kind, path, config, params, loaded_tasks):
     # generate all tests for all test platforms
     for test_platform_name, test_platform in test_platforms.items():
         for test_name in test_platform["test-names"]:
-            test = copy_task(test_descriptions[test_name])
+            test = deepcopy(test_descriptions[test_name])
             test["build-platform"] = test_platform["build-platform"]
             test["test-platform"] = test_platform_name
             test["build-label"] = test_platform["build-label"]
diff --git a/taskcluster/gecko_taskgraph/loader/transform.py b/taskcluster/gecko_taskgraph/loader/transform.py
deleted file mode 100644
index 1e513bcb73bcb8feddd34f7ee140d00a83fa4e25..0000000000000000000000000000000000000000
--- a/taskcluster/gecko_taskgraph/loader/transform.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-
-import logging
-
-from taskgraph.util.yaml import load_yaml
-
-from ..util.templates import merge
-
-logger = logging.getLogger(__name__)
-
-
-def loader(kind, path, config, params, loaded_tasks):
-    """
-    Get the input elements that will be transformed into tasks in a generic
-    way.  The elements themselves are free-form, and become the input to the
-    first transform.
-
-    By default, this reads jobs from the `jobs` key, or from yaml files
-    named by `jobs-from`.  The entities are read from mappings, and the
-    keys to those mappings are added in the `name` key of each entity.
-
-    If there is a `job-defaults` config, then every job is merged with it.
-    This provides a simple way to set default values for all jobs of a kind.
-    The `job-defaults` key can also be specified in a yaml file pointed to by
-    `jobs-from`. In this case it will only apply to tasks defined in the same
-    file.
-
-    Other kind implementations can use a different loader function to
-    produce inputs and hand them to `transform_inputs`.
-    """
-
-    def jobs():
-        defaults = config.get("job-defaults")
-        for name, job in config.get("jobs", {}).items():
-            if defaults:
-                job = merge(defaults, job)
-            job["job-from"] = "kind.yml"
-            yield name, job
-
-        for filename in config.get("jobs-from", []):
-            tasks = load_yaml(path, filename)
-
-            file_defaults = tasks.pop("job-defaults", None)
-            if defaults:
-                file_defaults = merge(defaults, file_defaults or {})
-
-            for name, job in tasks.items():
-                if file_defaults:
-                    job = merge(file_defaults, job)
-                job["job-from"] = filename
-                yield name, job
-
-    for name, job in jobs():
-        job["name"] = name
-        logger.debug(f"Generating tasks for {kind} {name}")
-        yield job
diff --git a/taskcluster/gecko_taskgraph/main.py b/taskcluster/gecko_taskgraph/main.py
index c6d7a4a3c8b13943bc2b0f7e5b4c15362e3e5829..e7ea643306ac6adbba8b8f5268d93ce8b08430c0 100644
--- a/taskcluster/gecko_taskgraph/main.py
+++ b/taskcluster/gecko_taskgraph/main.py
@@ -63,7 +63,7 @@ def format_taskgraph_json(taskgraph):
 
 
 def format_taskgraph_yaml(taskgraph):
-    from mozbuild.util import ReadOnlyDict
+    from taskgraph.util.readonlydict import ReadOnlyDict
 
     class TGDumper(yaml.SafeDumper):
         def ignore_aliases(self, data):
diff --git a/taskcluster/gecko_taskgraph/test/conftest.py b/taskcluster/gecko_taskgraph/test/conftest.py
index 758d3402b51ac3793304e0f4f6efe3366232e0a3..3394c76b1db61885253fb8f862607b35ff315d4d 100644
--- a/taskcluster/gecko_taskgraph/test/conftest.py
+++ b/taskcluster/gecko_taskgraph/test/conftest.py
@@ -13,10 +13,10 @@ from taskgraph.generator import Kind, TaskGraphGenerator
 from taskgraph.optimize import base as optimize_mod
 from taskgraph.optimize.base import OptimizationStrategy
 from taskgraph.parameters import Parameters
+from taskgraph.util.templates import merge
 
 from gecko_taskgraph import GECKO
 from gecko_taskgraph.actions import render_actions_json
-from gecko_taskgraph.util.templates import merge
 
 
 @pytest.fixture
@@ -74,8 +74,8 @@ def fake_loader(kind, path, config, parameters, loaded_tasks):
             },
             "dependencies": dependencies,
         }
-        if "job-defaults" in config:
-            task = merge(config["job-defaults"], task)
+        if "task-defaults" in config:
+            task = merge(config["task-defaults"], task)
         yield task
 
 
diff --git a/taskcluster/gecko_taskgraph/test/test_util_templates.py b/taskcluster/gecko_taskgraph/test/test_util_templates.py
index edfb13a277e3fdd31e63b8230a56676a1ea59900..c99990db227e4a07857cca065c8a3f508849a024 100644
--- a/taskcluster/gecko_taskgraph/test/test_util_templates.py
+++ b/taskcluster/gecko_taskgraph/test/test_util_templates.py
@@ -6,8 +6,7 @@
 import unittest
 
 import mozunit
-
-from gecko_taskgraph.util.templates import merge, merge_to
+from taskgraph.util.templates import merge, merge_to
 
 
 class MergeTest(unittest.TestCase):
diff --git a/taskcluster/gecko_taskgraph/transforms/balrog_submit.py b/taskcluster/gecko_taskgraph/transforms/balrog_submit.py
index fcf36533151fdc7874444c51907d571acaf87b9e..82de3a906dca740e2e70b6826778b72e5300655e 100644
--- a/taskcluster/gecko_taskgraph/transforms/balrog_submit.py
+++ b/taskcluster/gecko_taskgraph/transforms/balrog_submit.py
@@ -28,7 +28,7 @@ balrog_description_schema = Schema(
         Optional("treeherder"): task_description_schema["treeherder"],
         Optional("attributes"): task_description_schema["attributes"],
         Optional("dependencies"): task_description_schema["dependencies"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
         # Shipping product / phase
         Optional("shipping-product"): task_description_schema["shipping-product"],
         Optional("shipping-phase"): task_description_schema["shipping-phase"],
diff --git a/taskcluster/gecko_taskgraph/transforms/beetmover.py b/taskcluster/gecko_taskgraph/transforms/beetmover.py
index 311e5762931fd535ff490cafd6a6fdbd7e2232e7..fac9bad4fa8159f68ec84013d7f025dd513218df 100644
--- a/taskcluster/gecko_taskgraph/transforms/beetmover.py
+++ b/taskcluster/gecko_taskgraph/transforms/beetmover.py
@@ -36,7 +36,7 @@ beetmover_description_schema = Schema(
         Required("shipping-phase"): task_description_schema["shipping-phase"],
         Optional("shipping-product"): task_description_schema["shipping-product"],
         Optional("attributes"): task_description_schema["attributes"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
     }
 )
 
diff --git a/taskcluster/gecko_taskgraph/transforms/beetmover_checksums.py b/taskcluster/gecko_taskgraph/transforms/beetmover_checksums.py
index b17cb5a743dbbae8b1ce09a105d39df218d7dfbd..9ae9c228a85d54471e161f20986715cdff531f88 100644
--- a/taskcluster/gecko_taskgraph/transforms/beetmover_checksums.py
+++ b/taskcluster/gecko_taskgraph/transforms/beetmover_checksums.py
@@ -30,7 +30,7 @@ beetmover_checksums_description_schema = Schema(
         Optional("locale"): str,
         Optional("shipping-phase"): task_description_schema["shipping-phase"],
         Optional("shipping-product"): task_description_schema["shipping-product"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
     }
 )
 
diff --git a/taskcluster/gecko_taskgraph/transforms/beetmover_emefree_checksums.py b/taskcluster/gecko_taskgraph/transforms/beetmover_emefree_checksums.py
index 11a5fe522c7c5092820ad6f3dcbea27e217ea229..c7243665a7ce7c3314da84e36051d218a291b6d5 100644
--- a/taskcluster/gecko_taskgraph/transforms/beetmover_emefree_checksums.py
+++ b/taskcluster/gecko_taskgraph/transforms/beetmover_emefree_checksums.py
@@ -20,7 +20,7 @@ beetmover_checksums_description_schema = Schema(
         Optional("extra"): object,
         Optional("shipping-phase"): task_description_schema["shipping-phase"],
         Optional("shipping-product"): task_description_schema["shipping-product"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
         Optional("attributes"): task_description_schema["attributes"],
         Optional("dependencies"): task_description_schema["dependencies"],
     }
diff --git a/taskcluster/gecko_taskgraph/transforms/beetmover_geckoview.py b/taskcluster/gecko_taskgraph/transforms/beetmover_geckoview.py
index 1ae884d10cb3a60593c90c2fd540807e35d0e1cf..ea2414be6aa424f4df27a605e16809218ccb8f1d 100644
--- a/taskcluster/gecko_taskgraph/transforms/beetmover_geckoview.py
+++ b/taskcluster/gecko_taskgraph/transforms/beetmover_geckoview.py
@@ -40,7 +40,7 @@ beetmover_description_schema = Schema(
         ),
         Optional("shipping-product"): task_description_schema["shipping-product"],
         Optional("attributes"): task_description_schema["attributes"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
     }
 )
 
diff --git a/taskcluster/gecko_taskgraph/transforms/beetmover_langpack_checksums.py b/taskcluster/gecko_taskgraph/transforms/beetmover_langpack_checksums.py
index 9e59621de4f35476db8e2385748a92c1106cca74..6d758bd706713c7f419d51b246a1b651a8167d48 100644
--- a/taskcluster/gecko_taskgraph/transforms/beetmover_langpack_checksums.py
+++ b/taskcluster/gecko_taskgraph/transforms/beetmover_langpack_checksums.py
@@ -28,7 +28,7 @@ beetmover_checksums_description_schema = Schema(
         Optional("treeherder"): task_description_schema["treeherder"],
         Optional("locale"): str,
         Optional("dependencies"): task_description_schema["dependencies"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
         Optional("shipping-phase"): task_description_schema["shipping-phase"],
         Optional("shipping-product"): task_description_schema["shipping-product"],
     }
diff --git a/taskcluster/gecko_taskgraph/transforms/beetmover_push_to_release.py b/taskcluster/gecko_taskgraph/transforms/beetmover_push_to_release.py
index b6307d93cfb2759406c0f593a41f1c4474e08797..9baa87f4e1c8844242cc6052de1866b3b73d7e58 100644
--- a/taskcluster/gecko_taskgraph/transforms/beetmover_push_to_release.py
+++ b/taskcluster/gecko_taskgraph/transforms/beetmover_push_to_release.py
@@ -21,7 +21,7 @@ beetmover_push_to_release_description_schema = Schema(
         Required("product"): str,
         Required("treeherder-platform"): str,
         Optional("attributes"): {str: object},
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
         Optional("run"): {str: object},
         Optional("run-on-projects"): task_description_schema["run-on-projects"],
         Optional("dependencies"): {str: taskref_or_string},
diff --git a/taskcluster/gecko_taskgraph/transforms/beetmover_repackage.py b/taskcluster/gecko_taskgraph/transforms/beetmover_repackage.py
index 700b136f4b6007b23784709d02975c6dcb673dee..ba47c4a2f4972ccb59eb0b3c22e02d6012f963f4 100644
--- a/taskcluster/gecko_taskgraph/transforms/beetmover_repackage.py
+++ b/taskcluster/gecko_taskgraph/transforms/beetmover_repackage.py
@@ -50,7 +50,7 @@ beetmover_description_schema = Schema(
         # locale is passed only for l10n beetmoving
         Optional("locale"): str,
         Required("shipping-phase"): task_description_schema["shipping-phase"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
     }
 )
 
diff --git a/taskcluster/gecko_taskgraph/transforms/beetmover_repackage_partner.py b/taskcluster/gecko_taskgraph/transforms/beetmover_repackage_partner.py
index 769f4035df19a3b0e797a496b91af612b5dc2ca2..ebe09bc53bed7846c318814a9cd8f22a251ccdc2 100644
--- a/taskcluster/gecko_taskgraph/transforms/beetmover_repackage_partner.py
+++ b/taskcluster/gecko_taskgraph/transforms/beetmover_repackage_partner.py
@@ -38,7 +38,7 @@ beetmover_description_schema = Schema(
         Required("shipping-phase"): task_description_schema["shipping-phase"],
         Optional("shipping-product"): task_description_schema["shipping-product"],
         Optional("priority"): task_description_schema["priority"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
     }
 )
 
diff --git a/taskcluster/gecko_taskgraph/transforms/beetmover_source_checksums.py b/taskcluster/gecko_taskgraph/transforms/beetmover_source_checksums.py
index 766587de6ffc2a273fcc8b12c7078da8e388f0a3..dd7e7de275657bab50c9fe42fd54c1c78b5e9ce1 100644
--- a/taskcluster/gecko_taskgraph/transforms/beetmover_source_checksums.py
+++ b/taskcluster/gecko_taskgraph/transforms/beetmover_source_checksums.py
@@ -29,7 +29,7 @@ beetmover_checksums_description_schema = Schema(
         Optional("shipping-product"): task_description_schema["shipping-product"],
         Optional("attributes"): task_description_schema["attributes"],
         Optional("dependencies"): task_description_schema["dependencies"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
     }
 )
 
diff --git a/taskcluster/gecko_taskgraph/transforms/bootstrap.py b/taskcluster/gecko_taskgraph/transforms/bootstrap.py
index 9c02fc6819fd10a46aaf57c4944063a1846dff16..9e58ea538641a3630e8cf579e6ee49326ca95c45 100644
--- a/taskcluster/gecko_taskgraph/transforms/bootstrap.py
+++ b/taskcluster/gecko_taskgraph/transforms/bootstrap.py
@@ -20,7 +20,7 @@ bootstrap_schema = Schema(
         # Initialization commands.
         Required("pre-commands"): [str],
         # relative path (from config.path) to the file task was defined in
-        Optional("job-from"): str,
+        Optional("task-from"): str,
     }
 )
 
diff --git a/taskcluster/gecko_taskgraph/transforms/condprof.py b/taskcluster/gecko_taskgraph/transforms/condprof.py
index f39a9b09ab32c4a6596eb2c2675a8569fb8633fb..d21bd4f1ff5a13e428faba7dd06f678a05352dd7 100644
--- a/taskcluster/gecko_taskgraph/transforms/condprof.py
+++ b/taskcluster/gecko_taskgraph/transforms/condprof.py
@@ -7,12 +7,12 @@ the condprof/kind.yml file
 """
 
 from taskgraph.transforms.base import TransformSequence
+from taskgraph.util.copy import deepcopy
 from taskgraph.util.schema import Schema
 from voluptuous import Optional
 
 from gecko_taskgraph.transforms.job import job_description_schema
 from gecko_taskgraph.transforms.task import task_description_schema
-from gecko_taskgraph.util.copy_task import copy_task
 
 diff_description_schema = Schema(
     {
@@ -22,7 +22,7 @@ diff_description_schema = Schema(
         Optional("dependencies"): task_description_schema["dependencies"],
         Optional("fetches"): job_description_schema["fetches"],
         Optional("index"): task_description_schema["index"],
-        Optional("job-from"): str,
+        Optional("task-from"): str,
         Optional("name"): str,
         Optional("run"): job_description_schema["run"],
         Optional("run-on-projects"): task_description_schema["run-on-projects"],
@@ -67,21 +67,21 @@ def generate_scenarios(config, tasks):
                     "kind": task["treeherder"]["kind"],
                     "tier": task["treeherder"]["tier"],
                 },
-                "worker-type": copy_task(task["worker-type"]),
-                "worker": copy_task(task["worker"]),
-                "index": copy_task(index),
+                "worker-type": deepcopy(task["worker-type"]),
+                "worker": deepcopy(task["worker"]),
+                "index": deepcopy(index),
                 "run": {
                     "using": "run-task",
                     "cwd": task["run"]["cwd"],
                     "checkout": task["run"]["checkout"],
-                    "tooltool-downloads": copy_task(task["run"]["tooltool-downloads"]),
+                    "tooltool-downloads": deepcopy(task["run"]["tooltool-downloads"]),
                     "command": tcmd,
                     "run-as-root": run_as_root,
                 },
-                "run-on-projects": copy_task(task["run-on-projects"]),
-                "scopes": copy_task(task["scopes"]),
-                "dependencies": copy_task(task["dependencies"]),
-                "fetches": copy_task(task["fetches"]),
+                "run-on-projects": deepcopy(task["run-on-projects"]),
+                "scopes": deepcopy(task["scopes"]),
+                "dependencies": deepcopy(task["dependencies"]),
+                "fetches": deepcopy(task["fetches"]),
             }
 
             use_taskcluster_python = task.get("use-python", "system")
diff --git a/taskcluster/gecko_taskgraph/transforms/diffoscope.py b/taskcluster/gecko_taskgraph/transforms/diffoscope.py
index 05c6617950416be1310c449ac7d07d735b46bdf7..b602e5c87c63385994fec9ffbb23c0069893032b 100644
--- a/taskcluster/gecko_taskgraph/transforms/diffoscope.py
+++ b/taskcluster/gecko_taskgraph/transforms/diffoscope.py
@@ -27,11 +27,11 @@ diff_description_schema = Schema(
         # Treeherder symbol.
         Required("symbol"): str,
         # relative path (from config.path) to the file the task was defined in.
-        Optional("job-from"): str,
+        Optional("task-from"): str,
         # Original and new builds to compare.
         Required("original"): index_or_string,
         Required("new"): index_or_string,
-        # Arguments to pass to diffoscope, used for job-defaults in
+        # Arguments to pass to diffoscope, used for task-defaults in
         # taskcluster/kinds/diffoscope/kind.yml
         Optional("args"): str,
         # Extra arguments to pass to diffoscope, that can be set per job.
diff --git a/taskcluster/gecko_taskgraph/transforms/docker_image.py b/taskcluster/gecko_taskgraph/transforms/docker_image.py
index 635573aa7822ac2a2f074981aa0efb8486492f63..31c5183e4970e01b39f07822227ff5421753b165 100644
--- a/taskcluster/gecko_taskgraph/transforms/docker_image.py
+++ b/taskcluster/gecko_taskgraph/transforms/docker_image.py
@@ -47,7 +47,7 @@ docker_image_schema = Schema(
         Required("symbol"): str,
         # relative path (from config.path) to the file the docker image was defined
         # in.
-        Optional("job-from"): str,
+        Optional("task-from"): str,
         # Arguments to use for the Dockerfile.
         Optional("args"): {str: str},
         # Name of the docker image definition under taskcluster/docker, when
diff --git a/taskcluster/gecko_taskgraph/transforms/fetch.py b/taskcluster/gecko_taskgraph/transforms/fetch.py
index 43cfc44115db0dd48d4177711450f00fe21921f9..9c84cc2168ae7df03b77618d6ff630ea576ed4cc 100644
--- a/taskcluster/gecko_taskgraph/transforms/fetch.py
+++ b/taskcluster/gecko_taskgraph/transforms/fetch.py
@@ -30,7 +30,7 @@ FETCH_SCHEMA = Schema(
         Required("name"): str,
         # Relative path (from config.path) to the file the task was defined
         # in.
-        Optional("job-from"): str,
+        Optional("task-from"): str,
         # Description of the task.
         Required("description"): str,
         Optional(
diff --git a/taskcluster/gecko_taskgraph/transforms/geckodriver_mac_notarization.py b/taskcluster/gecko_taskgraph/transforms/geckodriver_mac_notarization.py
index 016d642b9bcb7d5e2e29cd5736f7319747e92735..5d50329e66dbc88b24596f4da587afc3d3966ce0 100644
--- a/taskcluster/gecko_taskgraph/transforms/geckodriver_mac_notarization.py
+++ b/taskcluster/gecko_taskgraph/transforms/geckodriver_mac_notarization.py
@@ -21,7 +21,7 @@ geckodriver_notarization_description_schema = Schema(
         Optional("shipping-phase"): task_description_schema["shipping-phase"],
         Optional("worker"): task_description_schema["worker"],
         Optional("worker-type"): task_description_schema["worker-type"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
         Optional("attributes"): task_description_schema["attributes"],
         Optional("dependencies"): task_description_schema["dependencies"],
     }
diff --git a/taskcluster/gecko_taskgraph/transforms/geckodriver_signing.py b/taskcluster/gecko_taskgraph/transforms/geckodriver_signing.py
index 25f861e662dceb82bb18462bccdd78e565287593..c2c2057d40af3eb96c955d4a7851f4909131b635 100644
--- a/taskcluster/gecko_taskgraph/transforms/geckodriver_signing.py
+++ b/taskcluster/gecko_taskgraph/transforms/geckodriver_signing.py
@@ -21,7 +21,7 @@ repackage_signing_description_schema = Schema(
         Optional("dependencies"): task_description_schema["dependencies"],
         Optional("treeherder"): task_description_schema["treeherder"],
         Optional("shipping-phase"): task_description_schema["shipping-phase"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
     }
 )
 
diff --git a/taskcluster/gecko_taskgraph/transforms/job/__init__.py b/taskcluster/gecko_taskgraph/transforms/job/__init__.py
index 54cedf513af0b16b85061ba2d338ae7936724960..421dbbff9fb8e6920c45368c18a3b09025a8b481 100644
--- a/taskcluster/gecko_taskgraph/transforms/job/__init__.py
+++ b/taskcluster/gecko_taskgraph/transforms/job/__init__.py
@@ -16,6 +16,7 @@ import logging
 import mozpack.path as mozpath
 from packaging.version import Version
 from taskgraph.transforms.base import TransformSequence
+from taskgraph.util.copy import deepcopy
 from taskgraph.util.python_path import import_sibling_modules
 from taskgraph.util.schema import Schema, validate_schema
 from taskgraph.util.taskcluster import get_artifact_prefix
@@ -23,7 +24,6 @@ from voluptuous import Any, Coerce, Exclusive, Extra, Optional, Required
 
 from gecko_taskgraph.transforms.cached_tasks import order_tasks
 from gecko_taskgraph.transforms.task import task_description_schema
-from gecko_taskgraph.util.copy_task import copy_task
 from gecko_taskgraph.util.workertypes import worker_type_implementation
 
 logger = logging.getLogger(__name__)
@@ -41,7 +41,7 @@ job_description_schema = Schema(
         # taskcluster/gecko_taskgraph/transforms/task.py for the schema details.
         Required("description"): task_description_schema["description"],
         Optional("attributes"): task_description_schema["attributes"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
         Optional("dependencies"): task_description_schema["dependencies"],
         Optional("if-dependencies"): task_description_schema["if-dependencies"],
         Optional("soft-dependencies"): task_description_schema["soft-dependencies"],
@@ -213,7 +213,7 @@ def make_task_description(config, jobs):
         if job["worker"]["implementation"] == "docker-worker":
             job["run"].setdefault("workdir", "/builds/worker")
 
-        taskdesc = copy_task(job)
+        taskdesc = deepcopy(job)
 
         # fill in some empty defaults to make run implementations easier
         taskdesc.setdefault("attributes", {})
diff --git a/taskcluster/gecko_taskgraph/transforms/l10n.py b/taskcluster/gecko_taskgraph/transforms/l10n.py
index 151d7d585a03f15fd578dab43c698d0dce18f6d2..c682c9a55ef705f367d98134d9d2ac894de282ad 100644
--- a/taskcluster/gecko_taskgraph/transforms/l10n.py
+++ b/taskcluster/gecko_taskgraph/transforms/l10n.py
@@ -10,6 +10,7 @@ import json
 
 from mozbuild.chunkify import chunkify
 from taskgraph.transforms.base import TransformSequence
+from taskgraph.util.copy import deepcopy
 from taskgraph.util.dependencies import get_dependencies, get_primary_dependency
 from taskgraph.util.schema import (
     Schema,
@@ -28,7 +29,6 @@ from gecko_taskgraph.util.attributes import (
     sorted_unique_list,
     task_name,
 )
-from gecko_taskgraph.util.copy_task import copy_task
 
 
 def _by_platform(arg):
@@ -119,7 +119,7 @@ l10n_description_schema = Schema(
         # Shipping product and phase
         Optional("shipping-product"): task_description_schema["shipping-product"],
         Optional("shipping-phase"): task_description_schema["shipping-phase"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
     }
 )
 
@@ -233,7 +233,7 @@ def handle_keyed_by(config, jobs):
         "when.files-changed",
     ]
     for job in jobs:
-        job = copy_task(job)  # don't overwrite dict values here
+        job = deepcopy(job)  # don't overwrite dict values here
         for field in fields:
             resolve_keyed_by(item=job, field=field, item_name=job["name"])
         yield job
@@ -285,7 +285,7 @@ def chunk_locales(config, jobs):
             if remainder:
                 chunks = int(chunks + 1)
             for this_chunk in range(1, chunks + 1):
-                chunked = copy_task(job)
+                chunked = deepcopy(job)
                 chunked["name"] = chunked["name"].replace("/", f"-{this_chunk}/", 1)
                 chunked["mozharness"]["options"] = chunked["mozharness"].get(
                     "options", []
diff --git a/taskcluster/gecko_taskgraph/transforms/openh264_signing.py b/taskcluster/gecko_taskgraph/transforms/openh264_signing.py
index 74aebbd90b79aab0c20f180ccd1932b21223b49d..f760e93e32fcca48bb3961b43ff40b83fb8a9984 100644
--- a/taskcluster/gecko_taskgraph/transforms/openh264_signing.py
+++ b/taskcluster/gecko_taskgraph/transforms/openh264_signing.py
@@ -25,7 +25,7 @@ signing_description_schema = Schema(
         Optional("shipping-phase"): task_description_schema["shipping-phase"],
         Optional("attributes"): task_description_schema["attributes"],
         Optional("dependencies"): task_description_schema["dependencies"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
     }
 )
 
diff --git a/taskcluster/gecko_taskgraph/transforms/partner_attribution_beetmover.py b/taskcluster/gecko_taskgraph/transforms/partner_attribution_beetmover.py
index 3ac34da85d8685d2e2513b984ac173638a91681d..6760884147ff5b44bace834bb25bb0c10fba4371 100644
--- a/taskcluster/gecko_taskgraph/transforms/partner_attribution_beetmover.py
+++ b/taskcluster/gecko_taskgraph/transforms/partner_attribution_beetmover.py
@@ -27,7 +27,7 @@ from gecko_taskgraph.util.scriptworker import (
 beetmover_description_schema = Schema(
     {
         # from the loader:
-        Optional("job-from"): str,
+        Optional("task-from"): str,
         Optional("name"): str,
         # from the from_deps transforms:
         Optional("attributes"): task_description_schema["attributes"],
diff --git a/taskcluster/gecko_taskgraph/transforms/release_beetmover_signed_addons.py b/taskcluster/gecko_taskgraph/transforms/release_beetmover_signed_addons.py
index 4c419659a41730e828c5b44b21cb74a97d4f81ed..318537992fdc89419fff4eb257c0341d7e177d60 100644
--- a/taskcluster/gecko_taskgraph/transforms/release_beetmover_signed_addons.py
+++ b/taskcluster/gecko_taskgraph/transforms/release_beetmover_signed_addons.py
@@ -49,7 +49,7 @@ beetmover_description_schema = Schema(
         # locale is passed only for l10n beetmoving
         Optional("locale"): str,
         Optional("shipping-phase"): task_description_schema["shipping-phase"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
         Optional("dependencies"): task_description_schema["dependencies"],
     }
 )
diff --git a/taskcluster/gecko_taskgraph/transforms/release_flatpak_push.py b/taskcluster/gecko_taskgraph/transforms/release_flatpak_push.py
index 9242018755198c048bf1b9988cb471d679f48ced..8a6acf7db73bbb0d30b457642c301ac0be295b28 100644
--- a/taskcluster/gecko_taskgraph/transforms/release_flatpak_push.py
+++ b/taskcluster/gecko_taskgraph/transforms/release_flatpak_push.py
@@ -16,7 +16,7 @@ from gecko_taskgraph.util.scriptworker import add_scope_prefix
 push_flatpak_description_schema = Schema(
     {
         Required("name"): str,
-        Required("job-from"): task_description_schema["job-from"],
+        Required("task-from"): task_description_schema["task-from"],
         Required("dependencies"): task_description_schema["dependencies"],
         Required("description"): task_description_schema["description"],
         Required("treeherder"): task_description_schema["treeherder"],
diff --git a/taskcluster/gecko_taskgraph/transforms/release_generate_checksums_beetmover.py b/taskcluster/gecko_taskgraph/transforms/release_generate_checksums_beetmover.py
index 28043debe9d2c8cde2b0bca2dfee28e39af0b685..cac3f3309dfd06fb8a94ad53ee7f90aa1a426cf0 100644
--- a/taskcluster/gecko_taskgraph/transforms/release_generate_checksums_beetmover.py
+++ b/taskcluster/gecko_taskgraph/transforms/release_generate_checksums_beetmover.py
@@ -34,7 +34,7 @@ release_generate_checksums_beetmover_schema = Schema(
         Optional("shipping-phase"): task_description_schema["shipping-phase"],
         Optional("shipping-product"): task_description_schema["shipping-product"],
         Optional("attributes"): task_description_schema["attributes"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
         Optional("dependencies"): task_description_schema["dependencies"],
     }
 )
diff --git a/taskcluster/gecko_taskgraph/transforms/release_generate_checksums_signing.py b/taskcluster/gecko_taskgraph/transforms/release_generate_checksums_signing.py
index 12cbcdc72114cedaae5c65c2518261ac31fa500e..9b54f75ab46ee9047abb0ef5a12758216560a20c 100644
--- a/taskcluster/gecko_taskgraph/transforms/release_generate_checksums_signing.py
+++ b/taskcluster/gecko_taskgraph/transforms/release_generate_checksums_signing.py
@@ -23,7 +23,7 @@ release_generate_checksums_signing_schema = Schema(
         Optional("treeherder"): task_description_schema["treeherder"],
         Optional("shipping-product"): task_description_schema["shipping-product"],
         Optional("shipping-phase"): task_description_schema["shipping-phase"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
     }
 )
 
diff --git a/taskcluster/gecko_taskgraph/transforms/release_msix_push.py b/taskcluster/gecko_taskgraph/transforms/release_msix_push.py
index 22b356d5a20d98091b9d653a2b6e0962073982fa..2468551f8d4f07bf29703206cde5851bf2a648c7 100644
--- a/taskcluster/gecko_taskgraph/transforms/release_msix_push.py
+++ b/taskcluster/gecko_taskgraph/transforms/release_msix_push.py
@@ -16,7 +16,7 @@ from gecko_taskgraph.util.scriptworker import add_scope_prefix
 push_msix_description_schema = Schema(
     {
         Required("name"): str,
-        Required("job-from"): task_description_schema["job-from"],
+        Required("task-from"): task_description_schema["task-from"],
         Required("dependencies"): task_description_schema["dependencies"],
         Required("description"): task_description_schema["description"],
         Required("treeherder"): task_description_schema["treeherder"],
diff --git a/taskcluster/gecko_taskgraph/transforms/release_sign_and_push_langpacks.py b/taskcluster/gecko_taskgraph/transforms/release_sign_and_push_langpacks.py
index 6761c76416a48c5603a90ec191a0b7031eeeb230..41554e8975ea1539f0f67775491177215147e60e 100644
--- a/taskcluster/gecko_taskgraph/transforms/release_sign_and_push_langpacks.py
+++ b/taskcluster/gecko_taskgraph/transforms/release_sign_and_push_langpacks.py
@@ -33,7 +33,7 @@ langpack_sign_push_description_schema = Schema(
         Required("run-on-projects"): [],
         Required("scopes"): optionally_keyed_by("release-level", [str]),
         Required("shipping-phase"): task_description_schema["shipping-phase"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
         Optional("attributes"): task_description_schema["attributes"],
         Optional("dependencies"): task_description_schema["dependencies"],
     }
diff --git a/taskcluster/gecko_taskgraph/transforms/repackage.py b/taskcluster/gecko_taskgraph/transforms/repackage.py
index ea684d71c59256f59ed47136081de8b14675d1e6..46f66ad591a0fc428d24504af43f8798c6aeab0a 100644
--- a/taskcluster/gecko_taskgraph/transforms/repackage.py
+++ b/taskcluster/gecko_taskgraph/transforms/repackage.py
@@ -6,6 +6,7 @@ Transform the repackage task into an actual task description.
 """
 
 from taskgraph.transforms.base import TransformSequence
+from taskgraph.util.copy import deepcopy
 from taskgraph.util.dependencies import get_primary_dependency
 from taskgraph.util.schema import Schema, optionally_keyed_by, resolve_keyed_by
 from taskgraph.util.taskcluster import get_artifact_prefix
@@ -13,7 +14,6 @@ from voluptuous import Extra, Optional, Required
 
 from gecko_taskgraph.transforms.job import job_description_schema
 from gecko_taskgraph.util.attributes import copy_attributes_from_dependent_job
-from gecko_taskgraph.util.copy_task import copy_task
 from gecko_taskgraph.util.platforms import architecture, archive_format
 from gecko_taskgraph.util.workertypes import worker_type_implementation
 
@@ -93,7 +93,7 @@ packaging_description_schema = Schema(
             Optional("run-as-root"): bool,
             Optional("use-caches"): bool,
         },
-        Optional("job-from"): job_description_schema["job-from"],
+        Optional("task-from"): job_description_schema["task-from"],
     }
 )
 
@@ -338,7 +338,7 @@ def handle_keyed_by(config, jobs):
         "worker.max-run-time",
     ]
     for job in jobs:
-        job = copy_task(job)  # don't overwrite dict values here
+        job = deepcopy(job)  # don't overwrite dict values here
         for field in fields:
             resolve_keyed_by(
                 item=job,
@@ -489,7 +489,7 @@ def make_job_description(config, jobs):
             # if repackage_signing_task doesn't exists, generate the stub installer
             package_formats += ["installer-stub"]
         for format in package_formats:
-            command = copy_task(PACKAGE_FORMATS[format])
+            command = deepcopy(PACKAGE_FORMATS[format])
             substs = {
                 "archive_format": archive_format(build_platform),
                 "_locale": _fetch_subst_locale,
@@ -506,7 +506,7 @@ def make_job_description(config, jobs):
 
             # We need to resolve `msix.*` values keyed by `package-format` for each format, not
             # just once, so we update a temporary copy just for extracting these values.
-            temp_job = copy_task(job)
+            temp_job = deepcopy(job)
             for msix_key in (
                 "channel",
                 "identity-name",
diff --git a/taskcluster/gecko_taskgraph/transforms/repackage_l10n.py b/taskcluster/gecko_taskgraph/transforms/repackage_l10n.py
index 013f331e1f8400952733249aa69d08310056dd61..b2fb87061c4a6631b2183e69a8bb73d0b0f51563 100644
--- a/taskcluster/gecko_taskgraph/transforms/repackage_l10n.py
+++ b/taskcluster/gecko_taskgraph/transforms/repackage_l10n.py
@@ -7,10 +7,9 @@ Transform the repackage task into an actual task description.
 
 
 from taskgraph.transforms.base import TransformSequence
+from taskgraph.util.copy import deepcopy
 from taskgraph.util.dependencies import get_primary_dependency
 
-from gecko_taskgraph.util.copy_task import copy_task
-
 transforms = TransformSequence()
 
 
@@ -21,7 +20,7 @@ def split_locales(config, jobs):
         assert dep_job
 
         for locale in dep_job.attributes.get("chunk_locales", []):
-            locale_job = copy_task(job)  # don't overwrite dict values here
+            locale_job = deepcopy(job)  # don't overwrite dict values here
             treeherder = locale_job.setdefault("treeherder", {})
             treeherder_group = locale_job.pop("treeherder-group")
             treeherder["symbol"] = f"{treeherder_group}({locale})"
diff --git a/taskcluster/gecko_taskgraph/transforms/repackage_partner.py b/taskcluster/gecko_taskgraph/transforms/repackage_partner.py
index ad91d101da0d480433c14df567a73923db1b8f2b..291c176caf8429ac7737d96b32ce0b9f293b2c7d 100644
--- a/taskcluster/gecko_taskgraph/transforms/repackage_partner.py
+++ b/taskcluster/gecko_taskgraph/transforms/repackage_partner.py
@@ -56,7 +56,7 @@ packaging_description_schema = Schema(
         },
         # Override the default priority for the project
         Optional("priority"): task_description_schema["priority"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
         Optional("attributes"): task_description_schema["attributes"],
         Optional("dependencies"): task_description_schema["dependencies"],
     }
diff --git a/taskcluster/gecko_taskgraph/transforms/repackage_signing.py b/taskcluster/gecko_taskgraph/transforms/repackage_signing.py
index d4106efb2924a786efd5534d447eee1212cb20cd..0417cf2a603ea66ebab393c33f9d143c20e191d8 100644
--- a/taskcluster/gecko_taskgraph/transforms/repackage_signing.py
+++ b/taskcluster/gecko_taskgraph/transforms/repackage_signing.py
@@ -21,7 +21,7 @@ repackage_signing_description_schema = Schema(
         Optional("label"): str,
         Optional("attributes"): task_description_schema["attributes"],
         Optional("dependencies"): task_description_schema["dependencies"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
         Optional("treeherder"): task_description_schema["treeherder"],
         Optional("shipping-product"): task_description_schema["shipping-product"],
         Optional("shipping-phase"): task_description_schema["shipping-phase"],
diff --git a/taskcluster/gecko_taskgraph/transforms/repackage_signing_partner.py b/taskcluster/gecko_taskgraph/transforms/repackage_signing_partner.py
index 5f7c893e9276369322f82df20b8bc62ec4402263..e8257c45a6e29b6a16b78265d734d8b891713243 100644
--- a/taskcluster/gecko_taskgraph/transforms/repackage_signing_partner.py
+++ b/taskcluster/gecko_taskgraph/transforms/repackage_signing_partner.py
@@ -27,7 +27,7 @@ repackage_signing_description_schema = Schema(
         Optional("shipping-product"): task_description_schema["shipping-product"],
         Optional("shipping-phase"): task_description_schema["shipping-phase"],
         Optional("priority"): task_description_schema["priority"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
     }
 )
 
diff --git a/taskcluster/gecko_taskgraph/transforms/reverse_chunk_deps.py b/taskcluster/gecko_taskgraph/transforms/reverse_chunk_deps.py
index 1eb0e39c420f19e6ea8072685ad0ac3ff06b41f5..6b56bd67872e89aa6e9e91986ade34758f07a319 100644
--- a/taskcluster/gecko_taskgraph/transforms/reverse_chunk_deps.py
+++ b/taskcluster/gecko_taskgraph/transforms/reverse_chunk_deps.py
@@ -6,17 +6,17 @@ Adjust dependencies to not exceed MAX_DEPENDENCIES
 """
 
 from taskgraph.transforms.base import TransformSequence
+from taskgraph.util.copy import deepcopy
 from taskgraph.util.treeherder import add_suffix
 
 from gecko_taskgraph import MAX_DEPENDENCIES
 from gecko_taskgraph.transforms import release_deps
-from gecko_taskgraph.util.copy_task import copy_task
 
 transforms = TransformSequence()
 
 
 def yield_job(orig_job, deps, count):
-    job = copy_task(orig_job)
+    job = deepcopy(orig_job)
     job["dependencies"] = deps
     job["name"] = "{}-{}".format(orig_job["name"], count)
     if "treeherder" in job:
diff --git a/taskcluster/gecko_taskgraph/transforms/signing.py b/taskcluster/gecko_taskgraph/transforms/signing.py
index 760f9f122f24e76afd79073e3418fe84073d0dc9..611b4757e6f4936a29cb3b18f895005c9b31d514 100644
--- a/taskcluster/gecko_taskgraph/transforms/signing.py
+++ b/taskcluster/gecko_taskgraph/transforms/signing.py
@@ -56,7 +56,7 @@ signing_description_schema = Schema(
         Optional("repacks-per-chunk"): int,
         # Override the default priority for the project
         Optional("priority"): task_description_schema["priority"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
     }
 )
 
diff --git a/taskcluster/gecko_taskgraph/transforms/source_checksums_signing.py b/taskcluster/gecko_taskgraph/transforms/source_checksums_signing.py
index 2b846604f1cc84866766045da720285773756d62..c69e2f905edb4c5befb625510b43d6deb9f21ed0 100644
--- a/taskcluster/gecko_taskgraph/transforms/source_checksums_signing.py
+++ b/taskcluster/gecko_taskgraph/transforms/source_checksums_signing.py
@@ -20,7 +20,7 @@ checksums_signing_description_schema = Schema(
         Optional("treeherder"): task_description_schema["treeherder"],
         Optional("shipping-product"): task_description_schema["shipping-product"],
         Optional("shipping-phase"): task_description_schema["shipping-phase"],
-        Optional("job-from"): task_description_schema["job-from"],
+        Optional("task-from"): task_description_schema["task-from"],
         Optional("attributes"): task_description_schema["attributes"],
         Optional("dependencies"): task_description_schema["dependencies"],
     }
diff --git a/taskcluster/gecko_taskgraph/transforms/source_test.py b/taskcluster/gecko_taskgraph/transforms/source_test.py
index 266637a7a09a651f99f65d49447479ad15860559..9a9dcf5195d923c29949281ff4c8e71c8e98ccb8 100644
--- a/taskcluster/gecko_taskgraph/transforms/source_test.py
+++ b/taskcluster/gecko_taskgraph/transforms/source_test.py
@@ -63,8 +63,8 @@ transforms.add_validate(source_test_description_schema)
 @transforms.add
 def set_job_name(config, jobs):
     for job in jobs:
-        if "job-from" in job and job["job-from"] != "kind.yml":
-            from_name = os.path.splitext(job["job-from"])[0]
+        if "task-from" in job and job["task-from"] != "kind.yml":
+            from_name = os.path.splitext(job["task-from"])[0]
             job["name"] = "{}-{}".format(from_name, job["name"])
         yield job
 
diff --git a/taskcluster/gecko_taskgraph/transforms/task.py b/taskcluster/gecko_taskgraph/transforms/task.py
index a0de71d46bec948174fe8c9e5725a8d644691bbe..960fabe9574f2747ef991d6d6c3c953a10e0a4c8 100644
--- a/taskcluster/gecko_taskgraph/transforms/task.py
+++ b/taskcluster/gecko_taskgraph/transforms/task.py
@@ -19,6 +19,7 @@ import attr
 from mozbuild.util import memoize
 from taskcluster.utils import fromNow
 from taskgraph.transforms.base import TransformSequence
+from taskgraph.util.copy import deepcopy
 from taskgraph.util.keyed_by import evaluate_keyed_by
 from taskgraph.util.schema import (
     Schema,
@@ -35,7 +36,6 @@ from gecko_taskgraph.optimize.schema import OptimizationSchema
 from gecko_taskgraph.transforms.job.common import get_expiration
 from gecko_taskgraph.util import docker as dockerutil
 from gecko_taskgraph.util.attributes import TRUNK_PROJECTS, is_try, release_level
-from gecko_taskgraph.util.copy_task import copy_task
 from gecko_taskgraph.util.hash import hash_path
 from gecko_taskgraph.util.partners import get_partners_to_be_published
 from gecko_taskgraph.util.scriptworker import BALROG_ACTIONS, get_release_config
@@ -71,7 +71,7 @@ task_description_schema = Schema(
         # attributes for this task
         Optional("attributes"): {str: object},
         # relative path (from config.path) to the file task was defined in
-        Optional("job-from"): str,
+        Optional("task-from"): str,
         # dependencies of this task, keyed by name; these are passed through
         # verbatim and subject to the interpretation of the Task's get_dependencies
         # method.
@@ -772,7 +772,7 @@ def build_generic_worker_payload(config, task, task_def):
     #   * 'cache-name' -> 'cacheName'
     #   * 'task-id'    -> 'taskId'
     # All other key names are already suitable, and don't need renaming.
-    mounts = copy_task(worker.get("mounts", []))
+    mounts = deepcopy(worker.get("mounts", []))
     for mount in mounts:
         if "cache-name" in mount:
             mount["cacheName"] = "{trust_domain}-level-{level}-{name}".format(
@@ -2006,7 +2006,7 @@ def build_task(config, tasks):
             if groupSymbol != "?":
                 treeherder["groupSymbol"] = groupSymbol
                 if groupSymbol not in group_names:
-                    path = os.path.join(config.path, task.get("job-from", ""))
+                    path = os.path.join(config.path, task.get("task-from", ""))
                     raise Exception(UNKNOWN_GROUP_NAME.format(groupSymbol, path))
                 treeherder["groupName"] = group_names[groupSymbol]
             treeherder["symbol"] = symbol
diff --git a/taskcluster/gecko_taskgraph/transforms/test/__init__.py b/taskcluster/gecko_taskgraph/transforms/test/__init__.py
index 19ab8d289f0f234d44d72112b867a83ec5098b0f..1e48e4ceda75b191a4e0f3936c26b9faa7e0733f 100644
--- a/taskcluster/gecko_taskgraph/transforms/test/__init__.py
+++ b/taskcluster/gecko_taskgraph/transforms/test/__init__.py
@@ -75,7 +75,7 @@ test_description_schema = Schema(
         # common attributes)
         Optional("attributes"): {str: object},
         # relative path (from config.path) to the file task was defined in
-        Optional("job-from"): str,
+        Optional("task-from"): str,
         # The `run_on_projects` attribute, defaulting to "all".  This dictates the
         # projects on which this task should be included in the target task set.
         # See the attributes documentation for details.
@@ -485,7 +485,7 @@ def make_job_description(config, tasks):
         jobdesc["description"] = task["description"]
         jobdesc["attributes"] = attributes
         jobdesc["dependencies"] = {"build": build_label}
-        jobdesc["job-from"] = task["job-from"]
+        jobdesc["task-from"] = task["task-from"]
 
         if task.get("fetches"):
             jobdesc["fetches"] = task["fetches"]
diff --git a/taskcluster/gecko_taskgraph/transforms/test/chunk.py b/taskcluster/gecko_taskgraph/transforms/test/chunk.py
index 4fe8318cc909dc6483609ddc49f71f15450b6dc9..0a9faa8947ac93c4ff5ce194ddddfa3fdf49c9d2 100644
--- a/taskcluster/gecko_taskgraph/transforms/test/chunk.py
+++ b/taskcluster/gecko_taskgraph/transforms/test/chunk.py
@@ -7,6 +7,7 @@ import json
 import taskgraph
 from taskgraph.transforms.base import TransformSequence
 from taskgraph.util.attributes import keymatch
+from taskgraph.util.copy import deepcopy
 from taskgraph.util.treeherder import join_symbol, split_symbol
 
 from gecko_taskgraph.util.attributes import is_try
@@ -18,7 +19,6 @@ from gecko_taskgraph.util.chunking import (
     get_runtimes,
     guess_mozinfo_from_task,
 )
-from gecko_taskgraph.util.copy_task import copy_task
 from gecko_taskgraph.util.perfile import perfile_number_of_chunks
 
 DYNAMIC_CHUNK_DURATION = 20 * 60  # seconds
@@ -265,7 +265,7 @@ def split_chunks(config, tasks):
             this_chunk = i + 1
 
             # copy the test and update with the chunk number
-            chunked = copy_task(task)
+            chunked = deepcopy(task)
             chunked["this-chunk"] = this_chunk
 
             if chunked_manifests is not None:
diff --git a/taskcluster/gecko_taskgraph/transforms/test/confirm_failure.py b/taskcluster/gecko_taskgraph/transforms/test/confirm_failure.py
index d6a640c6d5f80587ce7822adb9a6388f0df18acf..04f356fc1f60bcf539a884665809b95ccba18072 100644
--- a/taskcluster/gecko_taskgraph/transforms/test/confirm_failure.py
+++ b/taskcluster/gecko_taskgraph/transforms/test/confirm_failure.py
@@ -3,10 +3,9 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 from taskgraph.transforms.base import TransformSequence
+from taskgraph.util.copy import deepcopy
 from taskgraph.util.treeherder import join_symbol, split_symbol
 
-from gecko_taskgraph.util.copy_task import copy_task
-
 transforms = TransformSequence()
 
 
@@ -31,7 +30,7 @@ def test_confirm_failure_tasks(config, tasks):
             env = config.params.get("try_task_config", {}) or {}
             env = env.get("templates", {}).get("env", {})
 
-            cftask = copy_task(task)
+            cftask = deepcopy(task)
 
             # when scheduled other settings will be made
             cftask["tier"] = 2
diff --git a/taskcluster/gecko_taskgraph/transforms/test/other.py b/taskcluster/gecko_taskgraph/transforms/test/other.py
index 51666581c21120024c99499d65c8ff0e192052ea..0ab0cf833306adb834caf31862aab73fa605458f 100644
--- a/taskcluster/gecko_taskgraph/transforms/test/other.py
+++ b/taskcluster/gecko_taskgraph/transforms/test/other.py
@@ -8,22 +8,22 @@ import json
 import re
 
 from mozbuild.schedules import INCLUSIVE_COMPONENTS
-from mozbuild.util import ReadOnlyDict
 from taskgraph.transforms.base import TransformSequence
 from taskgraph.util.attributes import keymatch
 from taskgraph.util.keyed_by import evaluate_keyed_by
+from taskgraph.util.readonlydict import ReadOnlyDict
 from taskgraph.util.schema import Schema, resolve_keyed_by
 from taskgraph.util.taskcluster import (
     get_artifact_path,
     get_artifact_url,
     get_index_url,
 )
+from taskgraph.util.templates import merge
 from voluptuous import Any, Optional, Required
 
 from gecko_taskgraph.transforms.test.variant import TEST_VARIANTS
 from gecko_taskgraph.util.perftest import is_external_browser
 from gecko_taskgraph.util.platforms import platform_family
-from gecko_taskgraph.util.templates import merge
 
 transforms = TransformSequence()
 
diff --git a/taskcluster/gecko_taskgraph/transforms/test/raptor.py b/taskcluster/gecko_taskgraph/transforms/test/raptor.py
index 42adca34d4c3abb2d39f34c1a58af9c1d78652e7..f5f83407999236062da9734dc48943c60126bd4a 100644
--- a/taskcluster/gecko_taskgraph/transforms/test/raptor.py
+++ b/taskcluster/gecko_taskgraph/transforms/test/raptor.py
@@ -4,12 +4,12 @@
 
 
 from taskgraph.transforms.base import TransformSequence
+from taskgraph.util.copy import deepcopy
 from taskgraph.util.schema import Schema, optionally_keyed_by, resolve_keyed_by
 from taskgraph.util.treeherder import join_symbol, split_symbol
 from voluptuous import Extra, Optional, Required
 
 from gecko_taskgraph.transforms.test import test_description_schema
-from gecko_taskgraph.util.copy_task import copy_task
 from gecko_taskgraph.util.perftest import is_external_browser
 
 transforms = TransformSequence()
@@ -104,7 +104,7 @@ def split_apps(config, tests):
             ] and test["attributes"].get("unittest_variant"):
                 continue
 
-            atest = copy_task(test)
+            atest = deepcopy(test)
             suffix = f"-{app}"
             atest["app"] = app
             atest["description"] += f" on {app.capitalize()}"
@@ -146,7 +146,7 @@ def split_raptor_subtests(config, tests):
 
         for chunk_number, subtest in enumerate(subtests):
             # Create new test job
-            chunked = copy_task(test)
+            chunked = deepcopy(test)
             chunked["chunk-number"] = 1 + chunk_number
             chunked["subtest"] = subtest
             chunked["subtest-symbol"] = subtest
diff --git a/taskcluster/gecko_taskgraph/transforms/test/variant.py b/taskcluster/gecko_taskgraph/transforms/test/variant.py
index 6ee6c429f0484ad4d07b0620d8e6fe9b5698ba74..69cd64bc2a03254d6f812b6ef466b564e7535f6e 100644
--- a/taskcluster/gecko_taskgraph/transforms/test/variant.py
+++ b/taskcluster/gecko_taskgraph/transforms/test/variant.py
@@ -5,13 +5,13 @@ import datetime
 
 import jsone
 from taskgraph.transforms.base import TransformSequence
+from taskgraph.util.copy import deepcopy
 from taskgraph.util.schema import Schema, validate_schema
+from taskgraph.util.templates import merge
 from taskgraph.util.treeherder import join_symbol, split_symbol
 from voluptuous import Any, Optional, Required
 
 from gecko_taskgraph.util.chunking import TEST_VARIANTS
-from gecko_taskgraph.util.copy_task import copy_task
-from gecko_taskgraph.util.templates import merge
 
 transforms = TransformSequence()
 
@@ -113,12 +113,12 @@ def split_variants(config, tasks):
         variants = remove_expired(variants, expired_variants)
 
         if task.pop("run-without-variant"):
-            yield copy_task(task)
+            yield deepcopy(task)
 
         for name in variants:
             # Apply composite variants (joined by '+') in order.
             parts = name.split("+")
-            taskv = copy_task(task)
+            taskv = deepcopy(task)
             for part in parts:
                 variant = TEST_VARIANTS[part]
 
diff --git a/taskcluster/gecko_taskgraph/util/copy_task.py b/taskcluster/gecko_taskgraph/util/copy_task.py
deleted file mode 100644
index 0aaf43361e673a05b7a0fca3adf40b7a06af588f..0000000000000000000000000000000000000000
--- a/taskcluster/gecko_taskgraph/util/copy_task.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-from mozbuild.util import ReadOnlyDict
-from taskgraph.task import Task
-
-immutable_types = {int, float, bool, str, type(None), ReadOnlyDict}
-
-
-def copy_task(obj):
-    """
-    Perform a deep copy of a task that has a tree-like structure.
-
-    Unlike copy.deepcopy, this does *not* support copying graph-like structure,
-    but it does it more efficiently than deepcopy.
-    """
-    ty = type(obj)
-    if ty in immutable_types:
-        return obj
-    if ty is dict:
-        return {k: copy_task(v) for k, v in obj.items()}
-    if ty is list:
-        return [copy_task(elt) for elt in obj]
-    if ty is Task:
-        task = Task(
-            kind=copy_task(obj.kind),
-            label=copy_task(obj.label),
-            attributes=copy_task(obj.attributes),
-            task=copy_task(obj.task),
-            description=copy_task(obj.description),
-            optimization=copy_task(obj.optimization),
-            dependencies=copy_task(obj.dependencies),
-            soft_dependencies=copy_task(obj.soft_dependencies),
-            if_dependencies=copy_task(obj.if_dependencies),
-        )
-        if obj.task_id:
-            task.task_id = obj.task_id
-        return task
-    raise NotImplementedError(f"copying '{ty}' from '{obj}'")
diff --git a/taskcluster/gecko_taskgraph/util/docker.py b/taskcluster/gecko_taskgraph/util/docker.py
index 51e3f7e4842e343c22fa5277a236f6115a1dcfe4..4c3adac8a8e5f87fa42f514b1626b84b9fb9b7d7 100644
--- a/taskcluster/gecko_taskgraph/util/docker.py
+++ b/taskcluster/gecko_taskgraph/util/docker.py
@@ -272,7 +272,7 @@ class ImagePathsMap(Mapping):
 
     def __init__(self, config_path, image_dir=IMAGE_DIR):
         config = load_yaml(GECKO, config_path)
-        self.__update_image_paths(config["jobs"], image_dir)
+        self.__update_image_paths(config["tasks"], image_dir)
 
     def __getitem__(self, key):
         return self.__dict__[key]
diff --git a/taskcluster/gecko_taskgraph/util/partners.py b/taskcluster/gecko_taskgraph/util/partners.py
index f4b8b187cfa8aac27a146d11b4b41d4877b4886c..f1fa6af84440c593813436d7f562b25c1b4c5a8f 100644
--- a/taskcluster/gecko_taskgraph/util/partners.py
+++ b/taskcluster/gecko_taskgraph/util/partners.py
@@ -12,10 +12,10 @@ from urllib.parse import urlencode
 import requests
 import yaml
 from redo import retry
+from taskgraph.util.copy import deepcopy
 from taskgraph.util.schema import resolve_keyed_by
 
 from gecko_taskgraph.util.attributes import release_level
-from gecko_taskgraph.util.copy_task import copy_task
 
 # Suppress chatty requests logging
 logging.getLogger("requests").setLevel(logging.WARNING)
@@ -391,7 +391,7 @@ def get_partner_config_by_kind(config, kind):
         elif kind.startswith("release-partner-attribution") and isinstance(
             kind_config, dict
         ):
-            all_configs = copy_task(kind_config.get("configs", []))
+            all_configs = deepcopy(kind_config.get("configs", []))
             kind_config["configs"] = []
             for this_config in all_configs:
                 if this_config["campaign"] in partner_subset:
@@ -400,7 +400,7 @@ def get_partner_config_by_kind(config, kind):
 
 
 def _fix_subpartner_locales(orig_config, all_locales):
-    subpartner_config = copy_task(orig_config)
+    subpartner_config = deepcopy(orig_config)
     # Get an ordered list of subpartner locales that is a subset of all_locales
     subpartner_config["locales"] = sorted(
         list(set(orig_config["locales"]) & set(all_locales))
@@ -465,7 +465,7 @@ def locales_per_build_platform(build_platform, locales):
 
 
 def get_partner_url_config(parameters, graph_config):
-    partner_url_config = copy_task(graph_config["partner-urls"])
+    partner_url_config = deepcopy(graph_config["partner-urls"])
     substitutions = {
         "release-product": parameters["release_product"],
         "release-level": release_level(parameters["project"]),
diff --git a/taskcluster/gecko_taskgraph/util/scriptworker.py b/taskcluster/gecko_taskgraph/util/scriptworker.py
index 14813bb3c7c35d28e83acac6f56dd809cde76622..f99e918243d931778dcd0fab7650a2b3a7047461 100644
--- a/taskcluster/gecko_taskgraph/util/scriptworker.py
+++ b/taskcluster/gecko_taskgraph/util/scriptworker.py
@@ -23,12 +23,11 @@ from datetime import datetime
 
 import jsone
 from mozbuild.util import memoize
+from taskgraph.util.copy import deepcopy
 from taskgraph.util.schema import resolve_keyed_by
 from taskgraph.util.taskcluster import get_artifact_prefix
 from taskgraph.util.yaml import load_yaml
 
-from gecko_taskgraph.util.copy_task import copy_task
-
 # constants {{{1
 """Map signing scope aliases to sets of projects.
 
@@ -453,7 +452,7 @@ def generate_beetmover_upstream_artifacts(
             "platform": platform,
         },
     )
-    map_config = copy_task(cached_load_yaml(job["attributes"]["artifact_map"]))
+    map_config = deepcopy(cached_load_yaml(job["attributes"]["artifact_map"]))
     upstream_artifacts = list()
 
     if not locale:
@@ -497,7 +496,7 @@ def generate_beetmover_upstream_artifacts(
             if "partials_only" in map_config["mapping"][filename]:
                 continue
             # The next time we look at this file it might be a different locale.
-            file_config = copy_task(map_config["mapping"][filename])
+            file_config = deepcopy(map_config["mapping"][filename])
             resolve_keyed_by(
                 file_config,
                 "source_path_modifier",
@@ -589,7 +588,7 @@ def generate_beetmover_artifact_map(config, job, **kwargs):
             "platform": platform,
         },
     )
-    map_config = copy_task(cached_load_yaml(job["attributes"]["artifact_map"]))
+    map_config = deepcopy(cached_load_yaml(job["attributes"]["artifact_map"]))
     base_artifact_prefix = map_config.get(
         "base_artifact_prefix", get_artifact_prefix(job)
     )
@@ -637,8 +636,8 @@ def generate_beetmover_artifact_map(config, job, **kwargs):
             if "partials_only" in map_config["mapping"][filename]:
                 continue
 
-            # copy_task because the next time we look at this file the locale will differ.
-            file_config = copy_task(map_config["mapping"][filename])
+            # deepcopy because the next time we look at this file the locale will differ.
+            file_config = deepcopy(map_config["mapping"][filename])
 
             for field in [
                 "destinations",
@@ -691,7 +690,7 @@ def generate_beetmover_artifact_map(config, job, **kwargs):
             continue
 
         # Render all variables for the artifact map
-        platforms = copy_task(map_config.get("platform_names", {}))
+        platforms = deepcopy(map_config.get("platform_names", {}))
         if platform:
             for key in platforms.keys():
                 resolve_keyed_by(platforms, key, job["label"], platform=platform)
@@ -750,7 +749,7 @@ def generate_beetmover_partials_artifact_map(config, job, partials_info, **kwarg
             "platform": platform,
         },
     )
-    map_config = copy_task(cached_load_yaml(job["attributes"]["artifact_map"]))
+    map_config = deepcopy(cached_load_yaml(job["attributes"]["artifact_map"]))
     base_artifact_prefix = map_config.get(
         "base_artifact_prefix", get_artifact_prefix(job)
     )
@@ -767,7 +766,7 @@ def generate_beetmover_partials_artifact_map(config, job, partials_info, **kwarg
         map_config, "s3_bucket_paths", "s3_bucket_paths", platform=platform
     )
 
-    platforms = copy_task(map_config.get("platform_names", {}))
+    platforms = deepcopy(map_config.get("platform_names", {}))
     if platform:
         for key in platforms.keys():
             resolve_keyed_by(platforms, key, key, platform=platform)
@@ -785,8 +784,8 @@ def generate_beetmover_partials_artifact_map(config, job, partials_info, **kwarg
                 continue
             if "partials_only" not in map_config["mapping"][filename]:
                 continue
-            # copy_task because the next time we look at this file the locale will differ.
-            file_config = copy_task(map_config["mapping"][filename])
+            # deepcopy because the next time we look at this file the locale will differ.
+            file_config = deepcopy(map_config["mapping"][filename])
 
             for field in [
                 "destinations",
diff --git a/taskcluster/gecko_taskgraph/util/templates.py b/taskcluster/gecko_taskgraph/util/templates.py
deleted file mode 100644
index e6640a7edd11c4bb6c80dee8bee5aae57fa47b23..0000000000000000000000000000000000000000
--- a/taskcluster/gecko_taskgraph/util/templates.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-
-from gecko_taskgraph.util.copy_task import copy_task
-
-
-def merge_to(source, dest):
-    """
-    Merge dict and arrays (override scalar values)
-
-    Keys from source override keys from dest, and elements from lists in source
-    are appended to lists in dest.
-
-    :param dict source: to copy from
-    :param dict dest: to copy to (modified in place)
-    """
-
-    for key, value in source.items():
-        if (
-            isinstance(value, dict)
-            and len(value) == 1
-            and list(value)[0].startswith("by-")
-        ):
-            # Do not merge by-* values as this is likely to confuse someone
-            dest[key] = value
-            continue
-
-        # Override mismatching or empty types
-        if type(value) != type(dest.get(key)):  # noqa
-            dest[key] = value
-            continue
-
-        # Merge dict
-        if isinstance(value, dict):
-            merge_to(value, dest[key])
-            continue
-
-        if isinstance(value, list):
-            dest[key] = dest[key] + value
-            continue
-
-        dest[key] = value
-
-    return dest
-
-
-def merge(*objects):
-    """
-    Merge the given objects, using the semantics described for merge_to, with
-    objects later in the list taking precedence.  From an inheritance
-    perspective, "parents" should be listed before "children".
-
-    Returns the result without modifying any arguments.
-    """
-    if len(objects) == 1:
-        return copy_task(objects[0])
-    return merge_to(objects[-1], merge(*objects[:-1]))
diff --git a/taskcluster/kinds/addon/kind.yml b/taskcluster/kinds/addon/kind.yml
index eb24cf6a41fae515be1496af795107aabfa4b18a..e8223be560be9999dbbd636cd868665b085ee371 100644
--- a/taskcluster/kinds/addon/kind.yml
+++ b/taskcluster/kinds/addon/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     # non-system python
@@ -12,10 +12,10 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     use-python: default
 
-jobs:
+tasks:
     tps-xpi:
         description: Build the TPS add-on
         index:
diff --git a/taskcluster/kinds/android-l10n/kind.yml b/taskcluster/kinds/android-l10n/kind.yml
index 774be4053c94628775f71f0e40c22c6f2d5f9e3f..cb9a87e96e73a04bb07e2f2d78ef4c932a8d54e5 100644
--- a/taskcluster/kinds/android-l10n/kind.yml
+++ b/taskcluster/kinds/android-l10n/kind.yml
@@ -2,12 +2,12 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     run-on-projects: []
     treeherder:
         kind: build
@@ -21,7 +21,7 @@ job-defaults:
         dontbuild: false
         push: true
 
-jobs:
+tasks:
     import:
         name: android_l10n_import
         description: Import strings from android-l10n repo
diff --git a/taskcluster/kinds/android-startup-test/kind.yml b/taskcluster/kinds/android-startup-test/kind.yml
index 463a3aa0daf30f64cf9619ac61110a74c2f87c4c..29beb09bc66cfc9c60b71afce9868ed437a4b87d 100644
--- a/taskcluster/kinds/android-startup-test/kind.yml
+++ b/taskcluster/kinds/android-startup-test/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.job:transforms
@@ -11,7 +11,7 @@ transforms:
 kind-dependencies:
     - signing-apk
 
-job-defaults:
+task-defaults:
     description: Runs UI tests for sanity checking startup on Nightly
     treeherder:
         kind: test
@@ -33,7 +33,7 @@ job-defaults:
         use-caches: false
     run-on-projects: []
 
-jobs:
+tasks:
     fenix-arm64-v8a-nightly-robo-opt:
         attributes:
             build-type: fenix-nightly
diff --git a/taskcluster/kinds/artifact-build/kind.yml b/taskcluster/kinds/artifact-build/kind.yml
index 5029597c4eb7764917966cc3a442b56d354fe9ed..320e1db9a2ad3f2581d0d3af109dd4f415565228 100644
--- a/taskcluster/kinds/artifact-build/kind.yml
+++ b/taskcluster/kinds/artifact-build/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - fetch
@@ -16,7 +16,7 @@ transforms:
     - gecko_taskgraph.transforms.artifact:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     index:
         product: firefox
     treeherder:
@@ -42,7 +42,7 @@ job-defaults:
         keep-artifacts: false
     use-python: default
 
-jobs:
+tasks:
     linux64-artifact/opt:
         description: "Linux64 Opt Artifact Build"
         index:
diff --git a/taskcluster/kinds/attribution-l10n/kind.yml b/taskcluster/kinds/attribution-l10n/kind.yml
index 48774cb1f6f8bb2d195a9a26f14d7a130ba4db92..65e0bbbaee79b12124d177b0c3cf8c35d852e1bf 100644
--- a/taskcluster/kinds/attribution-l10n/kind.yml
+++ b/taskcluster/kinds/attribution-l10n/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.attribution:resolve_keyed_by_transforms
@@ -19,7 +19,7 @@ kind-dependencies:
     # Mac
     - repackage-l10n
 
-job-defaults:
+task-defaults:
     description: Attribute release builds
     shipping-phase: promote
     # never run as part of CI
@@ -101,7 +101,7 @@ job-defaults:
                     - __MOZCUSTOM__dlsource%3D{attribution_code[json][dlsource]}
     use-python: default
 
-jobs:
+tasks:
     win32-devedition/opt:
         label: attribution-win32-{locale}-devedition/opt
         shipping-product: devedition
diff --git a/taskcluster/kinds/attribution/kind.yml b/taskcluster/kinds/attribution/kind.yml
index 9fac5ac71ddb1ed3cdd2e9709ebd25f807bbc55c..da8d958ce76e2e87a567bea70a495c24434c3c55 100644
--- a/taskcluster/kinds/attribution/kind.yml
+++ b/taskcluster/kinds/attribution/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.attribution:resolve_keyed_by_transforms
@@ -18,7 +18,7 @@ kind-dependencies:
     # Mac
     - repackage
 
-job-defaults:
+task-defaults:
     description: Attribute release builds
     shipping-phase: promote
     # never run as part of CI
@@ -86,7 +86,7 @@ job-defaults:
                     - __MOZCUSTOM__dlsource%3D{attribution_code[json][dlsource]}
     use-python: default
 
-jobs:
+tasks:
     win32-devedition/opt:
         label: attribution-win32-devedition/opt
         shipping-product: devedition
diff --git a/taskcluster/kinds/balrog/kind.yml b/taskcluster/kinds/balrog/kind.yml
index 8b970e5ed35be25f42fc832ce04e3e6fe047d346..2310ba0ac4ee1b9a630a1112e5f0cab5e986c6ba 100644
--- a/taskcluster/kinds/balrog/kind.yml
+++ b/taskcluster/kinds/balrog/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -26,7 +26,7 @@ not-for-build-platforms:
     - android-x86-shippable/opt
     - android-aarch64-shippable/opt
 
-jobs:
+tasks:
     balrog:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/beetmover-android-app/kind.yml b/taskcluster/kinds/beetmover-android-app/kind.yml
index 59ef9cb1495f37a16f4c5e3c39204667340bc5fc..16aa2e95c633a2138a1d688742a50cfbf53e3aca 100644
--- a/taskcluster/kinds/beetmover-android-app/kind.yml
+++ b/taskcluster/kinds/beetmover-android-app/kind.yml
@@ -2,7 +2,7 @@
 # license, v. 2.0. if a copy of the mpl was not distributed with this
 # file, you can obtain one at http://mozilla.org/mpl/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -15,7 +15,7 @@ kind-dependencies:
     - signing-apk
     - signing-bundle
 
-jobs:
+tasks:
     beetmover:
         from-deps:
             with-attributes:
diff --git a/taskcluster/kinds/beetmover-apt/kind.yml b/taskcluster/kinds/beetmover-apt/kind.yml
index f19fe59fb1ec3ee7ac760195af4faece602971f7..d0dc44210df9c5437fdc9c57a2d2d7c928c428d8 100644
--- a/taskcluster/kinds/beetmover-apt/kind.yml
+++ b/taskcluster/kinds/beetmover-apt/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -20,7 +20,7 @@ only-for-build-platforms:
     - linux-devedition/opt
     - linux64-devedition/opt
 
-jobs:
+tasks:
     beetmover-apt:
         from-deps:
             group-by: single-with-filters
@@ -28,3 +28,4 @@ jobs:
             - nightly
             - beta
             - release
+            - esr128
diff --git a/taskcluster/kinds/beetmover-checksums/kind.yml b/taskcluster/kinds/beetmover-checksums/kind.yml
index 7ecf79ea585f6e862bcce63b6ead9fbcee6be757..cab29f14c011423c1532defd889de82671011adc 100644
--- a/taskcluster/kinds/beetmover-checksums/kind.yml
+++ b/taskcluster/kinds/beetmover-checksums/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -17,7 +17,7 @@ only-for-attributes:
     - nightly
     - shippable
 
-jobs:
+tasks:
     beetmover-checksums:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/beetmover-components/kind.yml b/taskcluster/kinds/beetmover-components/kind.yml
index f0b08be8eb87c75d5dd2616c7106ff00b70be8f5..f0b408b254422c33e29da8a679013226b14c3ae4 100644
--- a/taskcluster/kinds/beetmover-components/kind.yml
+++ b/taskcluster/kinds/beetmover-components/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -16,7 +16,7 @@ kind-dependencies:
     - build-components
     - post-signing-dummy
 
-jobs:
+tasks:
     push-to-maven:
         description: Publish component
         from-deps:
diff --git a/taskcluster/kinds/beetmover-geckoview/kind.yml b/taskcluster/kinds/beetmover-geckoview/kind.yml
index d37316c5dabfae2e4b58fa22d28b6a1113149f8b..e222ff82a8b95482aaa04d5a244a4e226bc9dedf 100644
--- a/taskcluster/kinds/beetmover-geckoview/kind.yml
+++ b/taskcluster/kinds/beetmover-geckoview/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -37,7 +37,7 @@ not-for-build-platforms:
     - linux64-asan-reporter-shippable/opt
     - win64-asan-reporter-shippable/opt
 
-jobs:
+tasks:
     beetmover-geckoview:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/beetmover-repackage/kind.yml b/taskcluster/kinds/beetmover-repackage/kind.yml
index e037f5ca8687b4f97c5c7b8d2ce1f3c830bfc71e..468fb71f6b231eddc067f8fe5f840e0b7e3f181e 100644
--- a/taskcluster/kinds/beetmover-repackage/kind.yml
+++ b/taskcluster/kinds/beetmover-repackage/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -54,7 +54,7 @@ only-for-build-platforms:
     - linux64-asan-reporter-shippable/opt
     - win64-asan-reporter-shippable/opt
 
-jobs:
+tasks:
     beetmover-repackage:
         from-deps:
             group-by: single-locale
diff --git a/taskcluster/kinds/beetmover-source/kind.yml b/taskcluster/kinds/beetmover-source/kind.yml
index cd86d812b5462841966239a3f2aea719b36c8cff..c43652cc3efdde6b53ccb0d597577b55595d91a6 100644
--- a/taskcluster/kinds/beetmover-source/kind.yml
+++ b/taskcluster/kinds/beetmover-source/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -14,7 +14,7 @@ transforms:
 kind-dependencies:
     - release-source-signing
 
-jobs:
+tasks:
     beetmover-source:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/bootstrap/kind.yml b/taskcluster/kinds/bootstrap/kind.yml
index 0ce8f8f68aeb615730741073e1a44798c5050299..1792eaf1388fc862d8991f1e7aecca0f4942bc5d 100644
--- a/taskcluster/kinds/bootstrap/kind.yml
+++ b/taskcluster/kinds/bootstrap/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -11,7 +11,7 @@ transforms:
     - gecko_taskgraph.transforms.bootstrap:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-jobs:
+tasks:
     debian11:
         image: debian:bullseye
         pre-commands:
diff --git a/taskcluster/kinds/bouncer-locations/kind.yml b/taskcluster/kinds/bouncer-locations/kind.yml
index 4234939369e54fa145782e6688ad4f02f8e69d1a..4cb1cba4c05686de6968d46da7b914db36dc68a1 100644
--- a/taskcluster/kinds/bouncer-locations/kind.yml
+++ b/taskcluster/kinds/bouncer-locations/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - post-beetmover-dummy
@@ -13,7 +13,7 @@ transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     description: nightly bouncer locations job
     attributes:
         shippable: true
@@ -34,7 +34,7 @@ job-defaults:
         kind: other
         tier: 1
 
-jobs:
+tasks:
     firefox:
         run-on-releases: ['nightly']
         run-on-projects: ['mozilla-central']
diff --git a/taskcluster/kinds/build-apk/kind.yml b/taskcluster/kinds/build-apk/kind.yml
index ef909b2c44758bad587dd864c4386bc1561a8088..01082441dfdc868508ad93f75e0e4bac4e0a0d65 100644
--- a/taskcluster/kinds/build-apk/kind.yml
+++ b/taskcluster/kinds/build-apk/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - android_taskgraph.transforms.build_android_app:transforms
@@ -14,7 +14,7 @@ kind-dependencies:
     - toolchain
     - build-fat-aar
 
-job-defaults:
+task-defaults:
     apk-artifact-template:
         type: file
         name: 'public/build/target.{abi}.apk'
@@ -23,7 +23,7 @@ job-defaults:
         build_platform: android
 
 
-jobs:
+tasks:
     focus-debug:
         attributes:
             shipping-product: focus
diff --git a/taskcluster/kinds/build-bundle/kind.yml b/taskcluster/kinds/build-bundle/kind.yml
index 7db4cfdd81d63e88c50774d457ed1a9174464d09..471d8f43bbfdfb18909a21c8e0acb32c9d786862 100644
--- a/taskcluster/kinds/build-bundle/kind.yml
+++ b/taskcluster/kinds/build-bundle/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - android_taskgraph.transforms.build_android_app:transforms
@@ -14,7 +14,7 @@ kind-dependencies:
     - toolchain
     - build-fat-aar
 
-job-defaults:
+task-defaults:
     aab-artifact-template:
         type: file
         name: 'public/build/target.aab'
@@ -27,7 +27,7 @@ job-defaults:
             - -Paab
 
 
-jobs:
+tasks:
     focus-debug:
         attributes:
             shipping-product: focus
diff --git a/taskcluster/kinds/build-components/kind.yml b/taskcluster/kinds/build-components/kind.yml
index 52793cb3f1873e56bc4616064a2227ef04fc9609..c416c371f4636e3f10f0f5553bd35f3331993e68 100644
--- a/taskcluster/kinds/build-components/kind.yml
+++ b/taskcluster/kinds/build-components/kind.yml
@@ -17,7 +17,7 @@ kind-dependencies:
     - toolchain
     - build-fat-aar
 
-job-defaults:
+task-defaults:
     artifact-template:
         type: file
         name: public/build/{artifact_file_name}
diff --git a/taskcluster/kinds/build-fat-aar/kind.yml b/taskcluster/kinds/build-fat-aar/kind.yml
index 38d40efc92c11757d4454c18d3fc8651d716ffd1..6e5dcd9843276a515c7442a6858a8443007dadfb 100644
--- a/taskcluster/kinds/build-fat-aar/kind.yml
+++ b/taskcluster/kinds/build-fat-aar/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - build
@@ -18,7 +18,7 @@ transforms:
     - gecko_taskgraph.transforms.artifact:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     attributes:
         artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml
     index:
@@ -100,7 +100,7 @@ job-defaults:
             - sysroot-x86_64-linux-gnu
             - sysroot-wasm32-wasi
 
-jobs:
+tasks:
     android-geckoview-fat-aar-shippable/opt:
         description: "Android GeckoView multi-architecture fat AAR Shippable"
         attributes:
diff --git a/taskcluster/kinds/build-mac-notarization/kind.yml b/taskcluster/kinds/build-mac-notarization/kind.yml
index 910d6a1797fe33bfc4f7c36362a145e52f0ba39d..cd33373c549b23303f31ff14bd59089485327987 100644
--- a/taskcluster/kinds/build-mac-notarization/kind.yml
+++ b/taskcluster/kinds/build-mac-notarization/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -17,7 +17,7 @@ kind-dependencies:
 only-for-attributes:
     - shippable
 
-jobs:
+tasks:
     build-mac-notarization:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/build-mac-signing/kind.yml b/taskcluster/kinds/build-mac-signing/kind.yml
index d90813cd966da02ba926d0cc05d24a277e738c78..541604f307982e59161727f28a203858a63dd06b 100644
--- a/taskcluster/kinds/build-mac-signing/kind.yml
+++ b/taskcluster/kinds/build-mac-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -25,7 +25,7 @@ only-for-build-platforms:
     - macosx64/debug
     - macosx64-aarch64/debug
 
-jobs:
+tasks:
     build-mac-signing:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/build-samples-browser/kind.yml b/taskcluster/kinds/build-samples-browser/kind.yml
index 6d1d903321a6d8e8f1c2c6e4908a1ab07de63c50..5cdf99284a430991e9630c06c4d36adc08bffc66 100644
--- a/taskcluster/kinds/build-samples-browser/kind.yml
+++ b/taskcluster/kinds/build-samples-browser/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - android_taskgraph.transforms.build_components:transforms
@@ -15,7 +15,7 @@ kind-dependencies:
     - build-fat-aar
 
 
-job-defaults:
+task-defaults:
     attributes:
         build_platform: android
         build-type: regular
@@ -49,7 +49,7 @@ job-defaults:
         env:
             ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux
 
-jobs:
+tasks:
     gecko:
         run:
             gradlew:
diff --git a/taskcluster/kinds/build-signing/kind.yml b/taskcluster/kinds/build-signing/kind.yml
index 7e4bbab419a1c75d8ba75256ee1a21cffe5655bb..f2b54cb02f95741f3caf252941d73e270857806d 100644
--- a/taskcluster/kinds/build-signing/kind.yml
+++ b/taskcluster/kinds/build-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps:transforms
@@ -28,7 +28,7 @@ not-for-build-platforms:
     - macosx64/debug
     - macosx64-aarch64/debug
 
-jobs:
+tasks:
     build-signing:
         from-deps:
             group-by: platform
diff --git a/taskcluster/kinds/build/android-asan.yml b/taskcluster/kinds/build/android-asan.yml
index 4cc846decefa70d42f965076901e96f889725ef2..175be8a45ac3ae4236d1b89ee114f5249d905471 100644
--- a/taskcluster/kinds/build/android-asan.yml
+++ b/taskcluster/kinds/build/android-asan.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     attributes:
         artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml
         maven_packages:
diff --git a/taskcluster/kinds/build/android-stuff.yml b/taskcluster/kinds/build/android-stuff.yml
index 52bed7b18f4054db705ae4c2ce323e843fd85677..b3acc7d79328f583690eabdecbb4d8aed111b03f 100644
--- a/taskcluster/kinds/build/android-stuff.yml
+++ b/taskcluster/kinds/build/android-stuff.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     tags:
         android-stuff: "true"
     run:
diff --git a/taskcluster/kinds/build/android.yml b/taskcluster/kinds/build/android.yml
index 7c37b2680f014bfc656b0b2a93a4a612d0b372e7..9605e2a36a0972e60b1bfee6241084c35583d8a0 100644
--- a/taskcluster/kinds/build/android.yml
+++ b/taskcluster/kinds/build/android.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     attributes:
         artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml
         maven_packages:
diff --git a/taskcluster/kinds/build/ios.yml b/taskcluster/kinds/build/ios.yml
index 1e8c18caab0902242f686348818a82a86d7ae3bf..9163b997612d0e5d07491dd66796c8284f08dc1d 100644
--- a/taskcluster/kinds/build/ios.yml
+++ b/taskcluster/kinds/build/ios.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     index:
         product: firefox
     treeherder:
diff --git a/taskcluster/kinds/build/kind.yml b/taskcluster/kinds/build/kind.yml
index 2e49ca18c5effa18fe376ed31855a53e1a839454..63268fbe9ec00ce1cc65c1477245a093899e8175 100644
--- a/taskcluster/kinds/build/kind.yml
+++ b/taskcluster/kinds/build/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -20,7 +20,7 @@ transforms:
     - gecko_taskgraph.transforms.artifact:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-jobs-from:
+tasks-from:
     - android.yml
     - android-asan.yml
     - android-stuff.yml
@@ -32,7 +32,7 @@ jobs-from:
     - windows.yml
     - windows-mingw.yml
 
-job-defaults:
+task-defaults:
     worker:
         env:
             MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
diff --git a/taskcluster/kinds/build/linux-base-toolchains.yml b/taskcluster/kinds/build/linux-base-toolchains.yml
index 1cde0b229ff45f147bb12b66f829c804989c9e42..f2abfbe010e76cccc01ee78d8a25e69adbc20add 100644
--- a/taskcluster/kinds/build/linux-base-toolchains.yml
+++ b/taskcluster/kinds/build/linux-base-toolchains.yml
@@ -4,9 +4,9 @@
 #
 # We have these build jobs in a separate file because their definitions are
 # different enough from the main Linux build jobs that their presence in
-# linux.yml would make using job-defaults there significantly less useful.
+# linux.yml would make using task-defaults there significantly less useful.
 ---
-job-defaults:
+task-defaults:
     worker-type: b-linux-gcp
     run:
         extra-config:
diff --git a/taskcluster/kinds/build/linux.yml b/taskcluster/kinds/build/linux.yml
index 0b9ef1759322adb450faa23942337662c25bba14..7016781662f56bf7566db0ad65187e957f0c4c79 100644
--- a/taskcluster/kinds/build/linux.yml
+++ b/taskcluster/kinds/build/linux.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: b-linux-gcp
 
 linux64/opt:
diff --git a/taskcluster/kinds/build/macosx-native.yml b/taskcluster/kinds/build/macosx-native.yml
index ad77b6e5aa3e0b64ea2d3212134558a8db61c1c0..6270190c43f60a842eaf8364b4091495ade6478e 100644
--- a/taskcluster/kinds/build/macosx-native.yml
+++ b/taskcluster/kinds/build/macosx-native.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     index:
         product: firefox
     worker-type: b-osx-1015
diff --git a/taskcluster/kinds/build/macosx.yml b/taskcluster/kinds/build/macosx.yml
index c9e3bd78a98a1242e2782854175bb928fa225771..8012d0fe77c9be1f031073221c5558f1ab99253f 100644
--- a/taskcluster/kinds/build/macosx.yml
+++ b/taskcluster/kinds/build/macosx.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     index:
         product: firefox
     worker-type: b-linux-gcp
diff --git a/taskcluster/kinds/build/windows-mingw.yml b/taskcluster/kinds/build/windows-mingw.yml
index d4ba373924ed51f774eed726faa27e73a6f566d0..c63c0c8cf4d7807d2053c0b29d3765d701e73898 100644
--- a/taskcluster/kinds/build/windows-mingw.yml
+++ b/taskcluster/kinds/build/windows-mingw.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: b-linux-gcp
     worker:
         max-run-time: 7200
diff --git a/taskcluster/kinds/build/windows.yml b/taskcluster/kinds/build/windows.yml
index af0bebb4f0b575766d2970e3250711c92885ebca..172329fb0b8a93cde3e4b9e2ab0fd0e21f0fb397 100644
--- a/taskcluster/kinds/build/windows.yml
+++ b/taskcluster/kinds/build/windows.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     run:
         using: mozharness
     fetches:
diff --git a/taskcluster/kinds/code-review/kind.yml b/taskcluster/kinds/code-review/kind.yml
index 16586e5a20be494a9183bf95689b4d2498f2c90e..e77da14c27a2f7d38091803b2b3565c559b8a594 100644
--- a/taskcluster/kinds/code-review/kind.yml
+++ b/taskcluster/kinds/code-review/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.code_review:transforms
@@ -13,10 +13,10 @@ kind-dependencies:
     - source-test
     - toolchain
 
-job-defaults:
+task-defaults:
     use-python: default
 
-jobs:
+tasks:
     issues:
         label: code-review-issues
         description: List all issues found in static analysis and linting tasks
diff --git a/taskcluster/kinds/condprof/kind.yml b/taskcluster/kinds/condprof/kind.yml
index d1e50620c89560cb49977c2af77bde8a0c17433b..f8970d2b3d0ed64627845edfee2611a9a3b18f4e 100644
--- a/taskcluster/kinds/condprof/kind.yml
+++ b/taskcluster/kinds/condprof/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - build
@@ -13,7 +13,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     treeherder:
         kind: other
         tier: 2
@@ -30,7 +30,7 @@ job-defaults:
         taskcluster-proxy: true
         max-run-time: 10800
     use-python: default
-jobs:
+tasks:
     windows2012-64-firefox:
         worker-type: b-win2022
         description: Creates or updates conditioned profiles on Win64
diff --git a/taskcluster/kinds/cron-bouncer-check/kind.yml b/taskcluster/kinds/cron-bouncer-check/kind.yml
index d98ad39abf65200b800b47baceb2e7143b9924bb..d37d9c241bafc28c4e164a6f4b3e89e950b6e4e9 100644
--- a/taskcluster/kinds/cron-bouncer-check/kind.yml
+++ b/taskcluster/kinds/cron-bouncer-check/kind.yml
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.bouncer_check:transforms
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: bouncer-check
     description: bouncer check
     worker-type: b-linux-gcp
@@ -29,7 +29,7 @@ job-defaults:
         kind: test
         tier: 1
 
-jobs:
+tasks:
     firefox:
         shipping-product: firefox
         index:
diff --git a/taskcluster/kinds/diffoscope/artifacts.yml b/taskcluster/kinds/diffoscope/artifacts.yml
index a89dfcbfee6fd254417fbd00a36cdf9e5fcf86bb..2e22bacaa4e600e6a9ccb7949a1c4d04a680f739 100644
--- a/taskcluster/kinds/diffoscope/artifacts.yml
+++ b/taskcluster/kinds/diffoscope/artifacts.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     # Artifact builds always build with nightly branding, so these checks don't
     # work on non-trunk branches.
     run-on-projects: ['trunk']
diff --git a/taskcluster/kinds/diffoscope/kind.yml b/taskcluster/kinds/diffoscope/kind.yml
index 89b38fc665fe94ac896a6ee036a592f9ec568257..5f2d640010dfb95eaa422def20531a533230472c 100644
--- a/taskcluster/kinds/diffoscope/kind.yml
+++ b/taskcluster/kinds/diffoscope/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - artifact-build
@@ -21,7 +21,7 @@ transforms:
 # Note: the .chk excludes are for files that are known to differ between
 # builds because they are signed with an ephemeral private key that is
 # generated for each build.
-job-defaults:
+task-defaults:
     tier: 2
     args: >-
         --output-empty
@@ -31,7 +31,7 @@ job-defaults:
         --exclude-directory-metadata=yes
         --exclude-command .--line-numbers
 
-jobs-from:
+tasks-from:
     - artifacts.yml
     - reproducible.yml
 
@@ -40,7 +40,7 @@ jobs-from:
 # from other sets through an index-search. Other kinds than `build` can be
 # compared (for example, static-analysis), provided you adjust the
 # kind-dependencies above.
-# jobs:
+# tasks:
 #     android-build-vs-previous-try:
 #         symbol: A
 #         new: build-android-arm/opt
diff --git a/taskcluster/kinds/diffoscope/reproducible.yml b/taskcluster/kinds/diffoscope/reproducible.yml
index 4f89bfca4eeee129eb9738ead1a979e30e1b9251..776e89b970fc52002c967927948681e51da0a79e 100644
--- a/taskcluster/kinds/diffoscope/reproducible.yml
+++ b/taskcluster/kinds/diffoscope/reproducible.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     fail-on-diff: true
     run-on-projects: ['mozilla-central']
 
diff --git a/taskcluster/kinds/docker-image/kind.yml b/taskcluster/kinds/docker-image/kind.yml
index 22b18cf16f46d17d4640a581acc3c040a7035ecd..c3441c757f0a1b1fd251213d775d0eddf2c3cfda 100644
--- a/taskcluster/kinds/docker-image/kind.yml
+++ b/taskcluster/kinds/docker-image/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - packages
@@ -17,7 +17,7 @@ transforms:
 # (to use subdirectory clones of the proper directory), at which point we can
 # generate tasks for every docker image in the directory, secure in the
 # knowledge that unnecessary images will be omitted from the target task graph
-jobs:
+tasks:
     image_builder:
         symbol: I(ib)
     # Neither the ubuntu1804-*raw nor the ubuntu1804-*packages images can have
diff --git a/taskcluster/kinds/fetch/cft-chromedriver-fetch.yml b/taskcluster/kinds/fetch/cft-chromedriver-fetch.yml
index 0a01b82e9be4e252e3d0c24ff15f487c787a9df2..f856afbc2d9b0f8a7941ebd3accfa7089c6bb69c 100644
--- a/taskcluster/kinds/fetch/cft-chromedriver-fetch.yml
+++ b/taskcluster/kinds/fetch/cft-chromedriver-fetch.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     fetch:
         type: cft-chromedriver-fetch
         script: /builds/worker/bin/fetch-cft-chromedriver.py
diff --git a/taskcluster/kinds/fetch/chromium-fetch.yml b/taskcluster/kinds/fetch/chromium-fetch.yml
index f99e1325cdbb8306021cae4915d9b174c816d9be..598a190dde96ef14302c7e9ff385df78f2363147 100644
--- a/taskcluster/kinds/fetch/chromium-fetch.yml
+++ b/taskcluster/kinds/fetch/chromium-fetch.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     fetch:
         type: chromium-fetch
         script: /builds/worker/bin/fetch-chromium.py
diff --git a/taskcluster/kinds/fetch/kind.yml b/taskcluster/kinds/fetch/kind.yml
index 60596aa4c1b100cb59bf216ff75d27e4d9c7a312..072af91f74fa139829484ed1cab402a721a60242 100644
--- a/taskcluster/kinds/fetch/kind.yml
+++ b/taskcluster/kinds/fetch/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.fetch:transforms
@@ -10,7 +10,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-jobs-from:
+tasks-from:
     - benchmarks.yml
     - browsertime.yml
     - chromium-fetch.yml
diff --git a/taskcluster/kinds/fuzzing/kind.yml b/taskcluster/kinds/fuzzing/kind.yml
index 444240c619949565f1b6354e4c2958d8ccd9468a..0dd968fb1cdf9124f3985ec63ee70ed1de6b2529 100644
--- a/taskcluster/kinds/fuzzing/kind.yml
+++ b/taskcluster/kinds/fuzzing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.source_test:transforms
@@ -15,7 +15,7 @@ kind-dependencies:
     - toolchain
     - build
 
-job-defaults:
+task-defaults:
     worker-type: b-linux-gcp
     worker:
         max-run-time: 3600
@@ -29,7 +29,7 @@ job-defaults:
         substitution-fields: []
     if-dependencies: [build]
 
-jobs:
+tasks:
     simple:
         platform: linux64/opt
         require-build:
diff --git a/taskcluster/kinds/fxrecord/kind.yml b/taskcluster/kinds/fxrecord/kind.yml
index 42a9011fff758067bc68519b0ff9ca0cadb11ec7..e76d91b89c75d8ae2f9d6a0cc405af9be60037ae 100644
--- a/taskcluster/kinds/fxrecord/kind.yml
+++ b/taskcluster/kinds/fxrecord/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - build
@@ -17,7 +17,7 @@ transforms:
     - gecko_taskgraph.transforms.release_notifications
     - gecko_taskgraph.transforms.task
 
-jobs:
+tasks:
     fxrecord:
         name: notify-fxrecord-failure
         description: "Desktop Startup Visual Metrics"
diff --git a/taskcluster/kinds/geckodriver-mac-notarization/kind.yml b/taskcluster/kinds/geckodriver-mac-notarization/kind.yml
index a90e6faa2e26b1fad6d1bf6394c60f10f73a55e7..9d15add0727cc78d6aeca55c7a1c381964a14583 100644
--- a/taskcluster/kinds/geckodriver-mac-notarization/kind.yml
+++ b/taskcluster/kinds/geckodriver-mac-notarization/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -18,7 +18,7 @@ only-for-build-platforms:
     - macosx64-geckodriver/opt
     - macosx64-aarch64-geckodriver/opt
 
-jobs:
+tasks:
     geckodriver-mac-notarization:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/geckodriver-signing/kind.yml b/taskcluster/kinds/geckodriver-signing/kind.yml
index 08007495e53cf6573d011322e81647742d502813..7f6f9ccdfe371def26a616355d81393f1fff378b 100644
--- a/taskcluster/kinds/geckodriver-signing/kind.yml
+++ b/taskcluster/kinds/geckodriver-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - toolchain
 
-jobs:
+tasks:
     geckodriver-signing:
         from-deps:
             with-attributes:
diff --git a/taskcluster/kinds/generate-profile/kind.yml b/taskcluster/kinds/generate-profile/kind.yml
index 35d751ca804415cd56fa0641dc82434110f8de6d..4b5ceafe93586715deff52c598e14ef27251e876 100644
--- a/taskcluster/kinds/generate-profile/kind.yml
+++ b/taskcluster/kinds/generate-profile/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -17,14 +17,14 @@ transforms:
     - gecko_taskgraph.transforms.task:transforms
 
 
-job-defaults:
+task-defaults:
     treeherder:
         symbol: Bpgo(run)
         kind: build
         tier: 1
     use-python: default
 
-jobs:
+tasks:
     linux-shippable/opt:
         description: "Linux Profile Generation"
         shipping-phase: build
diff --git a/taskcluster/kinds/hazard/kind.yml b/taskcluster/kinds/hazard/kind.yml
index 495f6b10cc266e41670e7d8947c0f1ab85e60174..98096af3f59fc5aed01191bb345086d63385c90b 100644
--- a/taskcluster/kinds/hazard/kind.yml
+++ b/taskcluster/kinds/hazard/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -14,7 +14,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     attributes:
         retrigger: true
     treeherder:
@@ -26,7 +26,7 @@ job-defaults:
         docker-image: {in-tree: debian12-amd64-build}
     use-python: default
 
-jobs:
+tasks:
     linux64-shell-haz/debug:
         description: "JS Shell Hazard Analysis Linux"
         index:
diff --git a/taskcluster/kinds/instrumented-build/kind.yml b/taskcluster/kinds/instrumented-build/kind.yml
index 048bea725ff829e5f97f9d531ebdc465d13f60fa..875068d9803c3bca5af72fb09e589076ef79eeb6 100644
--- a/taskcluster/kinds/instrumented-build/kind.yml
+++ b/taskcluster/kinds/instrumented-build/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -17,7 +17,7 @@ transforms:
     - gecko_taskgraph.transforms.artifact:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     shipping-phase: build
     treeherder:
         symbol: Bpgo(instr)
@@ -41,7 +41,7 @@ job-defaults:
         toolchain:
             - linux64-sccache
 
-jobs:
+tasks:
     linux-shippable/opt:
         description: "Linux Instrumented"
         index:
diff --git a/taskcluster/kinds/l10n-bump/kind.yml b/taskcluster/kinds/l10n-bump/kind.yml
index 5ff826df633c8edf32a659866fa73477c11ce9e0..183b621e5f97fef6dbb12e21854a74f2007387b5 100644
--- a/taskcluster/kinds/l10n-bump/kind.yml
+++ b/taskcluster/kinds/l10n-bump/kind.yml
@@ -2,13 +2,13 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_version_bump:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     worker-type: tree
     worker:
         implementation: treescript
@@ -159,7 +159,7 @@ job-defaults:
                               },
                           ]
 
-jobs:
+tasks:
     l10n-bumper:
         name: l10n_bumper
         description: l10n changesets bumper
diff --git a/taskcluster/kinds/l10n-cross-channel/kind.yml b/taskcluster/kinds/l10n-cross-channel/kind.yml
index da30306599617aee8b530f6be68dd87b89d904d1..7ffc2ae4e23b3b4795cf318a872768454e38adc4 100644
--- a/taskcluster/kinds/l10n-cross-channel/kind.yml
+++ b/taskcluster/kinds/l10n-cross-channel/kind.yml
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.cross_channel:transforms
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-jobs:
+tasks:
     quarantine:
         description: Push strings from all shipping trains to the quarantine strings repo
         run-on-projects: []
diff --git a/taskcluster/kinds/l10n/kind.yml b/taskcluster/kinds/l10n/kind.yml
index eeb0b2c54ee51f1f2246055304e0a11ba8c0a339..1a452b546fef886774892836c710f1749fdea0c7 100644
--- a/taskcluster/kinds/l10n/kind.yml
+++ b/taskcluster/kinds/l10n/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -25,7 +25,7 @@ only-for-build-platforms:
     - win32-shippable/opt
     - win64-shippable/opt
 
-jobs:
+tasks:
     l10n:
         description: Localization
         from-deps:
diff --git a/taskcluster/kinds/mar-signing-autograph-stage/kind.yml b/taskcluster/kinds/mar-signing-autograph-stage/kind.yml
index 711c28c44bc6cbc5ad0145cc8cfe4a0356376f66..409dcc6570abfd7804e88671a12f8686a3bda459 100644
--- a/taskcluster/kinds/mar-signing-autograph-stage/kind.yml
+++ b/taskcluster/kinds/mar-signing-autograph-stage/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -16,7 +16,7 @@ kind-dependencies:
 only-for-build-platforms:
     - linux64-shippable/opt
 
-jobs:
+tasks:
     mar-signing-autograph-stage:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/mar-signing-l10n/kind.yml b/taskcluster/kinds/mar-signing-l10n/kind.yml
index 8016833c1583bf0680183a2829d7c04bd598e8fe..be1e45c4b1f16a9bfee52bde70d3127857a9a705 100644
--- a/taskcluster/kinds/mar-signing-l10n/kind.yml
+++ b/taskcluster/kinds/mar-signing-l10n/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -29,7 +29,7 @@ only-for-build-platforms:
     - win64-devedition/opt
     - win64-aarch64-devedition/opt
 
-jobs:
+tasks:
     mar-signing-l10n:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/mar-signing/kind.yml b/taskcluster/kinds/mar-signing/kind.yml
index e0feeaa0ff4c83c21895e8f8e1651cee41874801..d19fd1bde0edda14b523a61929f92b0421d2dae2 100644
--- a/taskcluster/kinds/mar-signing/kind.yml
+++ b/taskcluster/kinds/mar-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -30,7 +30,7 @@ only-for-build-platforms:
     - linux64-asan-reporter-shippable/opt
     - win64-asan-reporter-shippable/opt
 
-jobs:
+tasks:
     mar-signing:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/maybe-release/kind.yml b/taskcluster/kinds/maybe-release/kind.yml
index 8664e521684a1dbbab3e3944d44520837129466d..b6fba6975d8b7cd09a57d3aaf6b7a422395d1aeb 100644
--- a/taskcluster/kinds/maybe-release/kind.yml
+++ b/taskcluster/kinds/maybe-release/kind.yml
@@ -2,13 +2,13 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.maybe_release:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     description: Check recent releases and trigger a new ship-it phase if worthwhile.
     worker-type: shipit
     worker:
@@ -27,7 +27,7 @@ job-defaults:
         tier: 1
         kind: build
 
-jobs:
+tasks:
     firefox:
         name: maybe-release-firefox
         shipping-product: firefox
diff --git a/taskcluster/kinds/merge-automation/kind.yml b/taskcluster/kinds/merge-automation/kind.yml
index bd238b9f4ec6b3460e074fe5ae41ffc32d73b3ca..28e6e119cbd5d0707be8f44b51488c5d2378bda9 100644
--- a/taskcluster/kinds/merge-automation/kind.yml
+++ b/taskcluster/kinds/merge-automation/kind.yml
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.merge_automation:transforms
     - gecko_taskgraph.transforms.task:transforms
 
 
-jobs:
+tasks:
     merge-automation:
         name: merge-automation
         label: merge-automation
diff --git a/taskcluster/kinds/openh264-plugin/kind.yml b/taskcluster/kinds/openh264-plugin/kind.yml
index e8459df438fdab83b2ce95b09135497e7f8c2a4f..6cd441115e19691d21b49ada4d04a69a2bbb7c3d 100644
--- a/taskcluster/kinds/openh264-plugin/kind.yml
+++ b/taskcluster/kinds/openh264-plugin/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -12,7 +12,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     description: "Build OpenH264 plugin"
     treeherder:
         kind: build
@@ -25,7 +25,7 @@ job-defaults:
     worker:
         chain-of-trust: true
 
-jobs:
+tasks:
     linux32/opt:
         attributes:
             build_platform: linux32
diff --git a/taskcluster/kinds/openh264-signing/kind.yml b/taskcluster/kinds/openh264-signing/kind.yml
index e4dc174cc77a806b389c745b754cd19df5e341d5..41938ec90378762df4bbcaa103001b46cc831af7 100644
--- a/taskcluster/kinds/openh264-signing/kind.yml
+++ b/taskcluster/kinds/openh264-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - openh264-plugin
 
-jobs:
+tasks:
     openh264-signing:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/packages/debian.yml b/taskcluster/kinds/packages/debian.yml
index 0a87ef67828e71e97dd7cc2ca5a4ea72ffaa8b33..10f9b3c273c36f03eb01080b9cd3b41d896aa97f 100644
--- a/taskcluster/kinds/packages/debian.yml
+++ b/taskcluster/kinds/packages/debian.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     run:
         using: debian-package
         dist: jessie
diff --git a/taskcluster/kinds/packages/kind.yml b/taskcluster/kinds/packages/kind.yml
index 5b21346de8ba0636d03878ab8bbf0d27a3d2eed2..bdb31c89cb7f004881b7f137883f684429c818d7 100644
--- a/taskcluster/kinds/packages/kind.yml
+++ b/taskcluster/kinds/packages/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.try_job:transforms
@@ -10,7 +10,7 @@ transforms:
     - gecko_taskgraph.transforms.cached_tasks:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     treeherder:
         kind: build
         platform: packages/opt
@@ -20,6 +20,6 @@ job-defaults:
         max-run-time: 1800
     run-on-projects: []
 
-jobs-from:
+tasks-from:
     - debian.yml
     - ubuntu.yml
diff --git a/taskcluster/kinds/packages/ubuntu.yml b/taskcluster/kinds/packages/ubuntu.yml
index d9bbd5f2ad208815569f223a42d0f9846dbf6e6d..ad78d35c8ed8aa8b4fbf84542fe9697a5e765770 100644
--- a/taskcluster/kinds/packages/ubuntu.yml
+++ b/taskcluster/kinds/packages/ubuntu.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     run:
         using: ubuntu-package
         dist: bionic
diff --git a/taskcluster/kinds/partials-signing/kind.yml b/taskcluster/kinds/partials-signing/kind.yml
index 2c2bf0a9a0d1af74f1dbe91110c7110ad9450956..3fd3d5b407c3de22719ba8476ee31d30e13d4de3 100644
--- a/taskcluster/kinds/partials-signing/kind.yml
+++ b/taskcluster/kinds/partials-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - partials
 
-jobs:
+tasks:
     partials-signing:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/partials/kind.yml b/taskcluster/kinds/partials/kind.yml
index a576aae177bd6865e6910e2e89ac2c4cbe968384..d2e4eeb2b9d108db4d023b855f3736a869cd3997 100644
--- a/taskcluster/kinds/partials/kind.yml
+++ b/taskcluster/kinds/partials/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -33,7 +33,7 @@ only-for-build-platforms:
     - linux64-aarch64-shippable/opt
     - linux64-devedition/opt
 
-jobs:
+tasks:
     partials:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/perftest/android.yml b/taskcluster/kinds/perftest/android.yml
index 30112d04c2364bd2bca3edb3dbddc0d08a991378..bdf13336bb2f1a770ee894e19fc2f30e1043971d 100644
--- a/taskcluster/kinds/perftest/android.yml
+++ b/taskcluster/kinds/perftest/android.yml
@@ -3,7 +3,7 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
 
-job-defaults:
+task-defaults:
     fetches:
         toolchain:
             - linux64-node
diff --git a/taskcluster/kinds/perftest/kind.yml b/taskcluster/kinds/perftest/kind.yml
index 645bc59673dbda806c5b4759ef80519e60b4ffa1..9fdcf60f396b0c1d9387b889d6aea6a30390c6f8 100644
--- a/taskcluster/kinds/perftest/kind.yml
+++ b/taskcluster/kinds/perftest/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -17,13 +17,13 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-jobs-from:
+tasks-from:
     - android.yml
     - linux.yml
     - macosx.yml
     - windows.yml
 
-job-defaults:
+task-defaults:
     attributes:
         retrigger: true
     run-on-projects: []
diff --git a/taskcluster/kinds/perftest/linux.yml b/taskcluster/kinds/perftest/linux.yml
index 0a5265850c77541579b1996558bd370d1171e2b9..542dfd49d89b8f7b837bcf2a1120ddaa843460ad 100644
--- a/taskcluster/kinds/perftest/linux.yml
+++ b/taskcluster/kinds/perftest/linux.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: t-linux-talos-1804
     fetches:
         toolchain:
diff --git a/taskcluster/kinds/perftest/macosx.yml b/taskcluster/kinds/perftest/macosx.yml
index 68942e8be33d6e65bffb3821d6dd2f966466984b..1dd5a9b0094bea739f30c78e619598c5d8a1de02 100644
--- a/taskcluster/kinds/perftest/macosx.yml
+++ b/taskcluster/kinds/perftest/macosx.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: t-osx-1015-r8
     fetches:
         build:
diff --git a/taskcluster/kinds/perftest/windows.yml b/taskcluster/kinds/perftest/windows.yml
index 52d047bcee5e17be291074038dba233208d8560b..42904de5adc93133c9469cd740007344699f4a3a 100644
--- a/taskcluster/kinds/perftest/windows.yml
+++ b/taskcluster/kinds/perftest/windows.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: t-win10-64-1803-hw
     fetches:
         build:
diff --git a/taskcluster/kinds/post-balrog-dummy/kind.yml b/taskcluster/kinds/post-balrog-dummy/kind.yml
index e1a9849bbc6b5bf0892b288bf9c5d142a30df2b3..80905de3f55a54af0d9c0a64649599e6b6179658 100644
--- a/taskcluster/kinds/post-balrog-dummy/kind.yml
+++ b/taskcluster/kinds/post-balrog-dummy/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - balrog
 
-jobs:
+tasks:
     post-balrog-dummy:
         description: Dummy task to deal with max_dependencies
         from-deps: {}
diff --git a/taskcluster/kinds/post-beetmover-checksums-dummy/kind.yml b/taskcluster/kinds/post-beetmover-checksums-dummy/kind.yml
index 40ff97dce863378343f41051bc95f8b38f146b6e..2b9b25e86141542b884a0bbad0ef2da51d354156 100644
--- a/taskcluster/kinds/post-beetmover-checksums-dummy/kind.yml
+++ b/taskcluster/kinds/post-beetmover-checksums-dummy/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.reverse_chunk_deps:transforms
@@ -14,7 +14,7 @@ kind-dependencies:
     - release-eme-free-repack-beetmover-checksums
     - release-beetmover-signed-langpacks-checksums
 
-jobs:
+tasks:
     firefox-promote:
         name: post-beetmover-checksums-dummy
         description: Dummy task to deal with max_dependencies
diff --git a/taskcluster/kinds/post-beetmover-components-dummy/kind.yml b/taskcluster/kinds/post-beetmover-components-dummy/kind.yml
index fc14f3cef05a1ff3be5555c5e3e9c749b44668c3..7d4dfa5f866d9f35129088a80354fad14c96ccc4 100644
--- a/taskcluster/kinds/post-beetmover-components-dummy/kind.yml
+++ b/taskcluster/kinds/post-beetmover-components-dummy/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - beetmover-components
 
-jobs:
+tasks:
     post-beetmover:
         description: Dummy task to wait on all builds before publishing them
         from-deps:
diff --git a/taskcluster/kinds/post-beetmover-dummy/kind.yml b/taskcluster/kinds/post-beetmover-dummy/kind.yml
index e5d50ce256864379719e010138d83d19991aba13..58d5d5fcca2d07466580bc94573f6c080a8f5749 100644
--- a/taskcluster/kinds/post-beetmover-dummy/kind.yml
+++ b/taskcluster/kinds/post-beetmover-dummy/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -14,7 +14,7 @@ kind-dependencies:
     - beetmover-checksums
     - beetmover-repackage
 
-jobs:
+tasks:
     post-beetmover-dummy:
         description: Dummy task to deal with max_dependencies
         from-deps: {}
diff --git a/taskcluster/kinds/post-langpack-dummy/kind.yml b/taskcluster/kinds/post-langpack-dummy/kind.yml
index 95fe9f7684db79323e6e3c670b66fff83cc1ad32..30ab6be66bb429f71760de72cb7ad323e91c6355 100644
--- a/taskcluster/kinds/post-langpack-dummy/kind.yml
+++ b/taskcluster/kinds/post-langpack-dummy/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.reverse_chunk_deps:transforms
@@ -11,7 +11,7 @@ transforms:
 kind-dependencies:
     - release-beetmover-signed-langpacks
 
-jobs:
+tasks:
     firefox-promote:
         name: post-langpack-dummy
         description: Dummy task to deal with max_dependencies
diff --git a/taskcluster/kinds/post-signing-dummy/kind.yml b/taskcluster/kinds/post-signing-dummy/kind.yml
index f7e20fed3720544505ec15463e57c43e8a033b54..5ec0cfc4e2b86102f25cae46cbb13c4adeb56eaa 100644
--- a/taskcluster/kinds/post-signing-dummy/kind.yml
+++ b/taskcluster/kinds/post-signing-dummy/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - signing
 
-jobs:
+tasks:
     post-signing-dummy:
         description: Dummy task to wait on all builds before publishing them
         from-deps:
diff --git a/taskcluster/kinds/post-update-verify-dummy/kind.yml b/taskcluster/kinds/post-update-verify-dummy/kind.yml
index 6d7bfb351522d91573ff4392bf00b2b4eb16928a..0ff3065cce3c0f173493e0f43128fcc8345857d7 100644
--- a/taskcluster/kinds/post-update-verify-dummy/kind.yml
+++ b/taskcluster/kinds/post-update-verify-dummy/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - release-update-verify
 
-jobs:
+tasks:
     post-update-verify-dummy:
         description: Dummy task to deal with max_dependencies
         from-deps: {}
diff --git a/taskcluster/kinds/push-bundle/kind.yml b/taskcluster/kinds/push-bundle/kind.yml
index de17e587580d0b70de63bca16ae2978db9b1dfb5..d14fdd9dcc5473a1d4facd9da0cce5b156673d63 100644
--- a/taskcluster/kinds/push-bundle/kind.yml
+++ b/taskcluster/kinds/push-bundle/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -16,7 +16,7 @@ kind-dependencies:
     - signing-bundle
     - android-startup-test
 
-jobs:
+tasks:
     push-bundle:
         description: Publish Fenix and Focus AABs
         from-deps:
diff --git a/taskcluster/kinds/release-balrog-scheduling/kind.yml b/taskcluster/kinds/release-balrog-scheduling/kind.yml
index ad38b0215787ec0052445d5d85a214f77cb93bac..93eb436bb8adf4ed3af0d65e96c5e2dfe9fe3f63 100644
--- a/taskcluster/kinds/release-balrog-scheduling/kind.yml
+++ b/taskcluster/kinds/release-balrog-scheduling/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -13,7 +13,7 @@ kind-dependencies:
     - release-bouncer-check
     - release-push-langpacks
 
-job-defaults:
+task-defaults:
     run-on-projects: []
     shipping-phase: ship
     worker-type: balrog
@@ -21,7 +21,7 @@ job-defaults:
         implementation: balrog
         balrog-action: schedule
 
-jobs:
+tasks:
     firefox:
         description: Schedule Firefox publishing in balrog
         name: release-firefox_schedule_publishing_in_balrog
diff --git a/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml b/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml
index a2b99ea98aef2868b4ed96de11208bc99a4ae1e4..9ca6cb264df218c7579f337d789f9482b0600529 100644
--- a/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml
+++ b/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release:run_on_releases
@@ -11,7 +11,7 @@ transforms:
     - gecko_taskgraph.transforms.balrog_toplevel:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     run-on-projects: []  # to make sure this never runs in CI
     shipping-phase: promote
     worker-type: balrog
@@ -29,7 +29,7 @@ job-defaults:
                 staging: dev.bouncer.nonprod.webservices.mozgcp.net
     whats-new-config: browser/config/whats_new_page.yml
 
-jobs:
+tasks:
     firefox:
         name: submit-toplevel-firefox-release-to-balrog
         description: Submit toplevel Firefox release to balrog
diff --git a/taskcluster/kinds/release-beetmover-push-to-release/kind.yml b/taskcluster/kinds/release-beetmover-push-to-release/kind.yml
index affc0f2c77f3f262a0504fc252de8de12bd24687..772d4c03e6f9896ae0cdef61022227fd10de8aa9 100644
--- a/taskcluster/kinds/release-beetmover-push-to-release/kind.yml
+++ b/taskcluster/kinds/release-beetmover-push-to-release/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -13,13 +13,13 @@ kind-dependencies:
     - release-generate-checksums-beetmover
     - post-update-verify-dummy
 
-job-defaults:
+task-defaults:
     run-on-projects: []
     shipping-phase: push
     worker:
         max-run-time: 2700
 
-jobs:
+tasks:
     devedition-push-to-release:
         name: devedition_push_to_release
         product: devedition
diff --git a/taskcluster/kinds/release-beetmover-signed-langpacks-checksums/kind.yml b/taskcluster/kinds/release-beetmover-signed-langpacks-checksums/kind.yml
index 473f711a2ac9ac20217dca5e31a07054901b318b..84cfc2f5131c4190b4fa2f2761c4641701c7b2b1 100644
--- a/taskcluster/kinds/release-beetmover-signed-langpacks-checksums/kind.yml
+++ b/taskcluster/kinds/release-beetmover-signed-langpacks-checksums/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - release-beetmover-signed-langpacks
 
-jobs:
+tasks:
     release-beetmover-signed-langpacks-checksums:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/release-beetmover-signed-langpacks/kind.yml b/taskcluster/kinds/release-beetmover-signed-langpacks/kind.yml
index 744198c4661620fea441b2740dab3edf442a5855..a3efed688001aafe4eeb8b8c5718ed7fde69dead 100644
--- a/taskcluster/kinds/release-beetmover-signed-langpacks/kind.yml
+++ b/taskcluster/kinds/release-beetmover-signed-langpacks/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -22,7 +22,7 @@ only-for-build-platforms:
     - linux64-shippable/opt
     - linux64-devedition/opt
 
-jobs:
+tasks:
     release-beetmover-signed-langpacks:
         description: Beetmover submission for platform-independent langpacks {locales} in {platform} directory
         from-deps:
diff --git a/taskcluster/kinds/release-beetmover-source-checksums/kind.yml b/taskcluster/kinds/release-beetmover-source-checksums/kind.yml
index d7a5bf828fe6a27789bfb337431f9ba1c5e097d6..9cc8a188be6bf377cc7152e999bf8bf5c3b29152 100644
--- a/taskcluster/kinds/release-beetmover-source-checksums/kind.yml
+++ b/taskcluster/kinds/release-beetmover-source-checksums/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - release-source-checksums-signing
 
-jobs:
+tasks:
     release-beetmover-source-checksums:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/release-bouncer-aliases/kind.yml b/taskcluster/kinds/release-bouncer-aliases/kind.yml
index 27fe35afb6a3438989bafcae691378ee8ecaee85..e46ee4a91df013aea63abb2bf9b786cab328648a 100644
--- a/taskcluster/kinds/release-bouncer-aliases/kind.yml
+++ b/taskcluster/kinds/release-bouncer-aliases/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -12,7 +12,7 @@ transforms:
 kind-dependencies:
     - release-bouncer-check
 
-job-defaults:
+task-defaults:
     description: Update bouncer aliases job
     worker-type: bouncer
     worker:
@@ -32,7 +32,7 @@ job-defaults:
         kind: test
         tier: 1
 
-jobs:
+tasks:
     devedition:
         bouncer-products-per-alias:
             firefox-devedition-latest-ssl: installer-ssl
diff --git a/taskcluster/kinds/release-bouncer-check/kind.yml b/taskcluster/kinds/release-bouncer-check/kind.yml
index 7b7133ffd534b9d84412406a990fb789e23119f0..3f0e47fb5c2a2fdae6b4de7c38e9fd4bf22fb30e 100644
--- a/taskcluster/kinds/release-bouncer-check/kind.yml
+++ b/taskcluster/kinds/release-bouncer-check/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - release-beetmover-push-to-release
@@ -13,7 +13,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: release-bouncer-check
     description: release bouncer check
     run-on-projects: []  # to make sure this never runs as part of CI
@@ -44,7 +44,7 @@ job-defaults:
         kind: test
         tier: 1
 
-jobs:
+tasks:
     firefox:
         shipping-product: firefox
         index:
diff --git a/taskcluster/kinds/release-bouncer-sub/kind.yml b/taskcluster/kinds/release-bouncer-sub/kind.yml
index 131b41b0a7b7678063678d2637ec560c286e87d7..d93b46800514a4502211aeb4d1456c4c2d95f82b 100644
--- a/taskcluster/kinds/release-bouncer-sub/kind.yml
+++ b/taskcluster/kinds/release-bouncer-sub/kind.yml
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release:run_on_releases
     - gecko_taskgraph.transforms.bouncer_submission:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     description: release bouncer submission job
     worker-type: bouncer
     worker:
@@ -30,7 +30,7 @@ job-defaults:
         kind: test
         tier: 1
 
-jobs:
+tasks:
     devedition:
         bouncer-platforms: ['linux', 'linux64', 'osx', 'win', 'win64', 'win64-aarch64']
         bouncer-products: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'stub-installer', 'msi', 'msix']
diff --git a/taskcluster/kinds/release-early-tagging/kind.yml b/taskcluster/kinds/release-early-tagging/kind.yml
index 775bb4ed7e44461c1c264ff873d2ebeca90d5239..ff4fac5d035f0bdbdc5934a80400e4a0671c51a0 100644
--- a/taskcluster/kinds/release-early-tagging/kind.yml
+++ b/taskcluster/kinds/release-early-tagging/kind.yml
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
     - gecko_taskgraph.transforms.release_version_bump:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     description: Release Promotion version tag for buildN
     run-on-projects: []
     shipping-phase: promote
@@ -26,7 +26,7 @@ job-defaults:
                 default: false
 
 
-jobs:
+tasks:
     firefox:
         name: firefox-tag-buildN
         shipping-product: firefox
diff --git a/taskcluster/kinds/release-eme-free-repack-beetmover-checksums/kind.yml b/taskcluster/kinds/release-eme-free-repack-beetmover-checksums/kind.yml
index c75a85ac544ff5c4037000874d3b62075bf12701..0caa6356578131491f5377ef844cf1c07b84c524 100644
--- a/taskcluster/kinds/release-eme-free-repack-beetmover-checksums/kind.yml
+++ b/taskcluster/kinds/release-eme-free-repack-beetmover-checksums/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -18,7 +18,7 @@ only-for-build-platforms:
     - win32-shippable/opt
     - win64-shippable/opt
 
-jobs:
+tasks:
     release-eme-free-repack-beetmover-checksums:
         from-deps: {}
         shipping-phase: promote
diff --git a/taskcluster/kinds/release-eme-free-repack-beetmover/kind.yml b/taskcluster/kinds/release-eme-free-repack-beetmover/kind.yml
index 7a33d0fb69843302132ed62fb439120589f7b43c..4d12f77c7684442ca538ace3d1096a6a9b7d059e 100644
--- a/taskcluster/kinds/release-eme-free-repack-beetmover/kind.yml
+++ b/taskcluster/kinds/release-eme-free-repack-beetmover/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -18,7 +18,7 @@ only-for-build-platforms:
     - win32-shippable/opt
     - win64-shippable/opt
 
-jobs:
+tasks:
     release-eme-free-repack-beetmover:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/release-eme-free-repack-mac-notarization/kind.yml b/taskcluster/kinds/release-eme-free-repack-mac-notarization/kind.yml
index ff04daf61d4b67139c0d3104c842cfeb26858017..460a6e2be2290b9c03690b10f562ca265e43f987 100644
--- a/taskcluster/kinds/release-eme-free-repack-mac-notarization/kind.yml
+++ b/taskcluster/kinds/release-eme-free-repack-mac-notarization/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -18,7 +18,7 @@ kind-dependencies:
 only-for-build-platforms:
     - macosx64-shippable/opt
 
-jobs:
+tasks:
     release-eme-free-repack-mac-notarization:
         from-deps:
             group-by: partner-repack-ids
diff --git a/taskcluster/kinds/release-eme-free-repack-mac-signing/kind.yml b/taskcluster/kinds/release-eme-free-repack-mac-signing/kind.yml
index 84d0e17dd1f5b6a640e8659313f840cdd66aa67f..47cc8dd98746de7d46977d6ba6bd091a0452f559 100644
--- a/taskcluster/kinds/release-eme-free-repack-mac-signing/kind.yml
+++ b/taskcluster/kinds/release-eme-free-repack-mac-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -19,7 +19,7 @@ kind-dependencies:
 only-for-build-platforms:
     - macosx64-shippable/opt
 
-jobs:
+tasks:
     release-eme-free-repack-mac-signing:
         from-deps:
             group-by: partner-repack-ids
diff --git a/taskcluster/kinds/release-eme-free-repack-repackage-signing/kind.yml b/taskcluster/kinds/release-eme-free-repack-repackage-signing/kind.yml
index c3697612027a6b4e5118375c7bddb52726901582..b1624d7a04da4d6b5de1c34058dfd31480e2769b 100644
--- a/taskcluster/kinds/release-eme-free-repack-repackage-signing/kind.yml
+++ b/taskcluster/kinds/release-eme-free-repack-repackage-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -18,7 +18,7 @@ only-for-build-platforms:
     - win64-shippable/opt
     - macosx64-shippable/opt
 
-jobs:
+tasks:
     release-eme-free-repack-repackage-signing:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/release-eme-free-repack-repackage/kind.yml b/taskcluster/kinds/release-eme-free-repack-repackage/kind.yml
index 78bc18fe6d2fab1f61658bc456620f5761905d7e..7a6b5a2281455658bfcf747d844e91d7ec8ec6a8 100644
--- a/taskcluster/kinds/release-eme-free-repack-repackage/kind.yml
+++ b/taskcluster/kinds/release-eme-free-repack-repackage/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -24,7 +24,7 @@ only-for-build-platforms:
     - win32-shippable/opt
     - win64-shippable/opt
 
-jobs:
+tasks:
     release-eme-free-repack-repackage:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/release-eme-free-repack/kind.yml b/taskcluster/kinds/release-eme-free-repack/kind.yml
index cc3e85071b9f39ed7e05bc7081fb8f86a6851608..3338c0cf7cd0bf47e51c121993384b9d4a43203b 100644
--- a/taskcluster/kinds/release-eme-free-repack/kind.yml
+++ b/taskcluster/kinds/release-eme-free-repack/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -18,7 +18,7 @@ kind-dependencies:
     - shippable-l10n-mac-signing
     - shippable-l10n-mac-notarization
 
-job-defaults:
+task-defaults:
     name: eme-free-repack
     description: Release Promotion eme-free repacks
     run-on-projects: []  # to make sure this never runs as part of CI
@@ -43,7 +43,7 @@ job-defaults:
                 staging: true
                 production: false
 
-jobs:
+tasks:
     macosx64-shippable:
         treeherder:
             symbol: EME
diff --git a/taskcluster/kinds/release-final-verify/kind.yml b/taskcluster/kinds/release-final-verify/kind.yml
index b1319665cd39fc3142a58bff1587049c07587d16..8217dea234cc6e7a7473e6bb30c40bcb045b0fb3 100644
--- a/taskcluster/kinds/release-final-verify/kind.yml
+++ b/taskcluster/kinds/release-final-verify/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - release-bouncer-check
@@ -14,7 +14,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: final-verify
     run-on-projects: []  # to make sure this never runs as part of CI
     worker-type: b-linux-gcp
@@ -25,7 +25,7 @@ job-defaults:
         retry-exit-status: [1]
 
 
-jobs:
+tasks:
     firefox:
         description: final verify
         shipping-phase: push
diff --git a/taskcluster/kinds/release-flatpak-push/kind.yml b/taskcluster/kinds/release-flatpak-push/kind.yml
index 94e0e42c1652a4a4d6eeaa9f714c2a3884d3a835..bc41608eca868cb6b157709149a288a5ac9d229c 100644
--- a/taskcluster/kinds/release-flatpak-push/kind.yml
+++ b/taskcluster/kinds/release-flatpak-push/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release:run_on_releases
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - release-flatpak-repackage
 
-job-defaults:
+task-defaults:
     description: Pushes Flatpaks onto Flathub
     run-on-projects: []  # to make sure this never runs as part of CI
     run-on-releases: [beta, release, release-rc]
@@ -31,7 +31,7 @@ job-defaults:
                 release: stable
                 default: mock
 
-jobs:
+tasks:
     firefox:
         shipping-product: firefox
         flathub-scope: "flathub:firefox"
diff --git a/taskcluster/kinds/release-flatpak-repackage/kind.yml b/taskcluster/kinds/release-flatpak-repackage/kind.yml
index ecc86bf4ab0302aad371b8abfd9baaa12756bfa2..573081df1dc94a132889528769ad4ccf278d7e0f 100644
--- a/taskcluster/kinds/release-flatpak-repackage/kind.yml
+++ b/taskcluster/kinds/release-flatpak-repackage/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release:run_on_releases
@@ -14,7 +14,7 @@ kind-dependencies:
     - post-beetmover-dummy
     - post-langpack-dummy
 
-job-defaults:
+task-defaults:
     description: Generates flatpak by reackaging the existing tar.bz2
     run-on-projects: []  # to make sure this never runs as part of CI
     run-on-releases: [beta, release, release-rc]
@@ -56,7 +56,7 @@ job-defaults:
                     default: beta
         chain-of-trust: true
 
-jobs:
+tasks:
     firefox:
         shipping-product: firefox
         attributes:
diff --git a/taskcluster/kinds/release-generate-checksums-beetmover/kind.yml b/taskcluster/kinds/release-generate-checksums-beetmover/kind.yml
index ca998ea2f266adaf89eba5031a7a6eb0a5addf4d..1cf7e88cb598056fc77da2692c1ab18ea0dd22da 100644
--- a/taskcluster/kinds/release-generate-checksums-beetmover/kind.yml
+++ b/taskcluster/kinds/release-generate-checksums-beetmover/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -12,7 +12,7 @@ transforms:
 kind-dependencies:
     - release-generate-checksums-signing
 
-jobs:
+tasks:
     release-generate-checksums-beetmover:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/release-generate-checksums-signing/kind.yml b/taskcluster/kinds/release-generate-checksums-signing/kind.yml
index a86b4c8dc5a42cc0d417b0414c6f9038fe754afa..560f56f3655648df89691e1d9a095fdb3fda3174 100644
--- a/taskcluster/kinds/release-generate-checksums-signing/kind.yml
+++ b/taskcluster/kinds/release-generate-checksums-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - release-generate-checksums
@@ -12,7 +12,7 @@ transforms:
     - gecko_taskgraph.transforms.release_generate_checksums_signing
     - gecko_taskgraph.transforms.task
 
-jobs:
+tasks:
     release-generate-checksums-signing:
         from-deps: {}
         shipping-phase: promote
diff --git a/taskcluster/kinds/release-generate-checksums/kind.yml b/taskcluster/kinds/release-generate-checksums/kind.yml
index 71018c8cefa49758c10258151ed15ddb0025ff93..3e714aaff87ddd9e08f11727553804869306eeb5 100644
--- a/taskcluster/kinds/release-generate-checksums/kind.yml
+++ b/taskcluster/kinds/release-generate-checksums/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - beetmover-source
@@ -16,7 +16,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: generate-checksums
     description: generates checksums
     run-on-projects: []  # to make sure this never runs as part of CI
@@ -50,7 +50,7 @@ job-defaults:
         kind: test
         tier: 1
 
-jobs:
+tasks:
     firefox:
         shipping-product: firefox
         attributes:
diff --git a/taskcluster/kinds/release-mark-as-shipped/kind.yml b/taskcluster/kinds/release-mark-as-shipped/kind.yml
index 05faa3f88ea0dd7b1e58b18476427675cdf0aa17..294ae444bf06ee27ad12e7ee451b0b72c1dae425 100644
--- a/taskcluster/kinds/release-mark-as-shipped/kind.yml
+++ b/taskcluster/kinds/release-mark-as-shipped/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -14,7 +14,7 @@ kind-dependencies:
     - release-bouncer-aliases
     - release-version-bump
 
-job-defaults:
+task-defaults:
     description: mark release as shipped in Ship-It
     worker-type: shipit
     worker:
@@ -30,7 +30,7 @@ job-defaults:
     run-on-projects: []
     shipping-phase: ship
 
-jobs:
+tasks:
     firefox:
         name: release-firefox_mark_as_shipped
         shipping-product: firefox
diff --git a/taskcluster/kinds/release-msix-push/kind.yml b/taskcluster/kinds/release-msix-push/kind.yml
index 39de997bef2fec2ef5c793c6990620028ae456f0..c3965beaa6170ef4048307fa621ac2983b9b65ce 100644
--- a/taskcluster/kinds/release-msix-push/kind.yml
+++ b/taskcluster/kinds/release-msix-push/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release:run_on_releases
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - repackage-shippable-l10n-msix
 
-job-defaults:
+task-defaults:
     description: Pushes msix archives to Microsoft Store
     run-on-projects: []  # to make sure this never runs as part of CI
     run-on-releases: [beta, release, release-rc]
@@ -35,7 +35,7 @@ job-defaults:
                 beta: Immediate
                 default: Manual
 
-jobs:
+tasks:
     firefox:
         shipping-product: firefox
         treeherder:
diff --git a/taskcluster/kinds/release-notify-av-announce/kind.yml b/taskcluster/kinds/release-notify-av-announce/kind.yml
index 45a0e5db53df25dc6bdc848f5b5f26fc0bcd8401..a7afdd595c7b7a9e725d06da41db9313cdcd9000 100644
--- a/taskcluster/kinds/release-notify-av-announce/kind.yml
+++ b/taskcluster/kinds/release-notify-av-announce/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -12,7 +12,7 @@ transforms:
 kind-dependencies:
     - post-beetmover-dummy
 
-job-defaults:
+task-defaults:
     name: notify-av-announce
     description: Sends email to antivirus vendors telling them that the release is available for scanning.
     run-on-projects: []
@@ -33,7 +33,7 @@ job-defaults:
                 try: ["{config[params][owner]}"]
                 default: []
 
-jobs:
+tasks:
     firefox:
         shipping-product: firefox
     devedition:
diff --git a/taskcluster/kinds/release-notify-promote/kind.yml b/taskcluster/kinds/release-notify-promote/kind.yml
index bc53da5a491b524104e25d9265e16b61c4b494c7..53a3db04245b604a96ca6eadc4c7fb39f92913a8 100644
--- a/taskcluster/kinds/release-notify-promote/kind.yml
+++ b/taskcluster/kinds/release-notify-promote/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -16,7 +16,7 @@ kind-dependencies:
     - signing-apk
     - signing-bundle
 
-job-defaults:
+task-defaults:
     name: notify-release-drivers-promote
     description: Sends email to release-drivers telling release was promoted.
     run-on-projects: []
@@ -31,7 +31,7 @@ job-defaults:
                 try: ["{config[params][owner]}"]
                 default: []
 
-jobs:
+tasks:
     firefox:
         shipping-product: firefox
     devedition:
diff --git a/taskcluster/kinds/release-notify-push/kind.yml b/taskcluster/kinds/release-notify-push/kind.yml
index be1a7b5be841390767faa5a894a802e45a0e9f98..b0bcecac8ebd856810d13b784d3af3cb8b65a78a 100644
--- a/taskcluster/kinds/release-notify-push/kind.yml
+++ b/taskcluster/kinds/release-notify-push/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -13,7 +13,7 @@ kind-dependencies:
     - release-beetmover-push-to-release
     - push-bundle
 
-job-defaults:
+task-defaults:
     name: notify-release-drivers-push
     description: Sends email to release-drivers telling release was pushed.
     run-on-projects: []
@@ -28,7 +28,7 @@ job-defaults:
                 try: ["{config[params][owner]}"]
                 default: []
 
-jobs:
+tasks:
     firefox:
         shipping-product: firefox
     devedition:
diff --git a/taskcluster/kinds/release-notify-ship/kind.yml b/taskcluster/kinds/release-notify-ship/kind.yml
index fe3eced6e77d475e241cecc91f1deb466b24dbbd..ade9f97a08eba38a21b332935fdaa90accff0b2c 100644
--- a/taskcluster/kinds/release-notify-ship/kind.yml
+++ b/taskcluster/kinds/release-notify-ship/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -17,7 +17,7 @@ kind-dependencies:
     - push-bundle
     - post-beetmover-components-dummy
 
-job-defaults:
+task-defaults:
     name: notify-release-drivers-ship
     description: Sends email to release-drivers telling release was shipped.
     run-on-projects: []
@@ -30,7 +30,7 @@ job-defaults:
                 try: ["{config[params][owner]}"]
                 default: []
 
-jobs:
+tasks:
     firefox:
         shipping-product: firefox
         notifications:
diff --git a/taskcluster/kinds/release-notify-started/kind.yml b/taskcluster/kinds/release-notify-started/kind.yml
index 929c07ec59e436f9b320e04c10c8f5744b9da204..146fdcd6abc252bf8d8d043c042d09bed15f7124 100644
--- a/taskcluster/kinds/release-notify-started/kind.yml
+++ b/taskcluster/kinds/release-notify-started/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -10,7 +10,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: notify-release-drivers-started
     description: Sends email to release-drivers telling release was started.
     run-on-projects: []
@@ -25,7 +25,7 @@ job-defaults:
             try: ["{config[params][owner]}"]
             default: []
 
-jobs:
+tasks:
     firefox:
         shipping-product: firefox
     devedition:
diff --git a/taskcluster/kinds/release-notify-testrail/kind.yml b/taskcluster/kinds/release-notify-testrail/kind.yml
index 5e4fa41307dc7c56ae28062a0c7987cad2e7df6f..9b70e7001cef0e846c1e2e1f18d661b9dcdd133b 100644
--- a/taskcluster/kinds/release-notify-testrail/kind.yml
+++ b/taskcluster/kinds/release-notify-testrail/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.test_apk
@@ -12,7 +12,7 @@ transforms:
 kind-dependencies:
     - ui-test-apk
 
-job-defaults:
+task-defaults:
     description: Sends Slack message to release testers that Testrail Milestone was created.
     treeherder:
         kind: other
@@ -45,7 +45,7 @@ job-defaults:
                 - notify:slack-channel:C02KDDS9QM9
             default: []
 
-jobs:
+tasks:
     create-milestone-focus:
         dependencies:
             ui-test-apk: ui-test-apk-focus-arm-beta
diff --git a/taskcluster/kinds/release-partner-attribution-beetmover/kind.yml b/taskcluster/kinds/release-partner-attribution-beetmover/kind.yml
index 2851ff7d376976308f048e70e149f8d8c44e9e9e..b8550c31918eb3a437cd8faa8d07b74d3a3220ba 100644
--- a/taskcluster/kinds/release-partner-attribution-beetmover/kind.yml
+++ b/taskcluster/kinds/release-partner-attribution-beetmover/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - release-partner-attribution
 
-jobs:
+tasks:
     release-partner-attribution-beetmover:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/release-partner-attribution/kind.yml b/taskcluster/kinds/release-partner-attribution/kind.yml
index 1da2656150e3daeb30e0d796a3ae17cec377e713..83c75e5d61b7066cbca37a6766376104d0dcfbca 100644
--- a/taskcluster/kinds/release-partner-attribution/kind.yml
+++ b/taskcluster/kinds/release-partner-attribution/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -15,7 +15,7 @@ kind-dependencies:
     - repackage-signing-l10n
 
 # move this into the single job ??
-job-defaults:
+task-defaults:
     name: partner-attribution
     description: Release Promotion partner attribution
     run-on-projects: []  # to make sure this never runs as part of CI
@@ -31,7 +31,7 @@ job-defaults:
         using: mach
         mach: python python/mozrelease/mozrelease/attribute_builds.py
 
-jobs:
+tasks:
     partner-attribution:
         attributes:
             build_platform: linux-shippable
diff --git a/taskcluster/kinds/release-partner-repack-beetmover/kind.yml b/taskcluster/kinds/release-partner-repack-beetmover/kind.yml
index 164446f6836a5f676837dd6a5b22f897db1d8070..51e91b5e2a68cbbca93fd733bd4651d54a58dc28 100644
--- a/taskcluster/kinds/release-partner-repack-beetmover/kind.yml
+++ b/taskcluster/kinds/release-partner-repack-beetmover/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -22,7 +22,7 @@ only-for-build-platforms:
     - win64-shippable/opt
     - win64-aarch64-shippable/opt
 
-jobs:
+tasks:
     release-partner-repack-beetmover:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/release-partner-repack-bouncer-sub/kind.yml b/taskcluster/kinds/release-partner-repack-bouncer-sub/kind.yml
index 98fa149810098932e2e9ae2e3b6d563f324632b8..539845aa93aaef04515615ec69bc4712f5ae2bf4 100644
--- a/taskcluster/kinds/release-partner-repack-bouncer-sub/kind.yml
+++ b/taskcluster/kinds/release-partner-repack-bouncer-sub/kind.yml
@@ -2,13 +2,13 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.bouncer_submission_partners:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     description: release partners bouncer submission job
     worker-type: bouncer
     worker:
@@ -29,7 +29,7 @@ job-defaults:
         kind: test
         tier: 1
 
-jobs:
+tasks:
     firefox:
         bouncer-platforms: ['linux', 'linux64', 'osx', 'win', 'win64', 'win64-aarch64']
         bouncer-products:
diff --git a/taskcluster/kinds/release-partner-repack-chunking-dummy/kind.yml b/taskcluster/kinds/release-partner-repack-chunking-dummy/kind.yml
index 49759313121d0faf7d541a2bc440b1ad411d9f32..70546dcac1bb9f9e78f3bc55ac039d856292c3a7 100644
--- a/taskcluster/kinds/release-partner-repack-chunking-dummy/kind.yml
+++ b/taskcluster/kinds/release-partner-repack-chunking-dummy/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -17,7 +17,7 @@ only-for-build-platforms:
     - linux-shippable/opt
     - linux64-shippable/opt
 
-jobs:
+tasks:
     release-partner-repack-chunking-dummy:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/release-partner-repack-mac-notarization/kind.yml b/taskcluster/kinds/release-partner-repack-mac-notarization/kind.yml
index ee7a78e54fbe794fe01d64fdd17ff13b90eaf5cb..89bfcc3cc599dfd54aa2c7e41038ddffc24f3fa6 100644
--- a/taskcluster/kinds/release-partner-repack-mac-notarization/kind.yml
+++ b/taskcluster/kinds/release-partner-repack-mac-notarization/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -18,7 +18,7 @@ kind-dependencies:
 only-for-build-platforms:
     - macosx64-shippable/opt
 
-jobs:
+tasks:
     release-partner-repack-mac-notarization:
         from-deps:
             group-by: partner-repack-ids
diff --git a/taskcluster/kinds/release-partner-repack-mac-signing/kind.yml b/taskcluster/kinds/release-partner-repack-mac-signing/kind.yml
index dec5189979ef9ffc47aad9be8886723d2060408c..13af4ca6b7c9e17124eb238c238c0938eac341cd 100644
--- a/taskcluster/kinds/release-partner-repack-mac-signing/kind.yml
+++ b/taskcluster/kinds/release-partner-repack-mac-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -19,7 +19,7 @@ kind-dependencies:
 only-for-build-platforms:
     - macosx64-shippable/opt
 
-jobs:
+tasks:
     release-partner-repack-mac-signing:
         from-deps:
             group-by: partner-repack-ids
diff --git a/taskcluster/kinds/release-partner-repack-repackage-signing/kind.yml b/taskcluster/kinds/release-partner-repack-repackage-signing/kind.yml
index 2242023f914d0fe84848ab6d0aab8799d3ad30b6..9c1001bab20a7376917ce8b0d03fa97653021cfd 100644
--- a/taskcluster/kinds/release-partner-repack-repackage-signing/kind.yml
+++ b/taskcluster/kinds/release-partner-repack-repackage-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -23,7 +23,7 @@ only-for-build-platforms:
     - win64-shippable/opt
     - win64-aarch64-shippable/opt
 
-jobs:
+tasks:
     release-partner-repack-repackage-signing:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/release-partner-repack-repackage/kind.yml b/taskcluster/kinds/release-partner-repack-repackage/kind.yml
index 099c55240f2279969ee9a60103a0cb3d337ede37..48da147a9dcdf167f8fc86939411a2f00f8cba23 100644
--- a/taskcluster/kinds/release-partner-repack-repackage/kind.yml
+++ b/taskcluster/kinds/release-partner-repack-repackage/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -25,7 +25,7 @@ only-for-build-platforms:
     - win64-shippable/opt
     - win64-aarch64-shippable/opt
 
-jobs:
+tasks:
     release-partner-repack-repackage:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/release-partner-repack/kind.yml b/taskcluster/kinds/release-partner-repack/kind.yml
index 2a5d2fc9965402b16fcc9034ac77a4804933a017..78b67c336c20f790282f6e3019eeea8016945fc7 100644
--- a/taskcluster/kinds/release-partner-repack/kind.yml
+++ b/taskcluster/kinds/release-partner-repack/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -18,7 +18,7 @@ kind-dependencies:
     - shippable-l10n-mac-signing
     - shippable-l10n-mac-notarization
 
-job-defaults:
+task-defaults:
     name: partner-repack
     description: Release Promotion partner repacks
     run-on-projects: []  # to make sure this never runs as part of CI
@@ -43,7 +43,7 @@ job-defaults:
                 staging: true
                 production: false
 
-jobs:
+tasks:
     linux-shippable:
         attributes:
             build_platform: linux-shippable
diff --git a/taskcluster/kinds/release-push-langpacks/kind.yml b/taskcluster/kinds/release-push-langpacks/kind.yml
index fbc5bcc8a9344aec810739190072dc9ce3bdd1a3..4d4f864aed556e6480f368d42cba5981835bdace 100644
--- a/taskcluster/kinds/release-push-langpacks/kind.yml
+++ b/taskcluster/kinds/release-push-langpacks/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -19,7 +19,7 @@ only-for-build-platforms:
     - macosx64-shippable/opt  # Although, we need the special locale "ja-JP-Mac" from this platform
     - macosx64-devedition/opt
 
-jobs:
+tasks:
     release-push-langpacks:
         description: Sends {locales} XPIs for platform to addons.mozilla.org
         from-deps:
diff --git a/taskcluster/kinds/release-secondary-balrog-scheduling/kind.yml b/taskcluster/kinds/release-secondary-balrog-scheduling/kind.yml
index 9a230639b9df9dfbe369ce7ae56a97163b7bdb36..bfad3d8a58efad319b524e23e535f81fa4e81fdc 100644
--- a/taskcluster/kinds/release-secondary-balrog-scheduling/kind.yml
+++ b/taskcluster/kinds/release-secondary-balrog-scheduling/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -14,7 +14,7 @@ kind-dependencies:
     - post-beetmover-dummy
     - release-secondary-balrog-submit-toplevel
 
-job-defaults:
+task-defaults:
     run-on-projects: []
     shipping-phase: ship
     worker-type: balrog
@@ -22,7 +22,7 @@ job-defaults:
         implementation: balrog
         balrog-action: schedule
 
-jobs:
+tasks:
     firefox-secondary-rc:
         description: Schedule Beta Firefox publishing in balrog
         name: release-firefox_schedule_publishing_in_balrog
diff --git a/taskcluster/kinds/release-secondary-balrog-submit-toplevel/kind.yml b/taskcluster/kinds/release-secondary-balrog-submit-toplevel/kind.yml
index d742b4fb61ccc2b0e62a59eeccd5c3f03492ebe7..e1c2f812d85ea2a7b4408e8826bf1fd4380d8210 100644
--- a/taskcluster/kinds/release-secondary-balrog-submit-toplevel/kind.yml
+++ b/taskcluster/kinds/release-secondary-balrog-submit-toplevel/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -10,7 +10,7 @@ transforms:
     - gecko_taskgraph.transforms.balrog_toplevel:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     run-on-projects: []  # to make sure this never runs in CI
     shipping-phase: promote
     worker-type: balrog
@@ -29,7 +29,7 @@ job-defaults:
                 staging: dev.bouncer.nonprod.webservices.mozgcp.net
     whats-new-config: browser/config/whats_new_page.yml
 
-jobs:
+tasks:
     firefox:
         name: submit-toplevel-rc-firefox-release-to-balrog
         description: submit toplevel RC Firefox release to balrog
diff --git a/taskcluster/kinds/release-secondary-final-verify/kind.yml b/taskcluster/kinds/release-secondary-final-verify/kind.yml
index 0d2e58d01dbc328356b0ddada8a195358f492530..1be5756cbc0a5fbf787a696f2c976c46e9a7fc03 100644
--- a/taskcluster/kinds/release-secondary-final-verify/kind.yml
+++ b/taskcluster/kinds/release-secondary-final-verify/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - post-balrog-dummy
@@ -16,7 +16,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: secondary-final-verify
     run-on-projects: []  # to make sure this never runs as part of CI
     worker-type: b-linux-gcp
@@ -26,7 +26,7 @@ job-defaults:
         max-run-time: 7200
         retry-exit-status: [1]
 
-jobs:
+tasks:
     firefox:
         description: secondary final verify
         shipping-phase: promote
diff --git a/taskcluster/kinds/release-secondary-flatpak-push/kind.yml b/taskcluster/kinds/release-secondary-flatpak-push/kind.yml
index 0f915d8d2658613c4530bb7c383bfd9cc870e752..cf6859851eb410d3ddf323be686bd618bc2a72a6 100644
--- a/taskcluster/kinds/release-secondary-flatpak-push/kind.yml
+++ b/taskcluster/kinds/release-secondary-flatpak-push/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release:run_on_releases
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - release-flatpak-repackage
 
-job-defaults:
+task-defaults:
     description: Pushes Flatpaks onto Flathub
     run-on-projects: []  # to make sure this never runs as part of CI
     run-on-releases: [release-rc]
@@ -27,7 +27,7 @@ job-defaults:
         implementation: push-flatpak
         channel: beta
 
-jobs:
+tasks:
     firefox-rc:
         shipping-product: firefox
         flathub-scope: "flathub:firefox"
diff --git a/taskcluster/kinds/release-secondary-notify-ship/kind.yml b/taskcluster/kinds/release-secondary-notify-ship/kind.yml
index ab9b20ed62e893e73c50216667eea50c1cd2b06d..c60ac8d5ecde66f4a50fa0c56df18540d1788e97 100644
--- a/taskcluster/kinds/release-secondary-notify-ship/kind.yml
+++ b/taskcluster/kinds/release-secondary-notify-ship/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -12,7 +12,7 @@ transforms:
 kind-dependencies:
     - release-secondary-balrog-scheduling
 
-job-defaults:
+task-defaults:
     name: notify-release-drivers-ship
     description: Sends email to release-drivers telling release was shipped.
     run-on-projects: []
@@ -26,7 +26,7 @@ job-defaults:
                 try: ["{config[params][owner]}"]
                 default: []
 
-jobs:
+tasks:
     firefox-rc:
         shipping-product: firefox
         notifications:
diff --git a/taskcluster/kinds/release-secondary-update-verify-config/kind.yml b/taskcluster/kinds/release-secondary-update-verify-config/kind.yml
index 7e28131a5e56403fb65835b0127ae2b089abb031..107151a0f1b3a08822d3d89b2fad93256de5f0f5 100644
--- a/taskcluster/kinds/release-secondary-update-verify-config/kind.yml
+++ b/taskcluster/kinds/release-secondary-update-verify-config/kind.yml
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.update_verify_config:transforms
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: secondary-update-verify-config
     run-on-projects: []  # to make sure this never runs as part of CI
     shipping-product: firefox
@@ -50,7 +50,7 @@ job-defaults:
         mar-channel-id-override: beta
         channel: "beta-localtest"
 
-jobs:
+tasks:
     firefox-secondary-linux:
         treeherder:
             symbol: UVCS
diff --git a/taskcluster/kinds/release-secondary-update-verify/kind.yml b/taskcluster/kinds/release-secondary-update-verify/kind.yml
index f567cf7ae3b2d48c66cbbdaafb9f33b5abaca142..a8a5804e1a944ccdd2a583e489a721dab48da6b4 100644
--- a/taskcluster/kinds/release-secondary-update-verify/kind.yml
+++ b/taskcluster/kinds/release-secondary-update-verify/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - post-balrog-dummy
@@ -16,7 +16,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: secondary-update-verify
     run-on-projects: []  # to make sure this never runs as part of CI
     shipping-phase: promote
@@ -37,7 +37,7 @@ job-defaults:
     extra:
         chunks: 16
 
-jobs:
+tasks:
     firefox-secondary-linux64:
         description: linux64 secondary channel update verify
         shipping-product: firefox
diff --git a/taskcluster/kinds/release-snap-repackage/kind.yml b/taskcluster/kinds/release-snap-repackage/kind.yml
index 73d9d8a4102309ff1080b3ae1211add39cd03963..cba2c4d0008812630dbecc4351b27544335302e8 100644
--- a/taskcluster/kinds/release-snap-repackage/kind.yml
+++ b/taskcluster/kinds/release-snap-repackage/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -13,7 +13,7 @@ kind-dependencies:
     - post-beetmover-dummy
     - post-langpack-dummy
 
-job-defaults:
+task-defaults:
     description: Generates snap image
     run-on-projects: []  # to make sure this never runs as part of CI
     shipping-phase: promote
@@ -50,7 +50,7 @@ job-defaults:
             L10N_CHANGESETS: "{config_params[head_repository]}/raw-file/{config_params[head_rev]}/browser/locales/l10n-changesets.json"
         chain-of-trust: true
 
-jobs:
+tasks:
     firefox:
         shipping-product: firefox
         attributes:
diff --git a/taskcluster/kinds/release-source-checksums-signing/kind.yml b/taskcluster/kinds/release-source-checksums-signing/kind.yml
index de9f98acc05bb248cd9d2c29282eda098901264d..def743de9493a924b0d03c051dd904ee5bfc392e 100644
--- a/taskcluster/kinds/release-source-checksums-signing/kind.yml
+++ b/taskcluster/kinds/release-source-checksums-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - beetmover-source
 
-jobs:
+tasks:
     release-source-checksums-signing:
         shipping-phase: promote
         from-deps:
diff --git a/taskcluster/kinds/release-source-signing/kind.yml b/taskcluster/kinds/release-source-signing/kind.yml
index 9ab9e37d88bf1e5ce3096235edd19aa7750525c5..7d3696a8f89ee6bca0297b90abf483ffda8acebc 100644
--- a/taskcluster/kinds/release-source-signing/kind.yml
+++ b/taskcluster/kinds/release-source-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -14,7 +14,7 @@ transforms:
 kind-dependencies:
     - release-source
 
-jobs:
+tasks:
     release-source-signing:
         from-deps:
             copy-attributes: true
diff --git a/taskcluster/kinds/release-source/kind.yml b/taskcluster/kinds/release-source/kind.yml
index ff2ee375f72e9d31b4361cd8d3f942db5684cfb3..67a457dc25e22a1357dfcd0a0841a8dc9de51a25 100644
--- a/taskcluster/kinds/release-source/kind.yml
+++ b/taskcluster/kinds/release-source/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -15,7 +15,7 @@ transforms:
     - gecko_taskgraph.transforms.task:transforms
 
 
-job-defaults:
+task-defaults:
     shipping-phase: promote
     treeherder:
         symbol: Src
@@ -37,7 +37,7 @@ job-defaults:
     run-on-projects: []
     optimization: null
 
-jobs:
+tasks:
     firefox-source/opt:
         description: "Firefox source builder"
         treeherder:
diff --git a/taskcluster/kinds/release-update-verify-config-next/kind.yml b/taskcluster/kinds/release-update-verify-config-next/kind.yml
index fd6e66777aeb7c756f235526ca3688ed10bd86c0..b882d27c962145dd562591784269336d11414a68 100644
--- a/taskcluster/kinds/release-update-verify-config-next/kind.yml
+++ b/taskcluster/kinds/release-update-verify-config-next/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release:run_on_releases
@@ -10,7 +10,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: update-verify-config-next
     run-on-projects: []  # to make sure this never runs as part of CI
     run-on-releases: [esr128]
@@ -55,7 +55,7 @@ job-defaults:
         include-version: esr128-next
         last-watershed: "68.0esr"
 
-jobs:
+tasks:
     firefox-next-linux:
         shipping-product: firefox
         treeherder:
diff --git a/taskcluster/kinds/release-update-verify-config/kind.yml b/taskcluster/kinds/release-update-verify-config/kind.yml
index 53e31f712ca094bfbcad3d76b5306ba791587048..1a17916de779239bc22f696792147d9f1af3402a 100644
--- a/taskcluster/kinds/release-update-verify-config/kind.yml
+++ b/taskcluster/kinds/release-update-verify-config/kind.yml
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.update_verify_config:transforms
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: update-verify-config
     run-on-projects: []  # to make sure this never runs as part of CI
     shipping-phase: promote
@@ -57,7 +57,7 @@ job-defaults:
                 esr128: "128.0esr"
                 default: "default"
 
-jobs:
+tasks:
     firefox-linux:
         shipping-product: firefox
         treeherder:
diff --git a/taskcluster/kinds/release-update-verify-next/kind.yml b/taskcluster/kinds/release-update-verify-next/kind.yml
index 4ae52cb95fbb7d15cf8038530c313bbe99c96456..16ee9c46b704cf694b0087a943607e186ff141a6 100644
--- a/taskcluster/kinds/release-update-verify-next/kind.yml
+++ b/taskcluster/kinds/release-update-verify-next/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - post-balrog-dummy
@@ -17,7 +17,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: update-verify-next
     run-on-projects: []  # to make sure this never runs as part of CI
     run-on-releases: [esr128]
@@ -41,7 +41,7 @@ job-defaults:
     extra:
         chunks: 12
 
-jobs:
+tasks:
     firefox-next-linux64:
         description: linux64 esr-next update verify
         shipping-product: firefox
diff --git a/taskcluster/kinds/release-update-verify/kind.yml b/taskcluster/kinds/release-update-verify/kind.yml
index ec7f9874dae6d89d16bf6267a4c84d7d389299e1..9fb1345494eb4d98542be945a7b681bf969ff7cb 100644
--- a/taskcluster/kinds/release-update-verify/kind.yml
+++ b/taskcluster/kinds/release-update-verify/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - post-balrog-dummy
@@ -16,7 +16,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: update-verify
     run-on-projects: []  # to make sure this never runs as part of CI
     shipping-phase: promote
@@ -37,7 +37,7 @@ job-defaults:
     extra:
         chunks: 16
 
-jobs:
+tasks:
     firefox-linux64:
         description: linux64 update verify
         shipping-product: firefox
diff --git a/taskcluster/kinds/release-version-bump/kind.yml b/taskcluster/kinds/release-version-bump/kind.yml
index 9dd93bd4fa0d785378f630fd84787f658f730413..2131d6f1ab4fb5faf19b0faa50ad3e8698216d2c 100644
--- a/taskcluster/kinds/release-version-bump/kind.yml
+++ b/taskcluster/kinds/release-version-bump/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.release_deps:transforms
@@ -14,7 +14,7 @@ kind-dependencies:
     - post-beetmover-components-dummy
     - push-bundle
 
-job-defaults:
+task-defaults:
     description: Release Promotion version bump/tag
     run-on-projects: []
     shipping-phase: ship
@@ -46,7 +46,7 @@ job-defaults:
                 maple: true
                 default: false
 
-jobs:
+tasks:
     firefox:
         name: firefox-version-bump
         shipping-product: firefox
diff --git a/taskcluster/kinds/repackage-deb-l10n/kind.yml b/taskcluster/kinds/repackage-deb-l10n/kind.yml
index a22e50787ad16a5adda0dad2a39886151d34edd0..07df6287cc4191a63bb3dbed1e60b2d6d7068b67 100644
--- a/taskcluster/kinds/repackage-deb-l10n/kind.yml
+++ b/taskcluster/kinds/repackage-deb-l10n/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -21,7 +21,7 @@ only-for-build-platforms:
     - linux64-devedition/opt
     - linux64-shippable/opt
 
-jobs:
+tasks:
     repackage-deb-l10n:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/repackage-deb/kind.yml b/taskcluster/kinds/repackage-deb/kind.yml
index 779aaf2659c22744a7f6c0fab8696c752187abe9..9b0181b91f5bfb00c58e75d52cdbcb78963a90fa 100644
--- a/taskcluster/kinds/repackage-deb/kind.yml
+++ b/taskcluster/kinds/repackage-deb/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -27,7 +27,7 @@ only-for-attributes:
     - nightly
     - shippable
 
-jobs:
+tasks:
     repackage-deb:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/repackage-l10n/kind.yml b/taskcluster/kinds/repackage-l10n/kind.yml
index 8be0cb19ccd0bdfe74c60fb28c9bc5304057a4d2..b0ebdb8ad2a5f4819e8eba5bc0395d4ceb0b6d90 100644
--- a/taskcluster/kinds/repackage-l10n/kind.yml
+++ b/taskcluster/kinds/repackage-l10n/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -34,7 +34,7 @@ only-for-build-platforms:
     - win64-devedition/opt
     - win64-aarch64-devedition/opt
 
-jobs:
+tasks:
     repackage-l10n:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/repackage-msi/kind.yml b/taskcluster/kinds/repackage-msi/kind.yml
index fa2fb3ada3ef70e78b9c7df167b8e75d0e3e79f7..852bd76aa75fe008e6ed5115996730d202c04b18 100644
--- a/taskcluster/kinds/repackage-msi/kind.yml
+++ b/taskcluster/kinds/repackage-msi/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -22,7 +22,7 @@ only-for-build-platforms:
     - win32-devedition/opt
     - win64-devedition/opt
 
-jobs:
+tasks:
     repackage-msi:
         worker-type: 'b-win2022'
         from-deps:
diff --git a/taskcluster/kinds/repackage-msix/kind.yml b/taskcluster/kinds/repackage-msix/kind.yml
index 2b5f682ceb1e487b9905a3706976a8d58ef6a31c..cb3b9e0b9a0bb833b6441de205bad654a91be648 100644
--- a/taskcluster/kinds/repackage-msix/kind.yml
+++ b/taskcluster/kinds/repackage-msix/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -28,7 +28,7 @@ only-for-build-platforms:
     - win64-devedition/opt
     - win64-aarch-devedition/opt
 
-jobs:
+tasks:
     repackage-msix:
         from-deps:
             group-by: platform
diff --git a/taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml b/taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml
index 8c7cff523b8190fd919948adf8a67a11d5eafd23..f1d6cb444a0ffebd652bc04ec3daea7c3373d0d1 100644
--- a/taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml
+++ b/taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -30,7 +30,7 @@ only-for-build-platforms:
     - win64-devedition/opt
     - win64-aarch64-devedition/opt
 
-jobs:
+tasks:
     repackage-shippable-l10n-msix:
         from-deps:
             group-by: platform
diff --git a/taskcluster/kinds/repackage-signing-l10n/kind.yml b/taskcluster/kinds/repackage-signing-l10n/kind.yml
index 9d274b1ee3129807bd1bee818edadaff1a1d9085..f3afe5073f116a5728377f7eb25a9375b5eef5b5 100644
--- a/taskcluster/kinds/repackage-signing-l10n/kind.yml
+++ b/taskcluster/kinds/repackage-signing-l10n/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -25,7 +25,7 @@ only-for-build-platforms:
     - win64-aarch64-devedition/opt
     - win64-asan-reporter-shippable/opt
 
-jobs:
+tasks:
     repackage-signing-l10n:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/repackage-signing-msi/kind.yml b/taskcluster/kinds/repackage-signing-msi/kind.yml
index 8a6691413a4b456a598dbb5883e442a14e127e11..7d063782c78fe00a04071965a183cce8a67796a5 100644
--- a/taskcluster/kinds/repackage-signing-msi/kind.yml
+++ b/taskcluster/kinds/repackage-signing-msi/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -21,7 +21,7 @@ only-for-build-platforms:
     - win64-devedition/opt
     - win64/opt
 
-jobs:
+tasks:
     repackage-signing-msi:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/repackage-signing-msix/kind.yml b/taskcluster/kinds/repackage-signing-msix/kind.yml
index 4976f08366980583f66d95e08e5b7699514db030..97ee6f87329f0f31bc9f199786e529e59ffe39a4 100644
--- a/taskcluster/kinds/repackage-signing-msix/kind.yml
+++ b/taskcluster/kinds/repackage-signing-msix/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - repackage-msix
 
-jobs:
+tasks:
     repackage-signing-msix:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/repackage-signing-shippable-l10n-msix/kind.yml b/taskcluster/kinds/repackage-signing-shippable-l10n-msix/kind.yml
index 0f6f7787ee834cefc805da48db782d151911ef7b..0c65c75f662ea6ddba9bef9c6e049f94b61bc7f7 100644
--- a/taskcluster/kinds/repackage-signing-shippable-l10n-msix/kind.yml
+++ b/taskcluster/kinds/repackage-signing-shippable-l10n-msix/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,6 +13,6 @@ transforms:
 kind-dependencies:
     - repackage-shippable-l10n-msix
 
-jobs:
+tasks:
     repackage-signing-shippable-l10n-msix:
         from-deps: {}
diff --git a/taskcluster/kinds/repackage-signing/kind.yml b/taskcluster/kinds/repackage-signing/kind.yml
index 49ea244a9ec72d389e63e65062ae8c7c4144e6e1..b3761e95017b7e61268258954e2fece2dff7e1ac 100644
--- a/taskcluster/kinds/repackage-signing/kind.yml
+++ b/taskcluster/kinds/repackage-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -23,7 +23,7 @@ only-for-build-platforms:
     - win64-aarch64-devedition/opt
     - win64-asan-reporter-shippable/opt
 
-jobs:
+tasks:
     repackage-signing:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/repackage/kind.yml b/taskcluster/kinds/repackage/kind.yml
index b9f94f4a89bf63ff68f063be470f170fc77e2578..8d5c3410386bf321858ec8c20eb2dd012625efe5 100644
--- a/taskcluster/kinds/repackage/kind.yml
+++ b/taskcluster/kinds/repackage/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -43,7 +43,7 @@ only-for-build-platforms:
     - win64/opt
     - win64-asan-reporter-shippable/opt
 
-jobs:
+tasks:
     repackage:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/repo-update/kind.yml b/taskcluster/kinds/repo-update/kind.yml
index 50c7c0ac0e9e573ecedb2df0d2814221978e6143..3744aa33e6a60d0be9bf0be8d67c43ec76445a42 100644
--- a/taskcluster/kinds/repo-update/kind.yml
+++ b/taskcluster/kinds/repo-update/kind.yml
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.repo_update:transforms
     - gecko_taskgraph.transforms.task:transforms
 
 
-job-defaults:
+task-defaults:
     worker:
         env:
             DO_HSTS:
@@ -38,7 +38,7 @@ job-defaults:
                     default: ""
 
 
-jobs:
+tasks:
     hsts-hpkp-blocklist:
         name: periodic_file_update
         description: HSTS, HPKP and remote settings update
diff --git a/taskcluster/kinds/scriptworker-canary/kind.yml b/taskcluster/kinds/scriptworker-canary/kind.yml
index a1ee225b89b75c5450c3307a2dbb3f3e84af7021..b7990bca4c2217ca053850a0fa932badd5c430bd 100644
--- a/taskcluster/kinds/scriptworker-canary/kind.yml
+++ b/taskcluster/kinds/scriptworker-canary/kind.yml
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.scriptworker_canary:transforms
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     treeherder:
         platform: firefox-release/opt
         tier: 1
@@ -23,7 +23,7 @@ job-defaults:
     run:
         sparse-profile: push-to-try
 
-jobs:
+tasks:
     push:
         description: Push scriptworker canary tasks.
         treeherder:
diff --git a/taskcluster/kinds/searchfox/kind.yml b/taskcluster/kinds/searchfox/kind.yml
index 49cd480e4df9f32d5e17613be267797f638a7521..be499c67fd4f202e8bb9339e89767cb26821d63d 100644
--- a/taskcluster/kinds/searchfox/kind.yml
+++ b/taskcluster/kinds/searchfox/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -15,7 +15,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     index:
         product: firefox
     treeherder:
@@ -29,7 +29,7 @@ job-defaults:
     # the files that sccache optimizes away compilation for.
     use-sccache: false
 
-jobs:
+tasks:
     linux64-searchfox/debug:
         description: "Linux64 Debug Searchfox"
         index:
diff --git a/taskcluster/kinds/sentry/kind.yml b/taskcluster/kinds/sentry/kind.yml
index bfc3cf07a2eb29dae660cad75f685b6bda9a409e..6d3e9e83997a2617284e3bd234dcde38a4dadd2c 100644
--- a/taskcluster/kinds/sentry/kind.yml
+++ b/taskcluster/kinds/sentry/kind.yml
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.sentry:transforms
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-jobs:
+tasks:
     mach-release:
         description: Inform Sentry of new revisions (aka Mach releases)
         worker-type: b-linux-gcp
diff --git a/taskcluster/kinds/shippable-l10n-mac-notarization/kind.yml b/taskcluster/kinds/shippable-l10n-mac-notarization/kind.yml
index 461eac91ac74904a2cbaae67def4e2849e554285..458803392b6658cf8e70aa146d90461a527c7215 100644
--- a/taskcluster/kinds/shippable-l10n-mac-notarization/kind.yml
+++ b/taskcluster/kinds/shippable-l10n-mac-notarization/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -19,7 +19,7 @@ kind-dependencies:
 only-for-attributes:
     - shippable
 
-jobs:
+tasks:
     shippable-l10n-mac-notarization:
         from-deps:
             group-by: chunk-locales
diff --git a/taskcluster/kinds/shippable-l10n-mac-signing/kind.yml b/taskcluster/kinds/shippable-l10n-mac-signing/kind.yml
index 21fe44b4f0785edbf9ee6dad6757a38a4eb4d97d..96d173285d08fd766afd76ea464e683fdccc8a64 100644
--- a/taskcluster/kinds/shippable-l10n-mac-signing/kind.yml
+++ b/taskcluster/kinds/shippable-l10n-mac-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -21,7 +21,7 @@ only-for-build-platforms:
     - macosx64/opt
     - macosx64/debug
 
-jobs:
+tasks:
     shippable-l10n-mac-signing:
         from-deps:
             group-by: chunk-locales
diff --git a/taskcluster/kinds/shippable-l10n-signing/kind.yml b/taskcluster/kinds/shippable-l10n-signing/kind.yml
index fdb545381fedd31ce6a64012336cf9124535b39d..39f930872fd2db3bd8f6f0387c43049d9e32d4ee 100644
--- a/taskcluster/kinds/shippable-l10n-signing/kind.yml
+++ b/taskcluster/kinds/shippable-l10n-signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -25,7 +25,7 @@ not-for-build-platforms:
     - macosx64/opt
     - macosx64/debug
 
-jobs:
+tasks:
     shippable-l10n-signing:
         from-deps:
             group-by: chunk-locales
diff --git a/taskcluster/kinds/shippable-l10n/kind.yml b/taskcluster/kinds/shippable-l10n/kind.yml
index ddd6c2540166c00b6a9f401ba7ccfc2233333ffe..362da9b5e01fcd624039bbd82ff42a4aca8e5822 100644
--- a/taskcluster/kinds/shippable-l10n/kind.yml
+++ b/taskcluster/kinds/shippable-l10n/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -32,7 +32,7 @@ only-for-build-platforms:
     - win64-devedition/opt
     - win64-aarch64-devedition/opt
 
-jobs:
+tasks:
     shippable-l10n:
         description: Localization
         from-deps:
diff --git a/taskcluster/kinds/signing-apk/kind.yml b/taskcluster/kinds/signing-apk/kind.yml
index 85b2f21bfdf90ccaec565b399e95817ebf0c3f37..1127ef894a9e7657d12cd6a2918244d8e33b8ae0 100644
--- a/taskcluster/kinds/signing-apk/kind.yml
+++ b/taskcluster/kinds/signing-apk/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -15,7 +15,7 @@ transforms:
 kind-dependencies:
     - build-apk
 
-jobs:
+tasks:
     sign-apk:
         description: Sign Android APKs
         from-deps:
diff --git a/taskcluster/kinds/signing-bundle/kind.yml b/taskcluster/kinds/signing-bundle/kind.yml
index e062282fd64d331e407f25d0fa177232aa243ed1..437d200bb25c19899f8c4e614392428ad242db02 100644
--- a/taskcluster/kinds/signing-bundle/kind.yml
+++ b/taskcluster/kinds/signing-bundle/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -15,7 +15,7 @@ transforms:
 kind-dependencies:
     - build-bundle
 
-jobs:
+tasks:
     sign-bundle:
         description: Sign Android AABs
         from-deps:
diff --git a/taskcluster/kinds/signing/kind.yml b/taskcluster/kinds/signing/kind.yml
index 655750438cb0dae462b37be2b9b3b0b43cc97258..d74c696dd5d009065831e86f44c628a8eadda835 100644
--- a/taskcluster/kinds/signing/kind.yml
+++ b/taskcluster/kinds/signing/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -14,7 +14,7 @@ transforms:
 kind-dependencies:
     - build-components
 
-jobs:
+tasks:
     sign-build:
         description: Sign component
         from-deps:
diff --git a/taskcluster/kinds/snap-upstream-build/kind.yml b/taskcluster/kinds/snap-upstream-build/kind.yml
index 7016989ba8911a9d270483c3268e50514e1c6cd8..53bb8539e1cc2290aebfd066e99dd001b461dec0 100644
--- a/taskcluster/kinds/snap-upstream-build/kind.yml
+++ b/taskcluster/kinds/snap-upstream-build/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -12,7 +12,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     attributes:
         cron: true
     treeherder:
@@ -36,7 +36,7 @@ job-defaults:
         toolchain:
             - linux64-minidump-stackwalk
 
-jobs:
+tasks:
     amd64-nightly/opt:
         description: Build Firefox Nightly as a Snap using upstream definition
         attributes:
diff --git a/taskcluster/kinds/snap-upstream-test/kind.yml b/taskcluster/kinds/snap-upstream-test/kind.yml
index 1d6913733fb42f0ad6ef8f1d16111eabd1016cc1..4dec4d210e5ab807cc0a2c6e9b58157443b3b29f 100644
--- a/taskcluster/kinds/snap-upstream-test/kind.yml
+++ b/taskcluster/kinds/snap-upstream-test/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 only-for-attributes:
     - build_platform
@@ -16,7 +16,7 @@ transforms:
 kind-dependencies:
     - snap-upstream-build
 
-job-defaults:
+task-defaults:
     attributes:
         retrigger: true
         cron: true
@@ -35,7 +35,7 @@ job-defaults:
               type: directory
               path: builds/worker/artifacts/
 
-jobs:
+tasks:
     basic:
         from-deps:
             group-by: single-with-filters
diff --git a/taskcluster/kinds/source-test/android-compare-locales.yml b/taskcluster/kinds/source-test/android-compare-locales.yml
index 6423ad708d06a2b496d111137807d895c7e11d7c..8ee18c2fc958b7d65dc6a09cb963252048b05a02 100644
--- a/taskcluster/kinds/source-test/android-compare-locales.yml
+++ b/taskcluster/kinds/source-test/android-compare-locales.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: 'Validate android strings.xml with compare-locales'
     run:
         using: run-task
diff --git a/taskcluster/kinds/source-test/android-detekt.yml b/taskcluster/kinds/source-test/android-detekt.yml
index c39ebca218853295116c85740277d4efaa4fb514..803194fc4be4dbe8d9725bec9e017ac3aff4ed3c 100644
--- a/taskcluster/kinds/source-test/android-detekt.yml
+++ b/taskcluster/kinds/source-test/android-detekt.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: 'Run detekt over all modules'
     run:
         using: gradlew
diff --git a/taskcluster/kinds/source-test/android-lint.yml b/taskcluster/kinds/source-test/android-lint.yml
index 8cbbcc33855042070d347a62b236e22e74cb3b2c..6550ce33844bf700d44563e8d5c5df7d0cadf8d1 100644
--- a/taskcluster/kinds/source-test/android-lint.yml
+++ b/taskcluster/kinds/source-test/android-lint.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: 'Run lint over all modules'
     run:
         using: gradlew
diff --git a/taskcluster/kinds/source-test/buildconfig.yml b/taskcluster/kinds/source-test/buildconfig.yml
index a7dffefd09f23e9b7ad88427ddc23d5d4634fb29..becc33ebbdb80b64fe573fd2489a7534876b9989 100644
--- a/taskcluster/kinds/source-test/buildconfig.yml
+++ b/taskcluster/kinds/source-test/buildconfig.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: Make sure the content of .buildconfig.yml matches what gradle knows about its projects
     always-target: true
     run:
diff --git a/taskcluster/kinds/source-test/clang.yml b/taskcluster/kinds/source-test/clang.yml
index d77066afe796e9aa68d887b0e4e50a13fcd8a6fa..15be49cd728ab948726223c3ddbba9beddcb4c61 100644
--- a/taskcluster/kinds/source-test/clang.yml
+++ b/taskcluster/kinds/source-test/clang.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     run-on-projects: ["trunk"]
     platform: linux64/debug
     worker-type: t-linux-xlarge-source
diff --git a/taskcluster/kinds/source-test/file-metadata.yml b/taskcluster/kinds/source-test/file-metadata.yml
index b1fffaf64fe4849bf5b69e61961d1b1c394dfcf9..b8271c3717f7b302bb20f84345f178b83d194216 100644
--- a/taskcluster/kinds/source-test/file-metadata.yml
+++ b/taskcluster/kinds/source-test/file-metadata.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     platform: lint/opt
     treeherder:
         kind: other
diff --git a/taskcluster/kinds/source-test/jsshell.yml b/taskcluster/kinds/source-test/jsshell.yml
index 2ce0a846d49af452a79d5157ecc9eebf8c3e9573..5f27f89659ed8072ff08a1a3176f81cdf8ff77d7 100644
--- a/taskcluster/kinds/source-test/jsshell.yml
+++ b/taskcluster/kinds/source-test/jsshell.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     platform: linux64-shippable/opt
     require-build:
         linux64.*: build-linux64-shippable/opt
diff --git a/taskcluster/kinds/source-test/kind.yml b/taskcluster/kinds/source-test/kind.yml
index f28ee39f963a32fe644f12580219df1b40d394e5..33a542f9a79f06369c55fd1db3df1928d73aa8da 100644
--- a/taskcluster/kinds/source-test/kind.yml
+++ b/taskcluster/kinds/source-test/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.try_job:transforms
@@ -18,7 +18,7 @@ kind-dependencies:
     - build
     - build-fat-aar
 
-jobs-from:
+tasks-from:
     - android-compare-locales.yml
     - android-detekt.yml
     - android-lint.yml
@@ -42,7 +42,7 @@ jobs-from:
     - wpt-manifest.yml
     - wpt-metadata.yml
 
-job-defaults:
+task-defaults:
     use-python: default
     attributes:
         retrigger: true
diff --git a/taskcluster/kinds/source-test/ktlint.yml b/taskcluster/kinds/source-test/ktlint.yml
index 1828887dc0293d0d014e49cce38d626acee5f2be..8241301f3ef36239d1dd8cf07f5a5ce8afbc8b93 100644
--- a/taskcluster/kinds/source-test/ktlint.yml
+++ b/taskcluster/kinds/source-test/ktlint.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: 'Run ktlint over all modules'
     run:
         using: gradlew
diff --git a/taskcluster/kinds/source-test/mozlint.yml b/taskcluster/kinds/source-test/mozlint.yml
index 13af29aa13285004fe2ee4115108a215a56fd301..6df6a03abb4c7a90cde3f3b88ebb0481a9787133 100644
--- a/taskcluster/kinds/source-test/mozlint.yml
+++ b/taskcluster/kinds/source-test/mozlint.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     always-target: true
     attributes:
         code-review: true
diff --git a/taskcluster/kinds/source-test/puppeteer.yml b/taskcluster/kinds/source-test/puppeteer.yml
index 3bfd1a964515a5355ac71ceec3b54fa130fe3327..437cd231f8dea6a1b88921e4ccc297b4e1251fe5 100644
--- a/taskcluster/kinds/source-test/puppeteer.yml
+++ b/taskcluster/kinds/source-test/puppeteer.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     platform: linux1804-64/opt
     require-build:
         by-project:
diff --git a/taskcluster/kinds/source-test/python.yml b/taskcluster/kinds/source-test/python.yml
index 0fe0e5eac23b0e2dc73540bab573c0b622bd4b06..7d379f6364a2a44b01635af205d2acbcb7e23ef1 100644
--- a/taskcluster/kinds/source-test/python.yml
+++ b/taskcluster/kinds/source-test/python.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     platform: linux1804-64/opt
     always-target:
         by-platform:
diff --git a/taskcluster/kinds/source-test/shadow-scheduler.yml b/taskcluster/kinds/source-test/shadow-scheduler.yml
index 97d1b1f30b172c9b600f75bd5dc6244787b8f6bd..5dd221cf9f8bb59e05c60560075e21973c77ed54 100644
--- a/taskcluster/kinds/source-test/shadow-scheduler.yml
+++ b/taskcluster/kinds/source-test/shadow-scheduler.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     platform: gecko-decision/opt
     worker-type: t-linux-xlarge-source
     worker:
diff --git a/taskcluster/kinds/source-test/vendor.yml b/taskcluster/kinds/source-test/vendor.yml
index c6594c6f68f9eea0a998b8f1e233f086a5a1752d..e412ab4be3bd788490994e32963fa6017e702e56 100644
--- a/taskcluster/kinds/source-test/vendor.yml
+++ b/taskcluster/kinds/source-test/vendor.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: t-linux-xlarge-source
     attributes:
         code-review: true
diff --git a/taskcluster/kinds/source-test/webcompat.yml b/taskcluster/kinds/source-test/webcompat.yml
index 66ff7910a68fa014460d24d53490f24458fe0193..5257fe4eed0fdea66c5ab42ca8ec12d567c96b92 100644
--- a/taskcluster/kinds/source-test/webcompat.yml
+++ b/taskcluster/kinds/source-test/webcompat.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     platform: linux1804-64/opt
     require-build:
         by-project:
diff --git a/taskcluster/kinds/source-test/wpt-manifest.yml b/taskcluster/kinds/source-test/wpt-manifest.yml
index 06b29b60f591621863bd88a558d4a7ad0ec2834c..9fda4bc64fa33f565852028714c5a01146bb2dc2 100644
--- a/taskcluster/kinds/source-test/wpt-manifest.yml
+++ b/taskcluster/kinds/source-test/wpt-manifest.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     platform: linux64/opt
     treeherder:
         kind: test
diff --git a/taskcluster/kinds/source-test/wpt-metadata.yml b/taskcluster/kinds/source-test/wpt-metadata.yml
index b2c54d62b9b3efa26c6eff5479575bcec211b8f8..d7d6d297467a49dd7a915e3b088a24eaa86f1090 100644
--- a/taskcluster/kinds/source-test/wpt-metadata.yml
+++ b/taskcluster/kinds/source-test/wpt-metadata.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     platform: lint/opt
     treeherder:
         kind: test
diff --git a/taskcluster/kinds/spidermonkey/kind.yml b/taskcluster/kinds/spidermonkey/kind.yml
index 560ac9a58ba3729ecda9cbcc5975d607bc6ba742..681aa9aa5074fd36da8bde9c9784b61b08fb3927 100644
--- a/taskcluster/kinds/spidermonkey/kind.yml
+++ b/taskcluster/kinds/spidermonkey/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -15,7 +15,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     attributes:
         retrigger: true
     treeherder:
@@ -70,6 +70,6 @@ job-defaults:
                     - linux64-dump_syms
                     - sysroot-x86_64-linux-gnu
 
-jobs-from:
+tasks-from:
     - linux.yml
     - windows.yml
diff --git a/taskcluster/kinds/spidermonkey/linux.yml b/taskcluster/kinds/spidermonkey/linux.yml
index fbf3c8d0e2c40480e028615b2aae99f74612a3e6..5c173b4364ea87642d88ca116085deb0f1163955 100644
--- a/taskcluster/kinds/spidermonkey/linux.yml
+++ b/taskcluster/kinds/spidermonkey/linux.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker:
         max-run-time: 10800
         docker-image: {in-tree: debian12-amd64-build}
diff --git a/taskcluster/kinds/spidermonkey/windows.yml b/taskcluster/kinds/spidermonkey/windows.yml
index 2fa90deb8e7499afbb79436c1c6c100446c57382..d76e7a6af261dbb6b201166981866b8661f5c41a 100644
--- a/taskcluster/kinds/spidermonkey/windows.yml
+++ b/taskcluster/kinds/spidermonkey/windows.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: b-win2022
     worker:
         max-run-time: 10800
diff --git a/taskcluster/kinds/startup-test/kind.yml b/taskcluster/kinds/startup-test/kind.yml
index 3e6975ae92eba035cf4bff32c00130a70e6b6ff9..76e6ee0f8c0835aa425570844d97af485455768b 100644
--- a/taskcluster/kinds/startup-test/kind.yml
+++ b/taskcluster/kinds/startup-test/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     # We want to test the signed version of a build, to make sure
@@ -22,7 +22,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     name: startup-test
     description: Check whether or not a product crashes on startup
     run-on-projects: ['mozilla-central']
@@ -38,7 +38,7 @@ job-defaults:
         tier: 1
     use-python: default
 
-jobs:
+tasks:
     linux32:
         dependencies:
             build-signing: build-signing-linux-shippable/opt
diff --git a/taskcluster/kinds/static-analysis-autotest/kind.yml b/taskcluster/kinds/static-analysis-autotest/kind.yml
index 3901e0a7fd803140c597e7de7cd21c0466682fa2..9c445d979097d3b898a7bf6181ed80d4a73e1844 100644
--- a/taskcluster/kinds/static-analysis-autotest/kind.yml
+++ b/taskcluster/kinds/static-analysis-autotest/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -14,7 +14,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     attributes:
         retrigger: true
     index:
@@ -35,7 +35,7 @@ job-defaults:
         kind: build
         tier: 1
 
-jobs:
+tasks:
     linux64-st-autotest/debug:
         description: "Linux64 Debug Static Analysis Autotest"
         index:
diff --git a/taskcluster/kinds/system-symbols-reprocess/kind.yml b/taskcluster/kinds/system-symbols-reprocess/kind.yml
index e96f8f4fa334259396905f31d2185f7c08137c58..a768183143a35a350d442addb088380bdf78b9ab 100644
--- a/taskcluster/kinds/system-symbols-reprocess/kind.yml
+++ b/taskcluster/kinds/system-symbols-reprocess/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 # we need that to apply grouping only on jobs that have "build_platform", so we
 # dont fail for the "fetch" kind that does is a dependency but does not have it
@@ -20,7 +20,7 @@ kind-dependencies:
     - system-symbols-upload
     - fetch
 
-jobs:
+tasks:
     system-symbols-reprocess:
         from-deps:
             kinds: ["system-symbols", "system-symbols-upload"]
diff --git a/taskcluster/kinds/system-symbols-upload/kind.yml b/taskcluster/kinds/system-symbols-upload/kind.yml
index e36f7afd844712b640819a277e6471228f49fa16..3fe137dd1dd27707589d545f415606e43ea7e084 100644
--- a/taskcluster/kinds/system-symbols-upload/kind.yml
+++ b/taskcluster/kinds/system-symbols-upload/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -13,7 +13,7 @@ transforms:
 kind-dependencies:
     - system-symbols
 
-jobs:
+tasks:
     system-symbols-upload:
         description: Upload Symbols
         from-deps: {}
diff --git a/taskcluster/kinds/system-symbols/kind.yml b/taskcluster/kinds/system-symbols/kind.yml
index 0090454a682e824968334afa1ab1351bdac99c62..92d2da3172d3ff510c010af211206c90625b50d6 100644
--- a/taskcluster/kinds/system-symbols/kind.yml
+++ b/taskcluster/kinds/system-symbols/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -12,7 +12,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     attributes:
         cron: true
         # This enables uploading symbols.
@@ -29,7 +29,7 @@ job-defaults:
         env:
             MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
 
-jobs:
+tasks:
     mac:
         description: Extract macOS system symbols found in crashreports
         attributes:
diff --git a/taskcluster/kinds/test-apk/kind.yml b/taskcluster/kinds/test-apk/kind.yml
index 59225f431aa77f647c126775d6969c80b65e4e48..71debfad5a8e52067ce29525133a7ce66724eca0 100644
--- a/taskcluster/kinds/test-apk/kind.yml
+++ b/taskcluster/kinds/test-apk/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.test_apk:transforms
@@ -15,7 +15,7 @@ kind-dependencies:
     - toolchain
     - build-fat-aar
 
-job-defaults:
+task-defaults:
     attributes:
         build_platform: android
         retrigger: true
@@ -38,7 +38,7 @@ job-defaults:
         docker-image: {in-tree: android-components}
         max-run-time: 7200
 
-jobs:
+tasks:
     focus-debug:
         description: Focus unit tests
         attributes:
diff --git a/taskcluster/kinds/test-components/kind.yml b/taskcluster/kinds/test-components/kind.yml
index 8f4675b0769af914fc04067884364f92d53a96a3..15b5374981a3465b1bc8301880364139be4a5bd8 100644
--- a/taskcluster/kinds/test-components/kind.yml
+++ b/taskcluster/kinds/test-components/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - android_taskgraph.transforms.ui_tests:transforms
@@ -16,7 +16,7 @@ kind-dependencies:
     - build-fat-aar
 
 
-job-defaults:
+task-defaults:
     attributes:
         build_platform: android
         build-type: debug
@@ -61,7 +61,7 @@ job-defaults:
         skip-unless-backstop: null
 
 
-jobs:
+tasks:
     unit-browser-engine-gecko-nightly:
         component: browser
         description: 'Run unit tests on device for browser component'
diff --git a/taskcluster/kinds/test/awsy.yml b/taskcluster/kinds/test/awsy.yml
index 6ba85dcb820edb03f75a98ca4d4c8089303f635e..032aacefb7e2b6b3eecdaae5c2b86bb4943bcab0 100644
--- a/taskcluster/kinds/test/awsy.yml
+++ b/taskcluster/kinds/test/awsy.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     suite: awsy
     max-run-time: 7200
     instance-size: xlarge-noscratch
diff --git a/taskcluster/kinds/test/browsertime-desktop.yml b/taskcluster/kinds/test/browsertime-desktop.yml
index 96d829d4ee0be635b852c44a5d8999aefa3486d9..90266af501a401a0c7dfe53998e0e3d4bbe1d001 100644
--- a/taskcluster/kinds/test/browsertime-desktop.yml
+++ b/taskcluster/kinds/test/browsertime-desktop.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     max-run-time:
         by-test-platform:
             .*-qr/.*: 2400
diff --git a/taskcluster/kinds/test/browsertime-mobile.yml b/taskcluster/kinds/test/browsertime-mobile.yml
index 0ef0c0519efe37a86ef2a588f1598b0111b7ae4b..57335a7b68db40dc9a6a916055918bd90ea75043 100644
--- a/taskcluster/kinds/test/browsertime-mobile.yml
+++ b/taskcluster/kinds/test/browsertime-mobile.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     max-run-time: 3600
     suite: raptor
     variants:
diff --git a/taskcluster/kinds/test/compiled.yml b/taskcluster/kinds/test/compiled.yml
index f91ccd99700630478ebc9614a7bc21bafa39ef71..2b1e4e117bf7dffd88f82e3b20d8f4b82004e88a 100644
--- a/taskcluster/kinds/test/compiled.yml
+++ b/taskcluster/kinds/test/compiled.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     test-manifest-loader: null  # don't load tests in the taskgraph
     run-without-variant: false
     variants:
diff --git a/taskcluster/kinds/test/firefox-ui.yml b/taskcluster/kinds/test/firefox-ui.yml
index c45bb3d138405b2cafbf5daf960210267af3cea0..ac30cede9604226dafe7126eb6ffc43c034e6521 100644
--- a/taskcluster/kinds/test/firefox-ui.yml
+++ b/taskcluster/kinds/test/firefox-ui.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     suite:
         category: firefox-ui
     max-run-time: 5400
diff --git a/taskcluster/kinds/test/kind.yml b/taskcluster/kinds/test/kind.yml
index e9c2b1e5e9480ad2f2087d553845d20fa322e769..44dba820726eed6c4b35f587151959dc0a9828f9 100644
--- a/taskcluster/kinds/test/kind.yml
+++ b/taskcluster/kinds/test/kind.yml
@@ -29,7 +29,7 @@ transforms:
 # Adding a new test type or running tests on a new platform? Be sure to review
 # https://wiki.mozilla.org/Sheriffing/Job_Visibility_Policy
 
-jobs-from:
+tasks-from:
     - awsy.yml
     - browsertime-desktop.yml
     - browsertime-mobile.yml
@@ -43,7 +43,7 @@ jobs-from:
     - web-platform.yml
     - xpcshell.yml
 
-job-defaults:
+task-defaults:
     attributes:
         retrigger: true
     use-python: default
diff --git a/taskcluster/kinds/test/marionette.yml b/taskcluster/kinds/test/marionette.yml
index d586a6cf24394d4eaed3896918254815b786af14..f07f85adf5da6592d4d63a0e2230cb231ef691ea 100644
--- a/taskcluster/kinds/test/marionette.yml
+++ b/taskcluster/kinds/test/marionette.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     suite: marionette
     mozharness:
         script: marionette.py
diff --git a/taskcluster/kinds/test/misc.yml b/taskcluster/kinds/test/misc.yml
index 4990b41d902673f19296f751d062bd0a570b917e..fc1d4dbb79ffe3d04bae91b3f741c6de72653013 100644
--- a/taskcluster/kinds/test/misc.yml
+++ b/taskcluster/kinds/test/misc.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     test-manifest-loader: null  # don't load tests in the taskgraph
 
 geckoview-junit:
diff --git a/taskcluster/kinds/test/mochitest.yml b/taskcluster/kinds/test/mochitest.yml
index 5d72e2ad1183f042956b6954f5b2dff2bc431329..fda959689f5f3bf8392e834c4db250e9ab9f5959 100644
--- a/taskcluster/kinds/test/mochitest.yml
+++ b/taskcluster/kinds/test/mochitest.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     suite:
         category: mochitest
     target:
diff --git a/taskcluster/kinds/test/reftest.yml b/taskcluster/kinds/test/reftest.yml
index be4518e5929807e51fd8936c368860d2c4595311..e0853d7baa266520c4a53e94115bc49b2a177af4 100644
--- a/taskcluster/kinds/test/reftest.yml
+++ b/taskcluster/kinds/test/reftest.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     suite:
         category: reftest
     target:
diff --git a/taskcluster/kinds/test/talos.yml b/taskcluster/kinds/test/talos.yml
index 68e2f094ad0115e2c13381abd02c32afd388fb3c..6913b08027f2dbd8b1226a1103ea998d0ccebf18 100644
--- a/taskcluster/kinds/test/talos.yml
+++ b/taskcluster/kinds/test/talos.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     max-run-time: 3600
     suite: talos
     tier:
diff --git a/taskcluster/kinds/test/web-platform.yml b/taskcluster/kinds/test/web-platform.yml
index f79211ebb478e6465534fa0541bed486c8f8b3b9..38db5287f1720110d963f722441329758698e31f 100644
--- a/taskcluster/kinds/test/web-platform.yml
+++ b/taskcluster/kinds/test/web-platform.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     suite:
         category: web-platform-tests
     instance-size: xlarge-noscratch
diff --git a/taskcluster/kinds/test/xpcshell.yml b/taskcluster/kinds/test/xpcshell.yml
index 7b417e869b7a5f77eae8a0af56eeb619c10d9b48..aaa9f3b2cd0ae11687b670871dc720c903b62014 100644
--- a/taskcluster/kinds/test/xpcshell.yml
+++ b/taskcluster/kinds/test/xpcshell.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     suite:
         category: xpcshell
         name: xpcshell
diff --git a/taskcluster/kinds/toolchain/android.yml b/taskcluster/kinds/toolchain/android.yml
index 333aa868fa85daf18a6d3ab7b723c9df7e6de699..18413928dcaef5e2c644fefbf0df5daaf37cfcdb 100644
--- a/taskcluster/kinds/toolchain/android.yml
+++ b/taskcluster/kinds/toolchain/android.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: b-linux-gcp
     worker:
         docker-image: {in-tree: android-build}
diff --git a/taskcluster/kinds/toolchain/cargo-vet.yml b/taskcluster/kinds/toolchain/cargo-vet.yml
index 3f1cb9756a392296f6e65519b6ece35a981d5e8c..b2479fc24c5283ab3a437323599bd75136a2e0f9 100644
--- a/taskcluster/kinds/toolchain/cargo-vet.yml
+++ b/taskcluster/kinds/toolchain/cargo-vet.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: "cargo-vet toolchain build"
     attributes:
         local-toolchain: true
diff --git a/taskcluster/kinds/toolchain/cbindgen.yml b/taskcluster/kinds/toolchain/cbindgen.yml
index 69d34b6f3b532d628151b5a2dceaaba622edd9db..ac2fde91bc1b4bf138c068deaf96f9dcd979072b 100644
--- a/taskcluster/kinds/toolchain/cbindgen.yml
+++ b/taskcluster/kinds/toolchain/cbindgen.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: "cbindgen toolchain build"
     attributes:
         local-toolchain: true
diff --git a/taskcluster/kinds/toolchain/clang-tidy.yml b/taskcluster/kinds/toolchain/clang-tidy.yml
index 671e8f708192aa34ab6f1bbc6b65161bace3b075..7942562e59545d80705b9dc116b18b942977c572 100644
--- a/taskcluster/kinds/toolchain/clang-tidy.yml
+++ b/taskcluster/kinds/toolchain/clang-tidy.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: "Clang-tidy build"
     attributes:
         local-toolchain: true
diff --git a/taskcluster/kinds/toolchain/clang.yml b/taskcluster/kinds/toolchain/clang.yml
index 75138be4640ad86f3497f49c227bf234c9b10a26..da20d41cde228763f4230709ebf2b5e799a1f931 100644
--- a/taskcluster/kinds/toolchain/clang.yml
+++ b/taskcluster/kinds/toolchain/clang.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: b-linux-xlarge-gcp
     worker:
         max-run-time: 7200
diff --git a/taskcluster/kinds/toolchain/compiler-rt.yml b/taskcluster/kinds/toolchain/compiler-rt.yml
index 631024fbf9f511df91d52ccd36e929949e10337a..9fccc48b5cc3550ade3048af9d969428c0725510 100644
--- a/taskcluster/kinds/toolchain/compiler-rt.yml
+++ b/taskcluster/kinds/toolchain/compiler-rt.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: b-linux-gcp
     worker:
         max-run-time: 1800
diff --git a/taskcluster/kinds/toolchain/dist-toolchains.yml b/taskcluster/kinds/toolchain/dist-toolchains.yml
index 31b60918e64b79e9ad938bf866045253dbcf1fac..b3b001f5e0247eca9a9e05de139e5efadc5b4ac1 100644
--- a/taskcluster/kinds/toolchain/dist-toolchains.yml
+++ b/taskcluster/kinds/toolchain/dist-toolchains.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: "sccache-dist toolchain archive build"
     attributes:
         local-toolchain: true
diff --git a/taskcluster/kinds/toolchain/dump-syms.yml b/taskcluster/kinds/toolchain/dump-syms.yml
index 05aee5e352a1594b189ca5e3d079036fbca7a516..8465b823605a377a2cdb2da523b2255701742787 100644
--- a/taskcluster/kinds/toolchain/dump-syms.yml
+++ b/taskcluster/kinds/toolchain/dump-syms.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     attributes:
         local-toolchain: true
     description: "dump_syms toolchain build"
diff --git a/taskcluster/kinds/toolchain/fix-stacks.yml b/taskcluster/kinds/toolchain/fix-stacks.yml
index e11bf0b166e57b580a3dd0294ac1049c68e50c1a..5b98216ad456e66fac3a7ea686e67777bed646ce 100644
--- a/taskcluster/kinds/toolchain/fix-stacks.yml
+++ b/taskcluster/kinds/toolchain/fix-stacks.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: "fix-stacks toolchain build"
     attributes:
         local-toolchain: true
diff --git a/taskcluster/kinds/toolchain/gcc.yml b/taskcluster/kinds/toolchain/gcc.yml
index 2a09c37e6ca99e111320838a1a9231839fce1c83..478b6898785fccaaa10c6cf772ac3a34628cd88b 100644
--- a/taskcluster/kinds/toolchain/gcc.yml
+++ b/taskcluster/kinds/toolchain/gcc.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: b-linux-gcp
     worker:
         max-run-time: 3600
diff --git a/taskcluster/kinds/toolchain/geckodriver.yml b/taskcluster/kinds/toolchain/geckodriver.yml
index 252befa3fb5394b345a32892e51a7ff990385801..b06ad7b8f341d271b34d4d175602baaca1f5c235 100644
--- a/taskcluster/kinds/toolchain/geckodriver.yml
+++ b/taskcluster/kinds/toolchain/geckodriver.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: "geckodriver toolchain build"
     worker-type: b-linux-gcp
     worker:
diff --git a/taskcluster/kinds/toolchain/gn.yml b/taskcluster/kinds/toolchain/gn.yml
index d12b0f19c5fcfc3d6b44a61b77b1c03ef93e55d4..88add2067b4179adafa236cf871946cf5327be33 100644
--- a/taskcluster/kinds/toolchain/gn.yml
+++ b/taskcluster/kinds/toolchain/gn.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: "gn toolchain build"
     attributes:
         local-toolchain: true
diff --git a/taskcluster/kinds/toolchain/grcov.yml b/taskcluster/kinds/toolchain/grcov.yml
index 15fed687322ecd52ca1cf5e55218e0d84bd046a4..65d4d8f00797ffda2e58b07e1d6406a836e5426b 100644
--- a/taskcluster/kinds/toolchain/grcov.yml
+++ b/taskcluster/kinds/toolchain/grcov.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: "grcov toolchain build"
     worker-type: b-linux-gcp
     worker:
diff --git a/taskcluster/kinds/toolchain/hostutils.yml b/taskcluster/kinds/toolchain/hostutils.yml
index d9974e917a46b364e66ab88333d108451f41adfc..dbaa1954888b74ad9cd4959bf7872f14602cec35 100644
--- a/taskcluster/kinds/toolchain/hostutils.yml
+++ b/taskcluster/kinds/toolchain/hostutils.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: "hostutils toolchain build"
     worker-type: b-linux-gcp
     worker:
diff --git a/taskcluster/kinds/toolchain/kind.yml b/taskcluster/kinds/toolchain/kind.yml
index 524bb20670b796fe5d75fdc137b24ec29adba9df..14d43da9d4a80ccc425963b2f90d5328ef006684 100644
--- a/taskcluster/kinds/toolchain/kind.yml
+++ b/taskcluster/kinds/toolchain/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - fetch
@@ -14,7 +14,7 @@ transforms:
     - gecko_taskgraph.transforms.cached_tasks:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     treeherder:
         kind: build
         platform: toolchains/opt
@@ -23,7 +23,7 @@ job-defaults:
     run:
         using: toolchain-script
 
-jobs-from:
+tasks-from:
     - android.yml
     - cargo-vet.yml
     - cbindgen.yml
diff --git a/taskcluster/kinds/toolchain/libunwind.yml b/taskcluster/kinds/toolchain/libunwind.yml
index 5a1972f3f65112baba7c9d2f4bee746a56177055..e431c11b398e01cc5dd1335913bdc56c880e8b02 100644
--- a/taskcluster/kinds/toolchain/libunwind.yml
+++ b/taskcluster/kinds/toolchain/libunwind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: b-linux-gcp
     worker:
         max-run-time: 1800
diff --git a/taskcluster/kinds/toolchain/llvm-symbolizer.yml b/taskcluster/kinds/toolchain/llvm-symbolizer.yml
index 52c91ad542c91bf2da1aa0639673ba542ef306a9..57196b1cfb55b9a2e9ff1b1f77bd0d9bd4ec5748 100644
--- a/taskcluster/kinds/toolchain/llvm-symbolizer.yml
+++ b/taskcluster/kinds/toolchain/llvm-symbolizer.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: b-linux-large-gcp
     worker:
         max-run-time: 1800
diff --git a/taskcluster/kinds/toolchain/macos-sdk.yml b/taskcluster/kinds/toolchain/macos-sdk.yml
index 194a1ee20a025fcc87d92f46eb81a9cea2c9026a..dee5141d2e57aa39406d33bae20ac09418d6f329 100644
--- a/taskcluster/kinds/toolchain/macos-sdk.yml
+++ b/taskcluster/kinds/toolchain/macos-sdk.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     attributes:
         local-toolchain: true
     worker-type: b-linux-gcp
diff --git a/taskcluster/kinds/toolchain/mingw.yml b/taskcluster/kinds/toolchain/mingw.yml
index a14413669f191dbe3d2ebc25a60e092d4c82d456..fea1c207631f188635201666d1182fdb4fea9846 100644
--- a/taskcluster/kinds/toolchain/mingw.yml
+++ b/taskcluster/kinds/toolchain/mingw.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     treeherder:
         tier: 2
     worker-type: b-linux-gcp
diff --git a/taskcluster/kinds/toolchain/minidump-stackwalk.yml b/taskcluster/kinds/toolchain/minidump-stackwalk.yml
index f0f9b3e70cf0bd597c86bdb1c6ad9cc570342c38..a68f00e9694aaad43ed78c2183465a76d148ba71 100644
--- a/taskcluster/kinds/toolchain/minidump-stackwalk.yml
+++ b/taskcluster/kinds/toolchain/minidump-stackwalk.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: "minidump-stackwalk toolchain build"
     attributes:
         local-toolchain: true
diff --git a/taskcluster/kinds/toolchain/misc.yml b/taskcluster/kinds/toolchain/misc.yml
index 9207911d587559c6d2eee197e1ec82a78ce856fa..c9df4bebebbafd082251a70c6999204e9acfd918 100644
--- a/taskcluster/kinds/toolchain/misc.yml
+++ b/taskcluster/kinds/toolchain/misc.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: b-linux-gcp
     worker:
         max-run-time: 1800
diff --git a/taskcluster/kinds/toolchain/nasm.yml b/taskcluster/kinds/toolchain/nasm.yml
index 866aa5b0f65086e930d18fac3c7aa01e42136088..669c37ce86dc2c3ef5fad9ab3c846e1a732b50e1 100644
--- a/taskcluster/kinds/toolchain/nasm.yml
+++ b/taskcluster/kinds/toolchain/nasm.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: b-linux-gcp
     worker:
         max-run-time: 1800
diff --git a/taskcluster/kinds/toolchain/node.yml b/taskcluster/kinds/toolchain/node.yml
index 6ab3511aabca1a6d8216ff0e0ced04470377d1ef..46d14e82a9d8899a1cd86ef65a209d789c1a0823 100644
--- a/taskcluster/kinds/toolchain/node.yml
+++ b/taskcluster/kinds/toolchain/node.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: "Node repack toolchain build"
     attributes:
         local-toolchain: true
diff --git a/taskcluster/kinds/toolchain/pkgconf.yml b/taskcluster/kinds/toolchain/pkgconf.yml
index c97ead7accb5f68bfb71fa925c54b5a4580045d4..35b54d93985cdb48e3697b5eefe37cc35737fcc7 100644
--- a/taskcluster/kinds/toolchain/pkgconf.yml
+++ b/taskcluster/kinds/toolchain/pkgconf.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     attributes:
         local-toolchain: true
     description: "pkgconf toolchain build"
diff --git a/taskcluster/kinds/toolchain/python.yml b/taskcluster/kinds/toolchain/python.yml
index e610ee6e4e9f555864ede0f1950e1a1f0d835e60..7817004e92cf875a7f613727c05691e9d2eb5424 100644
--- a/taskcluster/kinds/toolchain/python.yml
+++ b/taskcluster/kinds/toolchain/python.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: "python repack"
     attributes:
         local-toolchain: true
diff --git a/taskcluster/kinds/toolchain/resourcemonitor.yml b/taskcluster/kinds/toolchain/resourcemonitor.yml
index f4ef9a41c4d6e049e5432f2c0051cac15823030d..fb31475d2355aeade9d5155308aefb6fdf86f8dd 100644
--- a/taskcluster/kinds/toolchain/resourcemonitor.yml
+++ b/taskcluster/kinds/toolchain/resourcemonitor.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: b-linux-gcp
     worker:
         max-run-time: 1800
diff --git a/taskcluster/kinds/toolchain/rust-size.yml b/taskcluster/kinds/toolchain/rust-size.yml
index 09963589a66ae10c2b0222330bbe0c0de08993d1..d57901a62bfb4f41a812be27009c3dd536123250 100644
--- a/taskcluster/kinds/toolchain/rust-size.yml
+++ b/taskcluster/kinds/toolchain/rust-size.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: "rust-size toolchain build"
     worker-type: b-linux-gcp
     worker:
diff --git a/taskcluster/kinds/toolchain/rust.yml b/taskcluster/kinds/toolchain/rust.yml
index 36a02f552b393691af0d71267ee392a20e861174..ba42733cbc2501c081c0579044c9e9941fbf0142 100644
--- a/taskcluster/kinds/toolchain/rust.yml
+++ b/taskcluster/kinds/toolchain/rust.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: "rust repack"
     worker-type: b-linux-gcp
     worker:
diff --git a/taskcluster/kinds/toolchain/sccache.yml b/taskcluster/kinds/toolchain/sccache.yml
index 6fa9ab46a5b36626b9cddb2360f0ddee2446c209..1cd04f47be61b1efd7c6991800565d6b7b85e5e9 100644
--- a/taskcluster/kinds/toolchain/sccache.yml
+++ b/taskcluster/kinds/toolchain/sccache.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     description: "sccache toolchain build"
     attributes:
         local-toolchain: true
diff --git a/taskcluster/kinds/toolchain/sysroot.yml b/taskcluster/kinds/toolchain/sysroot.yml
index 6f273fb611a7793c02ebf12292b9d60370ab96f1..3ae92ed72513731f1468a520a7228cc22bee617c 100644
--- a/taskcluster/kinds/toolchain/sysroot.yml
+++ b/taskcluster/kinds/toolchain/sysroot.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-job-defaults:
+task-defaults:
     worker-type: b-linux-gcp
     worker:
         max-run-time: 1800
diff --git a/taskcluster/kinds/trigger-comm-central/kind.yml b/taskcluster/kinds/trigger-comm-central/kind.yml
index 0b6dfb2c64b273686a91d7b8a62e57500ea2eb56..c03e911ac5692b95a911728af56bd412f241eaf5 100644
--- a/taskcluster/kinds/trigger-comm-central/kind.yml
+++ b/taskcluster/kinds/trigger-comm-central/kind.yml
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.trigger_comm_central:transforms
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     run-on-projects: ['mozilla-central-only']
     treeherder:
         kind: other
@@ -24,7 +24,7 @@ job-defaults:
         using: run-task
         checkout: false
 
-jobs:
+tasks:
     tb-rust:
         description: 'Schedule job to verify the comm-central copy of third_party/rust'
         treeherder:
diff --git a/taskcluster/kinds/ui-test-apk/kind.yml b/taskcluster/kinds/ui-test-apk/kind.yml
index d80d5139b729251e99e7740dcf08bb5a92f696b0..8a74c6dc62ba39b29d4bc2e8755600efb4b433cf 100644
--- a/taskcluster/kinds/ui-test-apk/kind.yml
+++ b/taskcluster/kinds/ui-test-apk/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - gecko_taskgraph.transforms.test_apk:transforms
@@ -15,7 +15,7 @@ kind-dependencies:
     - toolchain
     - signing-apk
 
-job-defaults:
+task-defaults:
     attributes:
         build_platform: android
         build-type: debug
@@ -110,7 +110,7 @@ job-defaults:
                         ]
                 'default': {}
 
-jobs:
+tasks:
     focus-arm-debug:
         attributes:
             build-type: focus-debug-firebase
diff --git a/taskcluster/kinds/updatebot/kind.yml b/taskcluster/kinds/updatebot/kind.yml
index 8b6ed560a1b6556de81117645b043e363468f8cb..77070464e2b8aef824260aece707bbfcb87fb6f4 100644
--- a/taskcluster/kinds/updatebot/kind.yml
+++ b/taskcluster/kinds/updatebot/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - fetch
@@ -13,7 +13,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-jobs:
+tasks:
     cron:
         description: Cron Job for Updatebot
         run-on-projects: []
diff --git a/taskcluster/kinds/upload-generated-sources-dummy/kind.yml b/taskcluster/kinds/upload-generated-sources-dummy/kind.yml
index 56e676283972b5d8f2f202a9f38c324f747da1bb..64514bcdfd1ad5f7fefad661a0408e993a575e39 100644
--- a/taskcluster/kinds/upload-generated-sources-dummy/kind.yml
+++ b/taskcluster/kinds/upload-generated-sources-dummy/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -18,7 +18,7 @@ kind-dependencies:
     - build
     - upload-generated-sources
 
-jobs:
+tasks:
     upload-generated-sources-dummy:
         description: Dummy task to pull in mac x64 and aarch64 upload-generated-symbols tasks
         from-deps:
diff --git a/taskcluster/kinds/upload-generated-sources/kind.yml b/taskcluster/kinds/upload-generated-sources/kind.yml
index 8ae78b0b28c56956066809af5bf5e6841d040a5f..6c4e6218d2ffc8f283e122673de5cd11e2d61a28 100644
--- a/taskcluster/kinds/upload-generated-sources/kind.yml
+++ b/taskcluster/kinds/upload-generated-sources/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -22,7 +22,7 @@ not-for-build-platforms:
     - macosx64-shippable/opt
     - macosx64-devedition/opt
 
-jobs:
+tasks:
     upload-generated-sources:
         description: Upload generated source files from build
         from-deps:
diff --git a/taskcluster/kinds/upload-symbols-dummy/kind.yml b/taskcluster/kinds/upload-symbols-dummy/kind.yml
index d9202ef3732b52ff550aa43f1b52e706bda1caa3..2333c29b0cf6bb25c415dd7bef355d6311564f92 100644
--- a/taskcluster/kinds/upload-symbols-dummy/kind.yml
+++ b/taskcluster/kinds/upload-symbols-dummy/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -18,7 +18,7 @@ kind-dependencies:
     - build
     - upload-symbols
 
-jobs:
+tasks:
     upload-symbols-dummy:
         description: Dummy task to pull in mac x64 and aarch64 upload-symbols tasks
         from-deps:
diff --git a/taskcluster/kinds/upload-symbols/kind.yml b/taskcluster/kinds/upload-symbols/kind.yml
index cf6875520a22575fcd67f244380831f9f2dcd462..4d401fd4b1fd21bf13c62497e67912f8319512a5 100644
--- a/taskcluster/kinds/upload-symbols/kind.yml
+++ b/taskcluster/kinds/upload-symbols/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 transforms:
     - taskgraph.transforms.from_deps
@@ -27,7 +27,7 @@ not-for-build-platforms:
     - win64-geckodriver/opt
     - win64-aarch64-geckodriver/opt
 
-jobs:
+tasks:
     upload-symbols:
         description: Upload Symbols
         from-deps:
diff --git a/taskcluster/kinds/valgrind/kind.yml b/taskcluster/kinds/valgrind/kind.yml
index 068fd572a14b8cfcba0ffaff592978d20bb699d0..fc17ce5bed986bf1b5ba154187157324749eddae 100644
--- a/taskcluster/kinds/valgrind/kind.yml
+++ b/taskcluster/kinds/valgrind/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -14,12 +14,12 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     attributes:
         retrigger: true
     use-python: default
 
-jobs:
+tasks:
     linux64-valgrind-qr/opt-swr:
         description: "Linux64 Valgrind Opt WebRender"
         index:
diff --git a/taskcluster/kinds/webrender/kind.yml b/taskcluster/kinds/webrender/kind.yml
index 9443a096c174b09c64f8f29387fa21280d19bd01..7525a866d5275cb741062195140eb520018bd3e2 100644
--- a/taskcluster/kinds/webrender/kind.yml
+++ b/taskcluster/kinds/webrender/kind.yml
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
-loader: gecko_taskgraph.loader.transform:loader
+loader: taskgraph.loader.transform:loader
 
 kind-dependencies:
     - toolchain
@@ -12,7 +12,7 @@ transforms:
     - gecko_taskgraph.transforms.job:transforms
     - gecko_taskgraph.transforms.task:transforms
 
-job-defaults:
+task-defaults:
     attributes:
         retrigger: true
     run-on-projects: ['integration', 'release']
@@ -28,7 +28,7 @@ job-defaults:
         sparse-profile: webrender
     use-python: default
 
-jobs:
+tasks:
     lint-tidy:
         description: Runs linting checks on WebRender code
         worker-type: b-linux-gcp
diff --git a/testing/web-platform/mozilla/tests/html/rendering/non-replaced-elements/form-controls/input-number-size.html b/testing/web-platform/mozilla/tests/html/rendering/non-replaced-elements/form-controls/input-number-size.html
new file mode 100644
index 0000000000000000000000000000000000000000..420fc6a03271c65b105d406576fca33897b5b5f1
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/html/rendering/non-replaced-elements/form-controls/input-number-size.html
@@ -0,0 +1,33 @@
+<!doctype html>
+<meta charset=utf-8>
+<link rel="help" href="https://bugzilla.mozilla.org/1905743">
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<input id="implicit-number" type="number">
+<input id="implicit-text" type="text">
+
+<input id="explicit-number" type="number" size="1">
+<input id="explicit-text" type="text" size="1">
+
+<input id="minmax-number" type="number" min="1" max="9">
+
+<script>
+
+function assert_width(number, text, shouldBeEqual) {
+  let w1 = document.getElementById(number).getBoundingClientRect().width;
+  let w2 = document.getElementById(text).getBoundingClientRect().width;
+
+  if (shouldBeEqual) {
+    assert_equals(w1, w2, `${number} vs. ${text}`);
+  } else {
+    assert_greater_than(w1, w2, `${number} vs. ${text}`);
+  }
+}
+
+test(function() {
+  assert_width("implicit-number", "implicit-text", true);
+  const hasNoSpinners = navigator.appVersion.includes("Android");
+  assert_width("explicit-number", "explicit-text", hasNoSpinners);
+  assert_width("minmax-number", "explicit-text", hasNoSpinners);
+});
+</script>
diff --git a/testing/web-platform/tests/html/rendering/widgets/input-number-text-size-ref.html b/testing/web-platform/tests/html/rendering/widgets/input-number-text-size-ref.html
index 4c9b244990d611686614d409d315d74a0f4bd119..6c831941f08516313cf542cd4665b0dc305afd50 100644
--- a/testing/web-platform/tests/html/rendering/widgets/input-number-text-size-ref.html
+++ b/testing/web-platform/tests/html/rendering/widgets/input-number-text-size-ref.html
@@ -2,7 +2,6 @@
 <input type=number><br>
 <input type=number><br>
 <input type=number><br>
-<input type=number><br>
 <input type=number size=10><br>
 <input type=number><br>
 <input type=number size=1><br>
diff --git a/testing/web-platform/tests/html/rendering/widgets/input-number-text-size.tentative.html b/testing/web-platform/tests/html/rendering/widgets/input-number-text-size.tentative.html
index e7b1a1990dcd4f6af2efad70705b7523460c15db..0850f0558e3fb97e31b25f4b9aa498e59f08f7cd 100644
--- a/testing/web-platform/tests/html/rendering/widgets/input-number-text-size.tentative.html
+++ b/testing/web-platform/tests/html/rendering/widgets/input-number-text-size.tentative.html
@@ -4,7 +4,6 @@
 <title>Test `size` attribute behavior on number input</title>
 <link rel="match" href="input-number-text-size-ref.html">
 <input type=number><br>
-<input type=number size=20><br>
 <input type=number min=0><br>
 <input type=number max=1><br>
 <input type=number size=10 min=0 max=1><br>
diff --git a/third_party/python/poetry.lock b/third_party/python/poetry.lock
index 69dfc282d5b67cc138f1d08a305d7d4d8580962f..61c406a7dc7fb76b188ca4c6685e0efbfff3893b 100644
--- a/third_party/python/poetry.lock
+++ b/third_party/python/poetry.lock
@@ -1348,13 +1348,13 @@ test = ["aiofiles", "coverage", "flake8", "httmock", "httptest", "hypothesis", "
 
 [[package]]
 name = "taskcluster-taskgraph"
-version = "8.2.0"
+version = "9.0.0"
 description = "Build taskcluster taskgraphs"
 optional = false
 python-versions = "*"
 files = [
-    {file = "taskcluster-taskgraph-8.2.0.tar.gz", hash = "sha256:af146323402c2d5f67c65e3c232eda953da1ce319e465069e4d5c7aeb212b66e"},
-    {file = "taskcluster_taskgraph-8.2.0-py3-none-any.whl", hash = "sha256:410e9c9ef43eac1d0676f16867137de90f77eb0b4e0cbe746fe5512d1a626822"},
+    {file = "taskcluster-taskgraph-9.0.0.tar.gz", hash = "sha256:3ebc1a07c31168c19159e71507341b40fc33ae3e652c7c80d8871904855021d1"},
+    {file = "taskcluster_taskgraph-9.0.0-py3-none-any.whl", hash = "sha256:306366c70da7353cc198406a36630b28ecc77ded32f7e4ca0187913d56c40713"},
 ]
 
 [package.dependencies]
@@ -1594,4 +1594,4 @@ testing = ["func-timeout", "jaraco.itertools", "pytest (>=4.6)", "pytest-black (
 [metadata]
 lock-version = "2.0"
 python-versions = "^3.8"
-content-hash = "9d5a7fe02c75289433a471dfd831a195ff604744f787c6b2b91d4af159c98475"
+content-hash = "f372bf50cc4ec17d72e7ccb25bef84b3fe27913479e4031090e17c0926e849e0"
diff --git a/third_party/python/requirements.in b/third_party/python/requirements.in
index cc75eecbaaca14784f85a959c3686a46a629aff1..03803cb70b619ff79aa7268c4abdb0a05ac3cc64 100644
--- a/third_party/python/requirements.in
+++ b/third_party/python/requirements.in
@@ -53,7 +53,7 @@ setuptools==70.0.0
 six==1.16.0
 slugid==2.0.0
 taskcluster==44.2.2
-taskcluster-taskgraph==8.2.0
+taskcluster-taskgraph==9.0.0
 taskcluster-urls==13.0.1
 toml==0.10.2
 tomlkit==0.12.3
diff --git a/third_party/python/requirements.txt b/third_party/python/requirements.txt
index 835e73aa312cc50d75c878d6d2cb5a909d34c9d7..31fd9a3dfa0aafffa6480941998d4f5d127faf3f 100644
--- a/third_party/python/requirements.txt
+++ b/third_party/python/requirements.txt
@@ -545,9 +545,9 @@ six==1.16.0 ; python_version >= "3.8" and python_version < "4.0" \
 slugid==2.0.0 ; python_version >= "3.8" and python_version < "4.0" \
     --hash=sha256:a950d98b72691178bdd4d6c52743c4a2aa039207cf7a97d71060a111ff9ba297 \
     --hash=sha256:aec8b0e01c4ad32e38e12d609eab3ec912fd129aaf6b2ded0199b56a5f8fd67c
-taskcluster-taskgraph==8.2.0 ; python_version >= "3.8" and python_version < "4.0" \
-    --hash=sha256:410e9c9ef43eac1d0676f16867137de90f77eb0b4e0cbe746fe5512d1a626822 \
-    --hash=sha256:af146323402c2d5f67c65e3c232eda953da1ce319e465069e4d5c7aeb212b66e
+taskcluster-taskgraph==9.0.0 ; python_version >= "3.8" and python_version < "4.0" \
+    --hash=sha256:306366c70da7353cc198406a36630b28ecc77ded32f7e4ca0187913d56c40713 \
+    --hash=sha256:3ebc1a07c31168c19159e71507341b40fc33ae3e652c7c80d8871904855021d1
 taskcluster-urls==13.0.1 ; python_version >= "3.8" and python_version < "4.0" \
     --hash=sha256:5e25e7e6818e8877178b175ff43d2e6548afad72694aa125f404a7329ece0973 \
     --hash=sha256:b25e122ecec249c4299ac7b20b08db76e3e2025bdaeb699a9d444556de5fd367 \
diff --git a/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-8.2.0.dist-info/LICENSE b/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-9.0.0.dist-info/LICENSE
similarity index 100%
rename from third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-8.2.0.dist-info/LICENSE
rename to third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-9.0.0.dist-info/LICENSE
diff --git a/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-8.2.0.dist-info/METADATA b/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-9.0.0.dist-info/METADATA
similarity index 99%
rename from third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-8.2.0.dist-info/METADATA
rename to third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-9.0.0.dist-info/METADATA
index 74c9f8122f99be1992e43463a96c31583ee7ecb9..4c8f2b891e38bf9d5ae8a6d9e5781c60cc775587 100644
--- a/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-8.2.0.dist-info/METADATA
+++ b/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-9.0.0.dist-info/METADATA
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: taskcluster-taskgraph
-Version: 8.2.0
+Version: 9.0.0
 Summary: Build taskcluster taskgraphs
 Home-page: https://github.com/taskcluster/taskgraph
 Classifier: Development Status :: 5 - Production/Stable
diff --git a/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-8.2.0.dist-info/RECORD b/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-9.0.0.dist-info/RECORD
similarity index 73%
rename from third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-8.2.0.dist-info/RECORD
rename to third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-9.0.0.dist-info/RECORD
index 37656c752ee7616246f5025f0156857906d6cc36..0c4d7f756a0ec6f7bfd8423ef1dccbb31f927048 100644
--- a/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-8.2.0.dist-info/RECORD
+++ b/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-9.0.0.dist-info/RECORD
@@ -1,8 +1,8 @@
-taskgraph/__init__.py,sha256=Y7AMSO_xkN6zeyK0gagjJ7_kp0ra84C6-RPuLB6FH_A,729
+taskgraph/__init__.py,sha256=NykHPPwI6WNYfpNLs36tia-XBLq5qgICKAaZV_caRa8,729
 taskgraph/config.py,sha256=8vntWUrPwGds22mFKYAgcsD4Mr8hoONTv2ssGBcClLw,5108
 taskgraph/create.py,sha256=_zokjSM3ZaO04l2LiMhenE8qXDZVfYvueIIu5hGUhzc,5185
 taskgraph/decision.py,sha256=gIvVLfMTd6KtnrTFkmFTrky93mknB9dxtL7_aZwEtoA,13088
-taskgraph/docker.py,sha256=Tw2L4A3Mb3P4BdSkVilhSf8Ob38j15xIYYxtUXSDT9s,8415
+taskgraph/docker.py,sha256=86sCVmHWR9t9u1sEFIpzqSEVU_mQRY8BaWOxPNn23lM,8411
 taskgraph/filter_tasks.py,sha256=R7tYXiaVPGIkQ6O1c9-QJrKZ59m9pFXCloUlPraVnZU,866
 taskgraph/generator.py,sha256=zrH1zfy-8akksKTSOf6e4FEsdOd5y7-h1Jne_2Jabcc,15703
 taskgraph/graph.py,sha256=bHUsv2pPa2SSaWgBY-ItIj7REPd0o4fFYrwoQbwFKTY,4680
@@ -17,7 +17,7 @@ taskgraph/actions/add_new_jobs.py,sha256=c8vGWGXMr4qqW2Axz9rbBrDopabZB3gf3SVFLBZ
 taskgraph/actions/cancel.py,sha256=xrIzlB5KzcnQ4_HultoIcnlxtbQhUi7723g5K2iQoY0,1263
 taskgraph/actions/cancel_all.py,sha256=zNiHtOiSQQxLyNJYtaW0JKPazHXSgZrq1C6o8DGYxG8,1887
 taskgraph/actions/rebuild_cached_tasks.py,sha256=r1QTri2ey30TdEztUgc-nkiHdJPe8Sbn7FvKeR_kt0Y,1115
-taskgraph/actions/registry.py,sha256=hubblOhL3fbWDRtKv7_6HiD0P94hzQrpjdMkj23CGCg,13564
+taskgraph/actions/registry.py,sha256=StbcyrCjV3J_fM9jsj0QR9yVXsUY1wYHpUybgTOhvqY,13588
 taskgraph/actions/retrigger.py,sha256=MKkoZDAe0SKIq6fHqwAc1Ici_wIGRd7MxeBNhwoDEGE,9388
 taskgraph/actions/util.py,sha256=gB8MZb8juP1S7EsLHJivr6BBY2bf5IUiIpN7Mq9-kXo,10964
 taskgraph/loader/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -31,30 +31,30 @@ taskgraph/run-task/hgrc,sha256=BybWLDR89bWi3pE5T05UqmDHs02CbLypE-omLZWU6Uk,896
 taskgraph/run-task/robustcheckout.py,sha256=vPKvHb3fIIJli9ZVZG88XYoa8Sohy2JrpmH6pDgBDHI,30813
 taskgraph/run-task/run-task,sha256=ev64Ud2X3482B05aurUcWD93_sZS1aW2N-eVutRHF5k,45753
 taskgraph/transforms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-taskgraph/transforms/base.py,sha256=z20Yh619srbwuQJWASRtG2_j6NUbWlCujTTCHWLa0GY,5147
-taskgraph/transforms/cached_tasks.py,sha256=Z10VD1kEBVXJvj8qSsNTq2mYpklh0V1EN8OT6QK3v_E,2607
+taskgraph/transforms/base.py,sha256=OYIsK4-pPFPhuK2wV7qyeZSSsPaZdJQuI-ixHf4fbeQ,5155
+taskgraph/transforms/cached_tasks.py,sha256=h6UOuxWm2-5oxIE7DJLuCGprQW3Av4j2CkSM19J5LJE,2839
 taskgraph/transforms/chunking.py,sha256=7z9oXiA2dDguYwJPaZYCi-fEzbc--O9avZAFS3vP_kg,2592
 taskgraph/transforms/code_review.py,sha256=tevRFQli3MkzW_0Zhr-hwlVti8hFaXEz94llwhBu_ns,713
 taskgraph/transforms/docker_image.py,sha256=GScS7Lld3YcS57eC30wp3DJM_ATLrmmVfZzINKgC1fM,7546
-taskgraph/transforms/fetch.py,sha256=u1M57LQOi0kHz6FFP1qah3yJh15eXYqQCF_F6r5qjh0,10662
+taskgraph/transforms/fetch.py,sha256=5G29zOgoJNTWJvnZ4JH9hXfrJqtqdxCoEPA264Qv1-0,10607
 taskgraph/transforms/from_deps.py,sha256=_cdIefdRkZYWaFJaWpsglivvG8bBGWd4beg7QgNl0Jc,8885
 taskgraph/transforms/notify.py,sha256=0sga-Ls9dhWLAsL0FBjXmVbbduee8LAZp_1pHBQR0iI,6019
-taskgraph/transforms/task.py,sha256=nRzNAxLjA6BsFktZAA9Upqb_pSFNhjoCzKm0QDxvVgM,52586
+taskgraph/transforms/task.py,sha256=lWAIGINdeikGU1U2T11w56opjZPU0LZj8tv7d8lYC6Y,52604
 taskgraph/transforms/task_context.py,sha256=9v3ke967atAYCtQxIblSFucJA1tum9Q8QpXQeTwNIzU,4278
 taskgraph/transforms/run/__init__.py,sha256=gVJ4eNquKNlygX18OtWTDnl6FFsZlA12bxfvB3kZz14,17761
 taskgraph/transforms/run/common.py,sha256=G3WdMHU5YWUfk1uR6xsxWY7MQKjU9tnqtRDmGttUqt4,5626
 taskgraph/transforms/run/index_search.py,sha256=ABIaX2FFx02o1StZgNAB_ZDXc1lTFO2aUIBH5BuUjtA,1224
 taskgraph/transforms/run/run_task.py,sha256=0GI8syzGtRDT07g_6SXG99JtxDBe09zsW5ltL-aUhYU,8403
-taskgraph/transforms/run/toolchain.py,sha256=KiuBfJ6CShwGYIIljy4i7iYSHFFXF_A_zSvRGUgYboA,6033
+taskgraph/transforms/run/toolchain.py,sha256=3dzNOA2GriihcLgoJLfBG2v1F3Mka8aJdQ2rCXC1lv4,6141
 taskgraph/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
-taskgraph/util/archive.py,sha256=NIqg2Su5PUqOv4JM60uFixsMsOXN26u5paB1Uh6foSI,4707
+taskgraph/util/archive.py,sha256=qfqp00RmH6Fd1cM-7uW8_u3DEZSW2BedxAodg28-RoU,4700
 taskgraph/util/attributes.py,sha256=pPOFmwkDQQ-IqfDpVghZ10YI_qXRY4Bi5JP3xr6XVvc,2964
 taskgraph/util/cached_tasks.py,sha256=-AqmOjrkI5PMAlAlQl1wShCrs0HA5lWLBgkxTcFstFM,4150
+taskgraph/util/copy.py,sha256=-AgF3oPF3lfiUHvAOiGkhUzS68i9kcWRsyDSiBkAVCw,1577
 taskgraph/util/dependencies.py,sha256=3Qba3zI87JYR5fk5FndGzEVW-5NIzzZrBf9rVYcnLD0,2734
-taskgraph/util/docker.py,sha256=ffQ6KloQNz_kwYemSZEkh4xUMVMeotnnwphWZth1PqQ,8112
-taskgraph/util/hash.py,sha256=U5h6WwC3zs0ooX8odc7AjgPQKKFpDXL7PemoyENPJYo,1644
+taskgraph/util/docker.py,sha256=2boH7CLXA4D7zvpp9S3atqJuKtDq4AzRvKLDCeTp6Tc,8132
+taskgraph/util/hash.py,sha256=l3l_urIfUN0u1S9xa496_p_Te1Ab4rW_gr0h0JcRzEI,1694
 taskgraph/util/keyed_by.py,sha256=EMWNRRqYB0AS7A4Y4lthYf2HB7G2ercGFf4hN9zwyaY,3348
-taskgraph/util/memoize.py,sha256=CvCGl-_qft062b3GZC4aHbPfEOPtqR9oOUEqvk9aojQ,294
 taskgraph/util/parameterization.py,sha256=DiPE-4jappGMPljDhhZI52BP7dLBGZHu5EI1cW4aRYg,3392
 taskgraph/util/path.py,sha256=e-JloOQV2-Oua_pe335bv4xWAB07vb82TKpu_zCOl0w,4466
 taskgraph/util/python_path.py,sha256=ed4F5z2mId56LauVczgxm_LGxgQi8XlxlYDgXOPZyII,1576
@@ -62,18 +62,18 @@ taskgraph/util/readonlydict.py,sha256=XzTG-gqGqWVlSkDxSyOL6Ur7Z0ONhIJ9DVLWV3q4q1
 taskgraph/util/schema.py,sha256=HmbbJ_i5uxZZHZSJ8sVWaD-VMhZI4ymx0STNcjO5t2M,8260
 taskgraph/util/set_name.py,sha256=cha9awo2nMQ9jfSEcbyNkZkCq_1Yg_kKJTfvDzabHSc,1134
 taskgraph/util/shell.py,sha256=nf__ly0Ikhj92AiEBCQtvyyckm8UfO_3DSgz0SU-7QA,1321
-taskgraph/util/taskcluster.py,sha256=-BlQqkxxH5S2BbZ4X2c0lNd1msU2xLM1S5rr8qrLwkE,15961
+taskgraph/util/taskcluster.py,sha256=IxtqHDTLKiRIfs-rSdCtQ4c9Pzm-jp0OOZ3EecwcSc0,16022
 taskgraph/util/taskgraph.py,sha256=ecKEvTfmLVvEKLPO_0g34CqVvc0iCzuNMh3064BZNrE,1969
-taskgraph/util/templates.py,sha256=HGTaIKCpAwEzBDHq0cDai1HJjPJrdnHsjJz6N4LVpKI,2139
+taskgraph/util/templates.py,sha256=nBYsugF7ER_oo5s8fgPcEj-xv1lt1ofED0XM2oL_6l8,2448
 taskgraph/util/time.py,sha256=XauJ0DbU0fyFvHLzJLG4ehHv9KaKixxETro89GPC1yk,3350
 taskgraph/util/treeherder.py,sha256=kc8jCy_lYduBxVMYOQzWpmI_6i2bRmkQLKq5DGmbiDI,2721
 taskgraph/util/vcs.py,sha256=FjS82fiTsoQ_ArjTCDOtDGfNdVUp_8zvVKB9SoAG3Rs,18019
-taskgraph/util/verify.py,sha256=htrNX7aXMMDzxymsFVcs0kaO5gErFHd62g9cQsZI_WE,8518
-taskgraph/util/workertypes.py,sha256=1wgM6vLrlgtyv8854anVIs0Bx11kV8JJJaKcOHJc2j0,2498
+taskgraph/util/verify.py,sha256=RbjKw6aAux5skXf2BihCdH7qyLWAU_plTYQ4GlRLBr0,8983
+taskgraph/util/workertypes.py,sha256=jGgd0SS_6YCIYZa_pzv6fQRocIN-tITRa9J_8GYYR0E,2538
 taskgraph/util/yaml.py,sha256=-LaIf3RROuaSWckOOGN5Iviu-DHWxIChgHn9a7n6ec4,1059
-taskcluster_taskgraph-8.2.0.dist-info/LICENSE,sha256=HyVuytGSiAUQ6ErWBHTqt1iSGHhLmlC8fO7jTCuR8dU,16725
-taskcluster_taskgraph-8.2.0.dist-info/METADATA,sha256=minv1wMCm1M-KJtSo85Cj_tUPkQEdc3OuqHt-HT4tjE,4688
-taskcluster_taskgraph-8.2.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
-taskcluster_taskgraph-8.2.0.dist-info/entry_points.txt,sha256=2hxDzE3qq_sHh-J3ROqwpxgQgxO-196phWAQREl2-XA,50
-taskcluster_taskgraph-8.2.0.dist-info/top_level.txt,sha256=3JNeYn_hNiNXC7DrdH_vcv-WYSE7QdgGjdvUYvSjVp0,10
-taskcluster_taskgraph-8.2.0.dist-info/RECORD,,
+taskcluster_taskgraph-9.0.0.dist-info/LICENSE,sha256=HyVuytGSiAUQ6ErWBHTqt1iSGHhLmlC8fO7jTCuR8dU,16725
+taskcluster_taskgraph-9.0.0.dist-info/METADATA,sha256=AHniWr500d-iCHqCQGnb4AUyPe3McIlOLFg8Mh7-Th4,4688
+taskcluster_taskgraph-9.0.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
+taskcluster_taskgraph-9.0.0.dist-info/entry_points.txt,sha256=2hxDzE3qq_sHh-J3ROqwpxgQgxO-196phWAQREl2-XA,50
+taskcluster_taskgraph-9.0.0.dist-info/top_level.txt,sha256=3JNeYn_hNiNXC7DrdH_vcv-WYSE7QdgGjdvUYvSjVp0,10
+taskcluster_taskgraph-9.0.0.dist-info/RECORD,,
diff --git a/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-8.2.0.dist-info/WHEEL b/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-9.0.0.dist-info/WHEEL
similarity index 100%
rename from third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-8.2.0.dist-info/WHEEL
rename to third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-9.0.0.dist-info/WHEEL
diff --git a/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-8.2.0.dist-info/entry_points.txt b/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-9.0.0.dist-info/entry_points.txt
similarity index 100%
rename from third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-8.2.0.dist-info/entry_points.txt
rename to third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-9.0.0.dist-info/entry_points.txt
diff --git a/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-8.2.0.dist-info/top_level.txt b/third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-9.0.0.dist-info/top_level.txt
similarity index 100%
rename from third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-8.2.0.dist-info/top_level.txt
rename to third_party/python/taskcluster_taskgraph/taskcluster_taskgraph-9.0.0.dist-info/top_level.txt
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/__init__.py b/third_party/python/taskcluster_taskgraph/taskgraph/__init__.py
index 97ede8f1427fbb544c3f9d2364c1923b3a7aab72..df4fe0a8927d64243cbe5813ecd296a61a9a876c 100644
--- a/third_party/python/taskcluster_taskgraph/taskgraph/__init__.py
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/__init__.py
@@ -2,7 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-__version__ = "8.2.0"
+__version__ = "9.0.0"
 
 # Maximum number of dependencies a single task can have
 # https://docs.taskcluster.net/reference/platform/taskcluster-queue/references/api#createTask
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/actions/registry.py b/third_party/python/taskcluster_taskgraph/taskgraph/actions/registry.py
index 20955bd3f2eb96dd5ee05ba6275738139cc3fd74..ff928e32a1b31707f8472c329e5e61945df203cb 100644
--- a/third_party/python/taskcluster_taskgraph/taskgraph/actions/registry.py
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/actions/registry.py
@@ -3,6 +3,7 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 
+import functools
 import json
 from collections import namedtuple
 from types import FunctionType
@@ -13,7 +14,6 @@ from taskgraph import create
 from taskgraph.config import load_graph_config
 from taskgraph.parameters import Parameters
 from taskgraph.util import hash, taskcluster, yaml
-from taskgraph.util.memoize import memoize
 from taskgraph.util.python_path import import_sibling_modules
 
 actions = []
@@ -31,13 +31,13 @@ def is_json(data):
     return True
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def read_taskcluster_yml(filename):
-    """Load and parse .taskcluster.yml, memoized to save some time"""
+    """Load and parse .taskcluster.yml, cached to save some time"""
     return yaml.load_yaml(filename)
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def hash_taskcluster_yml(filename):
     """
     Generate a hash of the given .taskcluster.yml.  This is the first 10 digits
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/docker.py b/third_party/python/taskcluster_taskgraph/taskgraph/docker.py
index a5ecfee8d92d28c5c2fe48ba12cff0ac212c490f..cf3ad8793a075ea8598c9e2f49fe00335c067044 100644
--- a/third_party/python/taskcluster_taskgraph/taskgraph/docker.py
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/docker.py
@@ -102,7 +102,7 @@ def build_context(name, outputFile, args=None):
 
     image_dir = docker.image_path(name)
     if not os.path.isdir(image_dir):
-        raise Exception("image directory does not exist: %s" % image_dir)
+        raise Exception(f"image directory does not exist: {image_dir}")
 
     docker.create_context_tar(".", image_dir, outputFile, args)
 
@@ -117,7 +117,7 @@ def build_image(name, tag, args=None):
 
     image_dir = docker.image_path(name)
     if not os.path.isdir(image_dir):
-        raise Exception("image directory does not exist: %s" % image_dir)
+        raise Exception(f"image directory does not exist: {image_dir}")
 
     tag = tag or docker.docker_image(name, by_tag=True)
 
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/transforms/base.py b/third_party/python/taskcluster_taskgraph/taskgraph/transforms/base.py
index fda0c584fc7207550a6ef70e07f4b09c1f8c3ab4..4626ca8d042887910c518e5e444bf4912272c895 100644
--- a/third_party/python/taskcluster_taskgraph/taskgraph/transforms/base.py
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/transforms/base.py
@@ -3,6 +3,7 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 
+import functools
 import re
 from dataclasses import dataclass, field
 from typing import Dict, List, Union
@@ -11,7 +12,6 @@ from taskgraph.task import Task
 
 from ..config import GraphConfig
 from ..parameters import Parameters
-from ..util.memoize import memoize
 from ..util.schema import Schema, validate_schema
 
 
@@ -58,7 +58,7 @@ class TransformConfig:
     write_artifacts: bool
 
     @property
-    @memoize
+    @functools.lru_cache(maxsize=None)
     def repo_configs(self):
         repositories = self.graph_config["taskgraph"]["repositories"]
         if len(repositories) == 1:
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/transforms/cached_tasks.py b/third_party/python/taskcluster_taskgraph/taskgraph/transforms/cached_tasks.py
index 57a55dffb340b21dee4afeb94c205554197595d6..a507e965ee45c883abb0ec068c5c6ff304b0cf51 100644
--- a/third_party/python/taskcluster_taskgraph/taskgraph/transforms/cached_tasks.py
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/transforms/cached_tasks.py
@@ -77,7 +77,14 @@ def cache_task(config, tasks):
                         task["label"], p
                     )
                 )
+
         digest_data = cache["digest-data"] + sorted(dependency_digests)
+
+        # Chain of trust affects task artifacts therefore it should influence
+        # cache digest.
+        if task.get("worker", {}).get("chain-of-trust"):
+            digest_data.append(str(task["worker"]["chain-of-trust"]))
+
         add_optimization(
             config,
             task,
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/transforms/fetch.py b/third_party/python/taskcluster_taskgraph/taskgraph/transforms/fetch.py
index 0e1b739677e5953718a606bc299bf5a071433037..87887eaeda651c892f09002b29ed476c0dd084f7 100644
--- a/third_party/python/taskcluster_taskgraph/taskgraph/transforms/fetch.py
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/transforms/fetch.py
@@ -128,7 +128,7 @@ def make_task(config, tasks):
             "name": name,
             "description": task["description"],
             "expires-after": task.get("expires-after", expires),
-            "label": "fetch-%s" % name,
+            "label": f"fetch-{name}",
             "run-on-projects": [],
             "run": {
                 "using": "run-task",
@@ -265,12 +265,7 @@ def create_fetch_url_task(config, name, fetch):
         for k, v in fetch["headers"].items():
             command.extend(["-H", f"{k}:{v}"])
 
-    command.extend(
-        [
-            fetch["url"],
-            "/builds/worker/artifacts/%s" % artifact_name,
-        ]
-    )
+    command.extend([fetch["url"], f"/builds/worker/artifacts/{artifact_name}"])
 
     return {
         "command": command,
@@ -316,7 +311,7 @@ def create_git_fetch_task(config, name, fetch):
         path_prefix,
         fetch["repo"],
         fetch["revision"],
-        "/builds/worker/artifacts/%s" % artifact_name,
+        f"/builds/worker/artifacts/{artifact_name}",
     ]
 
     ssh_key = fetch.get("ssh-key")
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/transforms/run/toolchain.py b/third_party/python/taskcluster_taskgraph/taskgraph/transforms/run/toolchain.py
index 59e66cb973d2f530a4278953fdf232a0cc4ce6c2..02f04940ce3cc91e0d2e36e39cf344c9587f1e5b 100644
--- a/third_party/python/taskcluster_taskgraph/taskgraph/transforms/run/toolchain.py
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/transforms/run/toolchain.py
@@ -14,6 +14,7 @@ from taskgraph.transforms.run.common import (
     generic_worker_add_artifacts,
     get_vcsdir_name,
 )
+from taskgraph.util import path as mozpath
 from taskgraph.util.hash import hash_paths
 from taskgraph.util.schema import Schema
 from taskgraph.util.shell import quote as shell_quote
@@ -57,7 +58,8 @@ toolchain_run_schema = Schema(
 def get_digest_data(config, run, taskdesc):
     files = list(run.pop("resources", []))
     # The script
-    files.append("taskcluster/scripts/toolchain/{}".format(run["script"]))
+    script = mozpath.join("taskcluster/scripts/toolchain/", run["script"])
+    files.append(mozpath.normpath(script))
 
     # Accumulate dependency hashes for index generation.
     data = [hash_paths(config.graph_config.vcs_root, files)]
@@ -126,16 +128,14 @@ def common_toolchain(config, task, taskdesc, is_docker):
             "digest-data": get_digest_data(config, run, taskdesc),
         }
 
-    script = run.pop("script")
+    script = mozpath.join("taskcluster/scripts/toolchain/", run.pop("script"))
     run["using"] = "run-task"
     run["cwd"] = "{checkout}/.."
 
     if script.endswith(".ps1"):
         run["exec-with"] = "powershell"
 
-    command = [f"{srcdir}/taskcluster/scripts/toolchain/{script}"] + run.pop(
-        "arguments", []
-    )
+    command = [f"{srcdir}/{mozpath.normpath(script)}"] + run.pop("arguments", [])
 
     if not is_docker:
         # Don't quote the first item in the command because it purposely contains
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/transforms/task.py b/third_party/python/taskcluster_taskgraph/taskgraph/transforms/task.py
index 168b8c00c9f06a07fe73022ca0f414a997c82ec5..ce49434050c885e0e0e37f1a7d9580c6d87bf48e 100644
--- a/third_party/python/taskcluster_taskgraph/taskgraph/transforms/task.py
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/transforms/task.py
@@ -9,6 +9,7 @@ complexities of worker implementations, scopes, and treeherder annotations.
 """
 
 
+import functools
 import hashlib
 import os
 import re
@@ -23,7 +24,6 @@ from taskgraph import MAX_DEPENDENCIES
 from taskgraph.transforms.base import TransformSequence
 from taskgraph.util.hash import hash_path
 from taskgraph.util.keyed_by import evaluate_keyed_by
-from taskgraph.util.memoize import memoize
 from taskgraph.util.schema import (
     OptimizationSchema,
     Schema,
@@ -43,7 +43,7 @@ RUN_TASK = os.path.join(
 )
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def _run_task_suffix():
     """String to append to cache names under control of run-task."""
     return hash_path(RUN_TASK)[0:20]
@@ -214,14 +214,14 @@ def get_branch_rev(config):
     return config.params["head_rev"]
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def get_default_priority(graph_config, project):
     return evaluate_keyed_by(
         graph_config["task-priority"], "Graph Config", {"project": project}
     )
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def get_default_deadline(graph_config, project):
     return evaluate_keyed_by(
         graph_config["task-deadline-after"], "Graph Config", {"project": project}
@@ -380,10 +380,10 @@ def build_docker_worker_payload(config, task, task_def):
             for v in sorted(volumes):
                 if v in worker["volumes"]:
                     raise Exception(
-                        "volume %s already defined; "
+                        f"volume {v} already defined; "
                         "if it is defined in a Dockerfile, "
                         "it does not need to be specified in the "
-                        "worker definition" % v
+                        "worker definition"
                     )
 
                 worker["volumes"].append(v)
@@ -544,9 +544,7 @@ def build_docker_worker_payload(config, task, task_def):
                 suffix=suffix,
             )
             caches[name] = cache["mount-point"]
-            task_def["scopes"].append(
-                {"task-reference": "docker-worker:cache:%s" % name}
-            )
+            task_def["scopes"].append({"task-reference": f"docker-worker:cache:{name}"})
 
         # Assertion: only run-task is interested in this.
         if run_task:
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/util/archive.py b/third_party/python/taskcluster_taskgraph/taskgraph/util/archive.py
index 261a031038ab7e36196576fb2d87719a6fb96c5f..b4101ca60b2b95ae8fd9670a81309260c90bdebb 100644
--- a/third_party/python/taskcluster_taskgraph/taskgraph/util/archive.py
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/util/archive.py
@@ -80,14 +80,14 @@ def create_tar_from_files(fp, files):
             ti.type = tarfile.REGTYPE
 
             if not ti.isreg():
-                raise ValueError("not a regular file: %s" % f)
+                raise ValueError(f"not a regular file: {f}")
 
             # Disallow setuid and setgid bits. This is an arbitrary restriction.
             # However, since we set uid/gid to root:root, setuid and setgid
             # would be a glaring security hole if the archive were
             # uncompressed as root.
             if ti.mode & (stat.S_ISUID | stat.S_ISGID):
-                raise ValueError("cannot add file with setuid or setgid set: " "%s" % f)
+                raise ValueError(f"cannot add file with setuid or setgid set: {f}")
 
             # Set uid, gid, username, and group as deterministic values.
             ti.uid = 0
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/util/copy.py b/third_party/python/taskcluster_taskgraph/taskgraph/util/copy.py
new file mode 100644
index 0000000000000000000000000000000000000000..a8d99a24b11d886d3462324427d32e85f193dbd2
--- /dev/null
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/util/copy.py
@@ -0,0 +1,47 @@
+from typing import Any
+
+from taskgraph.task import Task
+from taskgraph.util.readonlydict import ReadOnlyDict
+
+immutable_types = {int, float, bool, str, type(None), ReadOnlyDict}
+
+
+def deepcopy(obj: Any) -> Any:
+    """Perform a deep copy of an object with a tree like structure.
+
+    This is a re-implementation of Python's `copy.deepcopy` function with a few key differences:
+
+    1. Unlike the stdlib, this does *not* support copying graph-like structure,
+    which allows it to be more efficient than deepcopy on tree-like structures
+    (such as Tasks).
+    2. This special cases support for `taskgraph.task.Task` objects.
+
+    Args:
+        obj: The object to deep copy.
+
+    Returns:
+        A deep copy of the object.
+    """
+    ty = type(obj)
+    if ty in immutable_types:
+        return obj
+    if ty is dict:
+        return {k: deepcopy(v) for k, v in obj.items()}
+    if ty is list:
+        return [deepcopy(elt) for elt in obj]
+    if ty is Task:
+        task = Task(
+            kind=deepcopy(obj.kind),
+            label=deepcopy(obj.label),
+            attributes=deepcopy(obj.attributes),
+            task=deepcopy(obj.task),
+            description=deepcopy(obj.description),
+            optimization=deepcopy(obj.optimization),
+            dependencies=deepcopy(obj.dependencies),
+            soft_dependencies=deepcopy(obj.soft_dependencies),
+            if_dependencies=deepcopy(obj.if_dependencies),
+        )
+        if obj.task_id:
+            task.task_id = obj.task_id
+        return task
+    raise NotImplementedError(f"copying '{ty}' from '{obj}'")
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/util/docker.py b/third_party/python/taskcluster_taskgraph/taskgraph/util/docker.py
index 13815381edbb19a244d383dd200820d31905664f..9c79510466790a6e68c735738d87e2e4119d3db0 100644
--- a/third_party/python/taskcluster_taskgraph/taskgraph/util/docker.py
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/util/docker.py
@@ -3,6 +3,7 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 
+import functools
 import hashlib
 import io
 import os
@@ -10,7 +11,6 @@ import re
 from typing import Optional
 
 from taskgraph.util.archive import create_tar_gz_from_files
-from taskgraph.util.memoize import memoize
 
 IMAGE_DIR = os.path.join(".", "taskcluster", "docker")
 
@@ -177,15 +177,15 @@ def stream_context_tar(topsrcdir, context_dir, out_file, image_name=None, args=N
 
             p = line[len("# %include ") :].strip()
             if os.path.isabs(p):
-                raise Exception("extra include path cannot be absolute: %s" % p)
+                raise Exception(f"extra include path cannot be absolute: {p}")
 
             fs_path = os.path.normpath(os.path.join(topsrcdir, p))
             # Check for filesystem traversal exploits.
             if not fs_path.startswith(topsrcdir):
-                raise Exception("extra include path outside topsrcdir: %s" % p)
+                raise Exception(f"extra include path outside topsrcdir: {p}")
 
             if not os.path.exists(fs_path):
-                raise Exception("extra include path does not exist: %s" % p)
+                raise Exception(f"extra include path does not exist: {p}")
 
             if os.path.isdir(fs_path):
                 for root, dirs, files in os.walk(fs_path):
@@ -205,7 +205,7 @@ def stream_context_tar(topsrcdir, context_dir, out_file, image_name=None, args=N
     return writer.hexdigest()
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def image_paths():
     """Return a map of image name to paths containing their Dockerfile."""
     config = load_yaml("taskcluster", "kinds", "docker-image", "kind.yml")
@@ -222,7 +222,7 @@ def image_path(name):
     return os.path.join(IMAGE_DIR, name)
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def parse_volumes(image):
     """Parse VOLUME entries from a Dockerfile for an image."""
     volumes = set()
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/util/hash.py b/third_party/python/taskcluster_taskgraph/taskgraph/util/hash.py
index d42b2ecef98926c0ad68ddeb4f8a385905c5568c..ad50dc5a1c2f224322488465e5fc9dfa4087d40d 100644
--- a/third_party/python/taskcluster_taskgraph/taskgraph/util/hash.py
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/util/hash.py
@@ -2,14 +2,14 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+import functools
 import hashlib
 from pathlib import Path
 
 from taskgraph.util import path as mozpath
-from taskgraph.util.memoize import memoize
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def hash_path(path):
     """Hash a single file.
 
@@ -36,7 +36,7 @@ def hash_paths(base_path, patterns):
         if matches:
             found.update(matches)
         else:
-            raise Exception("%s did not match anything" % pattern)
+            raise Exception(f"{pattern} did not match anything")
     for path in sorted(found):
         h.update(
             f"{hash_path(mozpath.abspath(mozpath.join(base_path, path)))} {mozpath.normsep(path)}\n".encode()
@@ -44,13 +44,13 @@ def hash_paths(base_path, patterns):
     return h.hexdigest()
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def _find_matching_files(base_path, pattern):
     files = _get_all_files(base_path)
     return [path for path in files if mozpath.match(path, pattern)]
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def _get_all_files(base_path):
     return [
         mozpath.normsep(str(path))
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/util/memoize.py b/third_party/python/taskcluster_taskgraph/taskgraph/util/memoize.py
deleted file mode 100644
index a4bc50cc26ac69ac46fd5734ee1c3ca5a7db23f1..0000000000000000000000000000000000000000
--- a/third_party/python/taskcluster_taskgraph/taskgraph/util/memoize.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this file,
-# You can obtain one at http://mozilla.org/MPL/2.0/.
-
-import functools
-
-memoize = functools.lru_cache(maxsize=None)  # backwards compatibility shim
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/util/taskcluster.py b/third_party/python/taskcluster_taskgraph/taskgraph/util/taskcluster.py
index ffdd7e2d2973bca9d9286770a16b4aa22c3ba1a6..0c93fcc7edb00513186cb90b7a267f31ec240b30 100644
--- a/third_party/python/taskcluster_taskgraph/taskgraph/util/taskcluster.py
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/util/taskcluster.py
@@ -16,7 +16,6 @@ from requests.packages.urllib3.util.retry import Retry
 
 from taskgraph.task import Task
 from taskgraph.util import yaml
-from taskgraph.util.memoize import memoize
 
 logger = logging.getLogger(__name__)
 
@@ -31,7 +30,7 @@ PRODUCTION_TASKCLUSTER_ROOT_URL = None
 CONCURRENCY = 50
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def get_root_url(use_proxy):
     """Get the current TASKCLUSTER_ROOT_URL.
 
@@ -106,7 +105,7 @@ def requests_retry_session(
     return session
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def get_session():
     return requests_retry_session(retries=5)
 
@@ -277,7 +276,7 @@ def get_task_url(task_id, use_proxy=False):
     return task_tmpl.format(task_id)
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def get_task_definition(task_id, use_proxy=False):
     response = _do_request(get_task_url(task_id, use_proxy))
     return response.json()
@@ -446,7 +445,7 @@ def list_task_group_incomplete_tasks(task_group_id):
             break
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def _get_deps(task_ids, use_proxy):
     upstream_tasks = {}
     for task_id in task_ids:
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/util/templates.py b/third_party/python/taskcluster_taskgraph/taskgraph/util/templates.py
index 23cd5f8d68d2fcc0f89d7105236d0c3bf63889c2..be5fc4cbc43888a51ee072448c0aac49ee6ead53 100644
--- a/third_party/python/taskcluster_taskgraph/taskgraph/util/templates.py
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/util/templates.py
@@ -2,8 +2,7 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-
-import copy
+from taskgraph.util.copy import deepcopy
 
 
 def merge_to(source, dest):
@@ -18,9 +17,19 @@ def merge_to(source, dest):
     """
 
     for key, value in source.items():
+        if (
+            isinstance(value, dict)
+            and len(value) == 1
+            and list(value)[0].startswith("by-")
+        ):
+            # Do not merge by-* values as it will almost certainly not do what
+            # the user expects.
+            dest[key] = value
+            continue
+
         # Override mismatching or empty types
         if type(value) != type(dest.get(key)):  # noqa
-            dest[key] = source[key]
+            dest[key] = value
             continue
 
         # Merge dict
@@ -29,10 +38,10 @@ def merge_to(source, dest):
             continue
 
         if isinstance(value, list):
-            dest[key] = dest[key] + source[key]
+            dest[key] = dest[key] + value
             continue
 
-        dest[key] = source[key]
+        dest[key] = value
 
     return dest
 
@@ -46,7 +55,7 @@ def merge(*objects):
     Returns the result without modifying any arguments.
     """
     if len(objects) == 1:
-        return copy.deepcopy(objects[0])
+        return deepcopy(objects[0])
     return merge_to(objects[-1], merge(*objects[:-1]))
 
 
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/util/verify.py b/third_party/python/taskcluster_taskgraph/taskgraph/util/verify.py
index b5bb0889ae2d0142dd78d992f5928af22166def7..32d9cd98840b4f499bee0493a8cede74c6ab1dd6 100644
--- a/third_party/python/taskcluster_taskgraph/taskgraph/util/verify.py
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/util/verify.py
@@ -5,6 +5,7 @@
 
 import logging
 import sys
+import warnings
 from abc import ABC, abstractmethod
 from dataclasses import dataclass, field
 from typing import Callable, Dict, List, Union
@@ -192,7 +193,17 @@ def verify_routes_notification_filters(
     if task is None:
         return
     route_prefix = "notify."
-    valid_filters = ("on-any", "on-completed", "on-failed", "on-exception")
+    valid_filters = (
+        "on-any",
+        "on-completed",
+        "on-defined",
+        "on-failed",
+        "on-exception",
+        "on-pending",
+        "on-resolved",
+        "on-running",
+        "on-transition",
+    )
     task_dict = task.task
     routes = task_dict.get("routes", [])
 
@@ -204,6 +215,13 @@ def verify_routes_notification_filters(
                 raise Exception(
                     f"{task.label} has invalid notification filter ({route_filter})"
                 )
+            if route_filter == "on-any":
+                warnings.warn(
+                    DeprecationWarning(
+                        f"notification filter '{route_filter}' is deprecated. Use "
+                        "'on-transition' or 'on-resolved'."
+                    )
+                )
 
 
 @verifications.add("full_task_graph")
diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/util/workertypes.py b/third_party/python/taskcluster_taskgraph/taskgraph/util/workertypes.py
index da39654d6b1981454bc3c2fda3cf10c43202bdb9..968eab6890bfb421277799c66fb94649a836c3fc 100644
--- a/third_party/python/taskcluster_taskgraph/taskgraph/util/workertypes.py
+++ b/third_party/python/taskcluster_taskgraph/taskgraph/util/workertypes.py
@@ -2,10 +2,10 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+import functools
 from dataclasses import dataclass
 
 from .keyed_by import evaluate_keyed_by
-from .memoize import memoize
 
 
 @dataclass
@@ -29,7 +29,7 @@ _BUILTIN_TYPES = {
 }
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def worker_type_implementation(graph_config, worker_type):
     """Get the worker implementation and OS for the given workerType, where the
     OS represents the host system, not the target OS, in the case of
@@ -46,7 +46,7 @@ def worker_type_implementation(graph_config, worker_type):
     return worker_config["implementation"], worker_config.get("os")
 
 
-@memoize
+@functools.lru_cache(maxsize=None)
 def get_worker_type(graph_config, alias, level):
     """
     Get the worker type based, evaluating aliases from the graph config.
diff --git a/third_party/rust/cubeb-coreaudio/.cargo-checksum.json b/third_party/rust/cubeb-coreaudio/.cargo-checksum.json
index 7e92a93077ef757a3fb1b42f33f32d69377f5f26..530b0c1fd410e70b7315b8192d14ebf3b7379848 100644
--- a/third_party/rust/cubeb-coreaudio/.cargo-checksum.json
+++ b/third_party/rust/cubeb-coreaudio/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{".circleci/config.yml":"7f3dc865105ca8f33965a7958b1fe2e627ae2d5a703f3b2a4ab6e2e796018597",".editorconfig":"4e53b182bcc78b83d7e1b5c03efa14d22d4955c4ed2514d1ba4e99c1eb1a50ba",".githooks/pre-push":"8b8b26544cd56f54c0c33812551f786bb25cb08c86dbfeb6bf3daad881c826a1",".github/workflows/test.yml":"cf6ebe6d41b022897360866b526d19ba8843aa82ae99a1d28393985576b6a782",".travis.yml":"dc07bac53f70f16c9bdf52264bdc58500ae6018c1b4c567bc7642f6b4ca3cc35","Cargo.toml":"2698cf87581d8d551ed3ac5875564720ed23d7b788e8d145d4281c8026203cd2","LICENSE":"6e6f56aff5bbf3cbc60747e152fb1a719bd0716aaf6d711c554f57d92e96297c","README.md":"0007782a05a5330f739ad789c19c82562c82e32386b0447000fc72c0d48405bc","build-audiounit-rust-in-cubeb.sh":"d228a05985dcd02ec1ecac66a2b64dae5a530804a25a7054ccc95905aedfb7ef","install_git_hook.sh":"d38c8e51e636f6b90b489621ac34ccd1d1b1f40dccce3d178ed1da1c5068f16d","install_rustfmt_clippy.sh":"4ae90d8dcb9757cb3ae4ae142ef80e5377c0dde61c63f4a3c32418646e80ca7b","run_device_tests.sh":"1403232694fabeae004179be8399d1fe2a1b100d60cd90db37d8860eddbaf2ae","run_sanitizers.sh":"84e93a0da137803018f37403511e8c92760be730426bf6cea34419d93d1a7ff8","run_tests.sh":"bae82f66dd47a060b6fdcc238520084aec1079d5b1b1d66d103baa1ffaa8773d","src/backend/aggregate_device.rs":"a910b9d596b1971cb4fee34f5030809ade584f41eb5cbad73a09abe7352ebd15","src/backend/auto_release.rs":"050fdcee74cf46b9a8a85a877e166d72a853d33220f59cf734cbb6ea09daa441","src/backend/buffer_manager.rs":"e9bcf964347daa8952f98caa2746e34a31ea8908375204896593f56e4b6147ca","src/backend/device_property.rs":"30ceeceee4fc1f6f872c6c61765e41d582ccd91d2d1ac3ca9b1e5ac18dd11a71","src/backend/mixer.rs":"c4d09291598cbffb2217b551770ec590f34b6dd6b461dd99b019d5bb70f0eef3","src/backend/mod.rs":"f3418bc3cf59562d2c24f3ecb26085f0c7c86d53177aeff317255db77ee8c33c","src/backend/resampler.rs":"48bf8f56ae8d60dbabca6417b768000619abee8731ac3902164b45651ac08a4d","src/backend/tests/aggregate_device.rs":"afbdf1da1fcaddcad2986bd3146bf93ca75c24b3362f5f23a09517a926290ca2","src/backend/tests/api.rs":"3b0936810b3afa84cb80428c471e1097701fd790460d00c0a5715fd8026d0a4d","src/backend/tests/backlog.rs":"3b189a7e036543c467cc242af0ed3332721179ee2b1c8847a6db563546f1ac52","src/backend/tests/device_change.rs":"babf50326fb38db24fe80f24f546e1b6ad04319ae8835bb372d893fc9b3038a2","src/backend/tests/device_property.rs":"4ef3ab625809fe95e944c19cc5dc1cc79f473520a4314d123b1f80c6b7e11411","src/backend/tests/interfaces.rs":"a96d1432afd381bf74dcbe73e892dfc4ddc68721a956606c94fd4128c6589adc","src/backend/tests/manual.rs":"f72625c05110534775c4608ccc45472ea108286657ffc1f029844a13d0b883bf","src/backend/tests/mod.rs":"8dba770023d7f9c4228f0e11915347f0e07da5fd818e3ee4478c4b197af9aa2a","src/backend/tests/parallel.rs":"a7ebd579339c40ca64c0757cc9da6baec641e670f226e1b2ec5049894700bd7a","src/backend/tests/tone.rs":"b028c67777b6453a26190b6a49785dfe28556adcbe179cb10862ce0d47ee8509","src/backend/tests/utils.rs":"3e435569798b883db8342137098832b88837a387008852005363f74e5e6ff18e","src/backend/utils.rs":"6c3ffbcd602e6cc9f56deb9ecb07b2eef2e6f074ef924178e466f380aae5c595","src/capi.rs":"21b66b70545bf04ec719928004d1d9adb45b24ced51288f5b2993d79aaf78f5f","src/lib.rs":"5e586d45cd6b3722f0a6736d9252593299269817a153eef1930a5fb9bfbb56f5","todo.md":"efc1f012eb9a331a040cad4ac03aa79307f25885f71b6fb38f3ad7af8d7d515c"},"package":null}
\ No newline at end of file
+{"files":{".circleci/config.yml":"7f3dc865105ca8f33965a7958b1fe2e627ae2d5a703f3b2a4ab6e2e796018597",".editorconfig":"4e53b182bcc78b83d7e1b5c03efa14d22d4955c4ed2514d1ba4e99c1eb1a50ba",".githooks/pre-push":"8b8b26544cd56f54c0c33812551f786bb25cb08c86dbfeb6bf3daad881c826a1",".github/workflows/test.yml":"cf6ebe6d41b022897360866b526d19ba8843aa82ae99a1d28393985576b6a782",".travis.yml":"dc07bac53f70f16c9bdf52264bdc58500ae6018c1b4c567bc7642f6b4ca3cc35","Cargo.toml":"bd7f9d71d7b83bb7b5516058b4af37c81eede73f11975b56cc6885b721c407a7","LICENSE":"6e6f56aff5bbf3cbc60747e152fb1a719bd0716aaf6d711c554f57d92e96297c","README.md":"0007782a05a5330f739ad789c19c82562c82e32386b0447000fc72c0d48405bc","build-audiounit-rust-in-cubeb.sh":"d228a05985dcd02ec1ecac66a2b64dae5a530804a25a7054ccc95905aedfb7ef","install_git_hook.sh":"d38c8e51e636f6b90b489621ac34ccd1d1b1f40dccce3d178ed1da1c5068f16d","install_rustfmt_clippy.sh":"4ae90d8dcb9757cb3ae4ae142ef80e5377c0dde61c63f4a3c32418646e80ca7b","run_device_tests.sh":"1403232694fabeae004179be8399d1fe2a1b100d60cd90db37d8860eddbaf2ae","run_sanitizers.sh":"84e93a0da137803018f37403511e8c92760be730426bf6cea34419d93d1a7ff8","run_tests.sh":"bae82f66dd47a060b6fdcc238520084aec1079d5b1b1d66d103baa1ffaa8773d","src/backend/aggregate_device.rs":"a910b9d596b1971cb4fee34f5030809ade584f41eb5cbad73a09abe7352ebd15","src/backend/auto_release.rs":"050fdcee74cf46b9a8a85a877e166d72a853d33220f59cf734cbb6ea09daa441","src/backend/buffer_manager.rs":"e9bcf964347daa8952f98caa2746e34a31ea8908375204896593f56e4b6147ca","src/backend/device_property.rs":"30ceeceee4fc1f6f872c6c61765e41d582ccd91d2d1ac3ca9b1e5ac18dd11a71","src/backend/mixer.rs":"c4d09291598cbffb2217b551770ec590f34b6dd6b461dd99b019d5bb70f0eef3","src/backend/mod.rs":"3625c021440b011cfbc2e506ed35d0be216189346937df9d228d3199d858556e","src/backend/resampler.rs":"48bf8f56ae8d60dbabca6417b768000619abee8731ac3902164b45651ac08a4d","src/backend/tests/aggregate_device.rs":"afbdf1da1fcaddcad2986bd3146bf93ca75c24b3362f5f23a09517a926290ca2","src/backend/tests/api.rs":"3b0936810b3afa84cb80428c471e1097701fd790460d00c0a5715fd8026d0a4d","src/backend/tests/backlog.rs":"3b189a7e036543c467cc242af0ed3332721179ee2b1c8847a6db563546f1ac52","src/backend/tests/device_change.rs":"babf50326fb38db24fe80f24f546e1b6ad04319ae8835bb372d893fc9b3038a2","src/backend/tests/device_property.rs":"4ef3ab625809fe95e944c19cc5dc1cc79f473520a4314d123b1f80c6b7e11411","src/backend/tests/interfaces.rs":"a96d1432afd381bf74dcbe73e892dfc4ddc68721a956606c94fd4128c6589adc","src/backend/tests/manual.rs":"f72625c05110534775c4608ccc45472ea108286657ffc1f029844a13d0b883bf","src/backend/tests/mod.rs":"8dba770023d7f9c4228f0e11915347f0e07da5fd818e3ee4478c4b197af9aa2a","src/backend/tests/parallel.rs":"a7ebd579339c40ca64c0757cc9da6baec641e670f226e1b2ec5049894700bd7a","src/backend/tests/tone.rs":"b028c67777b6453a26190b6a49785dfe28556adcbe179cb10862ce0d47ee8509","src/backend/tests/utils.rs":"3e435569798b883db8342137098832b88837a387008852005363f74e5e6ff18e","src/backend/utils.rs":"6c3ffbcd602e6cc9f56deb9ecb07b2eef2e6f074ef924178e466f380aae5c595","src/capi.rs":"21b66b70545bf04ec719928004d1d9adb45b24ced51288f5b2993d79aaf78f5f","src/lib.rs":"be88c967e470bf6c120f3e42f7155fe89a4718f56a35524ea4c17181856757d5","todo.md":"efc1f012eb9a331a040cad4ac03aa79307f25885f71b6fb38f3ad7af8d7d515c"},"package":null}
\ No newline at end of file
diff --git a/third_party/rust/cubeb-coreaudio/Cargo.toml b/third_party/rust/cubeb-coreaudio/Cargo.toml
index 23276a307056713e64262c87dd08b400ea436d33..e55840520b3028c15776a26bf61d5b7faa5f7202 100644
--- a/third_party/rust/cubeb-coreaudio/Cargo.toml
+++ b/third_party/rust/cubeb-coreaudio/Cargo.toml
@@ -31,7 +31,6 @@ audio-mixer = "0.2"
 bitflags = "2"
 cubeb-backend = "0.13"
 float-cmp = "0.6"
-lazy_static = "1.2"
 libc = "0.2"
 mach = "0.3"
 ringbuf = "0.2.6"
diff --git a/third_party/rust/cubeb-coreaudio/src/backend/mod.rs b/third_party/rust/cubeb-coreaudio/src/backend/mod.rs
index a0d0952bb39e699d0fdec72c6de9cbf741f5ddf1..82e4bdb6638899184b795fe2fa8de303b99d65dc 100644
--- a/third_party/rust/cubeb-coreaudio/src/backend/mod.rs
+++ b/third_party/rust/cubeb-coreaudio/src/backend/mod.rs
@@ -4,7 +4,6 @@
 // accompanying file LICENSE for details.
 #![allow(unused_assignments)]
 #![allow(unused_must_use)]
-
 extern crate coreaudio_sys_utils;
 extern crate libc;
 extern crate ringbuf;
@@ -106,16 +105,6 @@ bitflags! {
     }
 }
 
-lazy_static! {
-    static ref HOST_TIME_TO_NS_RATIO: (u32, u32) = {
-        let mut timebase_info = mach_timebase_info { numer: 0, denom: 0 };
-        unsafe {
-            mach_timebase_info(&mut timebase_info);
-        }
-        (timebase_info.numer, timebase_info.denom)
-    };
-}
-
 #[cfg(feature = "audio-dump")]
 fn dump_audio(stream: cubeb_audio_dump_stream_t, audio_samples: *mut c_void, count: u32) {
     unsafe {
@@ -682,10 +671,10 @@ extern "C" fn audiounit_input_callback(
     }
 }
 
-fn host_time_to_ns(host_time: u64) -> u64 {
+fn host_time_to_ns(ctx: &AudioUnitContext, host_time: u64) -> u64 {
     let mut rv: f64 = host_time as f64;
-    rv *= HOST_TIME_TO_NS_RATIO.0 as f64;
-    rv /= HOST_TIME_TO_NS_RATIO.1 as f64;
+    rv *= ctx.host_time_to_ns_ratio.0 as f64;
+    rv /= ctx.host_time_to_ns_ratio.1 as f64;
     rv as u64
 }
 
@@ -697,7 +686,7 @@ fn compute_output_latency(stm: &AudioUnitStream, audio_output_time: u64, now: u6
     // The total output latency is the timestamp difference + the stream latency + the hardware
     // latency.
     let total_output_latency_ns =
-        fixed_latency_ns + host_time_to_ns(audio_output_time.saturating_sub(now));
+        fixed_latency_ns + host_time_to_ns(stm.context, audio_output_time.saturating_sub(now));
 
     (total_output_latency_ns * output_hw_rate / NS2S) as u32
 }
@@ -710,7 +699,7 @@ fn compute_input_latency(stm: &AudioUnitStream, audio_input_time: u64, now: u64)
     // The total input latency is the timestamp difference + the stream latency +
     // the hardware latency.
     let total_input_latency_ns =
-        host_time_to_ns(now.saturating_sub(audio_input_time)) + fixed_latency_ns;
+        host_time_to_ns(stm.context, now.saturating_sub(audio_input_time)) + fixed_latency_ns;
 
     (total_input_latency_ns * input_hw_rate / NS2S) as u32
 }
@@ -729,6 +718,14 @@ extern "C" fn audiounit_output_callback(
     assert!(!user_ptr.is_null());
     let stm = unsafe { &mut *(user_ptr as *mut AudioUnitStream) };
 
+    if output_frames == 0 {
+        cubeb_alog!(
+            "({:p}) output callback empty.",
+            stm as *const AudioUnitStream
+        );
+        return NO_ERR;
+    }
+
     let out_buffer_list_ref = unsafe { &mut (*out_buffer_list) };
     assert_eq!(out_buffer_list_ref.mNumberBuffers, 1);
     let buffers = unsafe {
@@ -879,6 +876,7 @@ extern "C" fn audiounit_output_callback(
         output_frames
     );
 
+    assert_ne!(output_frames, 0);
     let outframes = stm.core_stream_data.resampler.fill(
         input_buffer,
         if input_buffer.is_null() {
@@ -2474,6 +2472,7 @@ pub struct AudioUnitContext {
     serial_queue: Queue,
     latency_controller: Mutex<LatencyController>,
     devices: Mutex<SharedDevices>,
+    host_time_to_ns_ratio: (u32, u32),
     // Storage for a context-global vpio unit. Duplex streams that need one will take this
     // and return it when done.
     shared_voice_processing_unit: SharedVoiceProcessingUnitManager,
@@ -2488,11 +2487,19 @@ impl AudioUnitContext {
             format!("{}.context.shared_vpio", DISPATCH_QUEUE_LABEL).as_str(),
             &serial_queue,
         );
+        let host_time_to_ns_ratio = {
+            let mut timebase_info = mach_timebase_info { numer: 0, denom: 0 };
+            unsafe {
+                mach_timebase_info(&mut timebase_info);
+            }
+            (timebase_info.numer, timebase_info.denom)
+        };
         Self {
             _ops: &OPS as *const _,
             serial_queue,
             latency_controller: Mutex::new(LatencyController::default()),
             devices: Mutex::new(SharedDevices::default()),
+            host_time_to_ns_ratio,
             shared_voice_processing_unit: SharedVoiceProcessingUnitManager::new(shared_vp_queue),
         }
     }
@@ -3864,9 +3871,10 @@ impl<'ctx> CoreStreamData<'ctx> {
                 device_layout
             );
 
-            // Simple case of stereo output only, map to the stereo pair (that might not be the first two channels)
-            if !self.has_input()
-                && self.output_stream_params.channels() == 2
+            // Simple case of stereo output, map to the stereo pair (that might not be the first
+            // two channels). Fall back to regular mixing if this fails.
+            let mut maybe_need_mixer = true;
+            if self.output_stream_params.channels() == 2
                 && self.output_stream_params.layout() == ChannelLayout::STEREO
             {
                 let layout = AudioChannelLayout {
@@ -3886,13 +3894,16 @@ impl<'ctx> CoreStreamData<'ctx> {
                         "AudioUnitSetProperty/output/kAudioUnitProperty_AudioChannelLayout rv={}",
                         r
                     );
-                    return Err(Error::error());
                 }
-            } else {
+                maybe_need_mixer = r != NO_ERR;
+            }
+
+            if maybe_need_mixer {
                 // The mixer will be set up when
-                // 0. not playing simply stereo
+                // 0. not playing simply stereo, or failing to set the channel layout to the stereo
+                //    pair
                 // 1. using aggregate device whose input device has output channels
-                // 2. output device has more channels than we need, and stream isn't simply mono or stereo
+                // 2. output device has more channels than we need, and stream isn't simply stereo
                 // 3. output device has different layout than the one we have
                 self.mixer = if self.output_dev_desc.mChannelsPerFrame
                     != self.output_stream_params.channels()
@@ -4918,7 +4929,7 @@ impl<'ctx> StreamOps for AudioUnitStream<'ctx> {
                 let now = unsafe { mach_absolute_time() };
                 let diff = now - timestamp;
                 let interpolated_frames = cmp::min(
-                    host_time_to_ns(diff)
+                    host_time_to_ns(self.context, diff)
                         * self.core_stream_data.output_stream_params.rate() as u64
                         / NS2S,
                     buffer_size,
diff --git a/third_party/rust/cubeb-coreaudio/src/lib.rs b/third_party/rust/cubeb-coreaudio/src/lib.rs
index 87efbf54d6e33518d351cb23254997d59eb28d88..bf1ae96f0ca65ba7455f91667314c925cf56dddd 100644
--- a/third_party/rust/cubeb-coreaudio/src/lib.rs
+++ b/third_party/rust/cubeb-coreaudio/src/lib.rs
@@ -10,8 +10,6 @@ extern crate bitflags;
 extern crate cubeb_backend;
 #[macro_use]
 extern crate float_cmp;
-#[macro_use]
-extern crate lazy_static;
 extern crate mach;
 
 mod backend;
diff --git a/third_party/rust/sql-support/.cargo-checksum.json b/third_party/rust/sql-support/.cargo-checksum.json
index 0633954ed265860efd7b032ea5e50e376de920ff..d10f9a159e3cc983a8ec7d94b73f7c5194377628 100644
--- a/third_party/rust/sql-support/.cargo-checksum.json
+++ b/third_party/rust/sql-support/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"6765229acc1f06326b3ede93379d78d119aa78679567baf0bf7bdb5ec310522f","src/conn_ext.rs":"d4eddf906ecf5d45b8cf9e858751cc22e644e652f04560237f8de748a33d56f6","src/debug_tools.rs":"bece2bc3d35379b81ea2f942a0a3e909e0ab0553656505904745548eacaf402a","src/each_chunk.rs":"e900a4ebadad31b0a87cb8d7c3ed5aeb7325d4d380ae1d9174eff62c78facdcc","src/lazy.rs":"a96b4f4ec572538b49cdfa8fee981dcf5143a5f51163fb8a573d3ac128df70f9","src/lib.rs":"b2c120db4928c3e4abdd96405fd4c1016255699bdbc38c8cd60dbd3431fc0a12","src/maybe_cached.rs":"0b18425595055883a98807fbd62ff27a79c18af34e7cb3439f8c3438463ef2dd","src/open_database.rs":"1de254e20df724f74be6c6d3bd54c77c9dd8eb009ef0a33c2e0a15da8f5c2aa3","src/repeat.rs":"b4c5ff5d083afba7f9f153f54aba2e6859b78b85c82d48dbd6bd58f67da9e6b9"},"package":null}
\ No newline at end of file
+{"files":{"Cargo.toml":"6765229acc1f06326b3ede93379d78d119aa78679567baf0bf7bdb5ec310522f","src/conn_ext.rs":"d4eddf906ecf5d45b8cf9e858751cc22e644e652f04560237f8de748a33d56f6","src/debug_tools.rs":"bece2bc3d35379b81ea2f942a0a3e909e0ab0553656505904745548eacaf402a","src/each_chunk.rs":"e900a4ebadad31b0a87cb8d7c3ed5aeb7325d4d380ae1d9174eff62c78facdcc","src/lazy.rs":"a96b4f4ec572538b49cdfa8fee981dcf5143a5f51163fb8a573d3ac128df70f9","src/lib.rs":"b2c120db4928c3e4abdd96405fd4c1016255699bdbc38c8cd60dbd3431fc0a12","src/maybe_cached.rs":"0b18425595055883a98807fbd62ff27a79c18af34e7cb3439f8c3438463ef2dd","src/open_database.rs":"c8e46d682da499e1b9ab0fd7f8a21f6140d1f9520b40b21cb7bd3f542e3d5f3e","src/repeat.rs":"b4c5ff5d083afba7f9f153f54aba2e6859b78b85c82d48dbd6bd58f67da9e6b9"},"package":null}
\ No newline at end of file
diff --git a/third_party/rust/sql-support/src/open_database.rs b/third_party/rust/sql-support/src/open_database.rs
index ab81ae9f97af92ae084573db093a5370c89e5f6c..6c0da516df5cb1b7685cb1e89672fd6eb611fd05 100644
--- a/third_party/rust/sql-support/src/open_database.rs
+++ b/third_party/rust/sql-support/src/open_database.rs
@@ -423,6 +423,7 @@ pub mod test_utils {
         pub fn assert_schema_matches_new_database(&self) {
             let db = self.open();
             let new_db = open_memory_database(&self.connection_initializer).unwrap();
+
             let table_names = get_table_names(&db);
             let new_db_table_names = get_table_names(&new_db);
             let extra_tables = Vec::from_iter(table_names.difference(&new_db_table_names));
@@ -433,7 +434,6 @@ pub mod test_utils {
             if !new_db_extra_tables.is_empty() {
                 panic!("Extra tables only present in new database: {new_db_extra_tables:?}");
             }
-
             for table_name in table_names {
                 assert_eq!(
                     get_table_sql(&db, &table_name),
@@ -441,6 +441,24 @@ pub mod test_utils {
                     "sql differs for table: {table_name}",
                 );
             }
+
+            let index_names = get_index_names(&db);
+            let new_db_index_names = get_index_names(&new_db);
+            let extra_index = Vec::from_iter(index_names.difference(&new_db_index_names));
+            if !extra_index.is_empty() {
+                panic!("Extra indexes not present in new database: {extra_index:?}");
+            }
+            let new_db_extra_index = Vec::from_iter(new_db_index_names.difference(&index_names));
+            if !new_db_extra_index.is_empty() {
+                panic!("Extra indexes only present in new database: {new_db_extra_index:?}");
+            }
+            for index_name in index_names {
+                assert_eq!(
+                    get_index_sql(&db, &index_name),
+                    get_index_sql(&new_db, &index_name),
+                    "sql differs for index: {index_name}",
+                );
+            }
         }
 
         pub fn open(&self) -> Connection {
@@ -467,6 +485,26 @@ pub mod test_utils {
         )
         .unwrap()
     }
+
+    fn get_index_names(conn: &Connection) -> HashSet<String> {
+        conn.query_rows_and_then(
+            "SELECT name FROM sqlite_master WHERE type='index'",
+            (),
+            |row| row.get(0),
+        )
+        .unwrap()
+        .into_iter()
+        .collect()
+    }
+
+    fn get_index_sql(conn: &Connection, index_name: &str) -> String {
+        conn.query_row_and_then(
+            "SELECT sql FROM sqlite_master WHERE name = ? AND type='index'",
+            (&index_name,),
+            |row| row.get::<_, String>(0),
+        )
+        .unwrap()
+    }
 }
 
 #[cfg(test)]
diff --git a/third_party/rust/suggest/.cargo-checksum.json b/third_party/rust/suggest/.cargo-checksum.json
index 2b13858e6d420235d2e6313b85df6656b1f18981..e03da84199f83060d8fdb80a25d7f40ae1924371 100644
--- a/third_party/rust/suggest/.cargo-checksum.json
+++ b/third_party/rust/suggest/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"b2d2fb29d7408dd736650935a89627490c25ef813a5244ecd1bd9dad30e32b78","README.md":"dd0c0d3fc180f2021d81ea5804895f661cb4fe45b87fe5b1ebf8aa756988e867","benches/benchmark_all.rs":"c2343c9197b6d9ccb0798d7701b1b0d2569d494dd31a975d21d7ec6f26e32879","build.rs":"78780c5cccfe22c3ff4198624b9e188559c437c3e6fa1c8bb66548eee6aa66bf","src/benchmarks/README.md":"ccee8dbddba8762d0453fa855bd6984137b224b8c019f3dd8e86a3c303f51d71","src/benchmarks/client.rs":"b65f3d53323c827ca55cc02442b63a137c783530cc93225a90b02bc4e9790d0f","src/benchmarks/ingest.rs":"8cce7a9162bc1080e58e7f18a27c64f74cb45598fa33d3c2579f30e9b0414d50","src/benchmarks/mod.rs":"fe1898ba4d783213525da10d92858ee84cebfd22749bad7aeb461d338fe5504a","src/bin/debug_ingestion_sizes.rs":"ce6e810be7b3fc19e826d75b622b82cfab5a1a99397a6d0833c2c4eebff2d364","src/config.rs":"d40c6e83d8b5faa32c66110803ca9e78611d43507e9d3f1e191a93a7773c37b3","src/db.rs":"f2c986a8255e8359ddabd70b3dbab50713d092f3e5dfe85581a60f24655c1686","src/error.rs":"d5e0ec57aefc19d3e0230bb8832ca6fa603a18feabfc3a3e0f06ac940cc4e45e","src/keyword.rs":"988d0ab021c0df19cfd3c519df7d37f606bf984cd14d0efca4e5a7aff88344dd","src/lib.rs":"73887af023e223188f874d43ddf601784c93e9388a7adece79818d559a3366a1","src/pocket.rs":"1316668840ec9b4ea886223921dc9d3b5a1731d1a5206c0b1089f2a6c45c1b7b","src/provider.rs":"92eb1a9fa7d6814efe47fc3e7447e46bf6c0320d6fbef0d9170c46eab0e272ab","src/query.rs":"1084548b9dc0587322f08741e07db9413e9fa231166593bdbf47e562d31799a3","src/rs.rs":"0eabd6108fd1316265def15f9d232b2f70a72126019891bf4f52f5a8c6f72d1a","src/schema.rs":"88ff3ae6b652fa5a5cff4dc504d11a7fc33f1b2ee9716b970f646d9f9ca90ab7","src/store.rs":"f47de3b4da2677bdca8edd1b017f1580b9985f36d2d86b904e1058893c9f3445","src/suggest.udl":"4bfd70767a204dc58081be5d70ca96480b04b9acb741e6d2d8394362677f119d","src/suggestion.rs":"f31227779d13d1b03a622e08a417ceba4afb161885a01c2bc87a6a652b5e8be5","src/testing/client.rs":"855c14a2a5c5d9a33521c44dbb0d89f5ff531c5d125fb62d6491190c4c887df0","src/testing/data.rs":"dcd24d24997fe4f8c472f5b754a9a2b90b83e2632b4f13a77499e23441a6dea1","src/testing/mod.rs":"308c9e0f479b3d8ca6c206853842e42ce07721161f3dcc23b7018a7e4d687b03","src/yelp.rs":"bc036ff71b438d53ce8811acd8d650d83ef03faeea476f5b659b403c1e64ff2b","uniffi.toml":"f26317442ddb5b3281245bef6e60ffcb78bb95d29fe4a351a56dbb88d4ec8aab"},"package":null}
\ No newline at end of file
+{"files":{"Cargo.toml":"b2d2fb29d7408dd736650935a89627490c25ef813a5244ecd1bd9dad30e32b78","README.md":"dd0c0d3fc180f2021d81ea5804895f661cb4fe45b87fe5b1ebf8aa756988e867","benches/benchmark_all.rs":"c2343c9197b6d9ccb0798d7701b1b0d2569d494dd31a975d21d7ec6f26e32879","build.rs":"78780c5cccfe22c3ff4198624b9e188559c437c3e6fa1c8bb66548eee6aa66bf","src/benchmarks/README.md":"ccee8dbddba8762d0453fa855bd6984137b224b8c019f3dd8e86a3c303f51d71","src/benchmarks/client.rs":"b65f3d53323c827ca55cc02442b63a137c783530cc93225a90b02bc4e9790d0f","src/benchmarks/ingest.rs":"8cce7a9162bc1080e58e7f18a27c64f74cb45598fa33d3c2579f30e9b0414d50","src/benchmarks/mod.rs":"fe1898ba4d783213525da10d92858ee84cebfd22749bad7aeb461d338fe5504a","src/bin/debug_ingestion_sizes.rs":"ce6e810be7b3fc19e826d75b622b82cfab5a1a99397a6d0833c2c4eebff2d364","src/config.rs":"d40c6e83d8b5faa32c66110803ca9e78611d43507e9d3f1e191a93a7773c37b3","src/db.rs":"a8bb454995543bf7f02bfca938c3da2dec5131c2388af7312cdf6068fa042592","src/error.rs":"d5e0ec57aefc19d3e0230bb8832ca6fa603a18feabfc3a3e0f06ac940cc4e45e","src/keyword.rs":"988d0ab021c0df19cfd3c519df7d37f606bf984cd14d0efca4e5a7aff88344dd","src/lib.rs":"73887af023e223188f874d43ddf601784c93e9388a7adece79818d559a3366a1","src/pocket.rs":"1316668840ec9b4ea886223921dc9d3b5a1731d1a5206c0b1089f2a6c45c1b7b","src/provider.rs":"92eb1a9fa7d6814efe47fc3e7447e46bf6c0320d6fbef0d9170c46eab0e272ab","src/query.rs":"1084548b9dc0587322f08741e07db9413e9fa231166593bdbf47e562d31799a3","src/rs.rs":"0eabd6108fd1316265def15f9d232b2f70a72126019891bf4f52f5a8c6f72d1a","src/schema.rs":"8c963db3e047828c81619128430c47a4beee3a48fd5b72700f364e90dc2e96d1","src/store.rs":"f47de3b4da2677bdca8edd1b017f1580b9985f36d2d86b904e1058893c9f3445","src/suggest.udl":"4bfd70767a204dc58081be5d70ca96480b04b9acb741e6d2d8394362677f119d","src/suggestion.rs":"f31227779d13d1b03a622e08a417ceba4afb161885a01c2bc87a6a652b5e8be5","src/testing/client.rs":"855c14a2a5c5d9a33521c44dbb0d89f5ff531c5d125fb62d6491190c4c887df0","src/testing/data.rs":"dcd24d24997fe4f8c472f5b754a9a2b90b83e2632b4f13a77499e23441a6dea1","src/testing/mod.rs":"308c9e0f479b3d8ca6c206853842e42ce07721161f3dcc23b7018a7e4d687b03","src/yelp.rs":"bc036ff71b438d53ce8811acd8d650d83ef03faeea476f5b659b403c1e64ff2b","uniffi.toml":"f26317442ddb5b3281245bef6e60ffcb78bb95d29fe4a351a56dbb88d4ec8aab"},"package":null}
\ No newline at end of file
diff --git a/third_party/rust/suggest/src/db.rs b/third_party/rust/suggest/src/db.rs
index 4e12a87969eb50556024a8cc8f1b8f01477c5d08..65bac9f2c8d691f089070d3390badbf6248404ce 100644
--- a/third_party/rust/suggest/src/db.rs
+++ b/third_party/rust/suggest/src/db.rs
@@ -1026,6 +1026,18 @@ impl<'a> SuggestDao<'a> {
     /// Deletes all suggestions associated with a Remote Settings record from
     /// the database.
     pub fn drop_suggestions(&mut self, record_id: &SuggestRecordId) -> Result<()> {
+        self.conn.execute_cached(
+            "DELETE FROM keywords WHERE suggestion_id IN (SELECT id from suggestions WHERE record_id = :record_id)",
+            named_params! { ":record_id": record_id.as_str() },
+        )?;
+        self.conn.execute_cached(
+            "DELETE FROM full_keywords WHERE suggestion_id IN (SELECT id from suggestions WHERE record_id = :record_id)",
+            named_params! { ":record_id": record_id.as_str() },
+        )?;
+        self.conn.execute_cached(
+            "DELETE FROM prefix_keywords WHERE suggestion_id IN (SELECT id from suggestions WHERE record_id = :record_id)",
+            named_params! { ":record_id": record_id.as_str() },
+        )?;
         self.conn.execute_cached(
             "DELETE FROM suggestions WHERE record_id = :record_id",
             named_params! { ":record_id": record_id.as_str() },
diff --git a/third_party/rust/suggest/src/schema.rs b/third_party/rust/suggest/src/schema.rs
index 76a0deed3979bde012b000ed66bea37077c0fef1..1fd9ac97ef85aeef67ec0d921fb49fe2088ef48d 100644
--- a/third_party/rust/suggest/src/schema.rs
+++ b/third_party/rust/suggest/src/schema.rs
@@ -15,7 +15,7 @@ use sql_support::open_database::{self, ConnectionInitializer};
 ///     [`SuggestConnectionInitializer::upgrade_from`].
 ///    a. If suggestions should be re-ingested after the migration, call `clear_database()` inside
 ///       the migration.
-pub const VERSION: u32 = 19;
+pub const VERSION: u32 = 20;
 
 /// The current Suggest database schema.
 pub const SQL: &str = "
@@ -26,17 +26,16 @@ CREATE TABLE meta(
 
 CREATE TABLE keywords(
     keyword TEXT NOT NULL,
-    suggestion_id INTEGER NOT NULL REFERENCES suggestions(id) ON DELETE CASCADE,
-    full_keyword_id INTEGER NULL REFERENCES full_keywords(id) ON DELETE SET NULL,
+    suggestion_id INTEGER NOT NULL,
+    full_keyword_id INTEGER NULL,
     rank INTEGER NOT NULL,
     PRIMARY KEY (keyword, suggestion_id)
 ) WITHOUT ROWID;
 
 -- full keywords are what we display to the user when a (partial) keyword matches
--- The FK to suggestion_id makes it so full keywords get deleted when the parent suggestion is deleted.
 CREATE TABLE full_keywords(
     id INTEGER PRIMARY KEY,
-    suggestion_id INTEGER NOT NULL REFERENCES suggestions(id) ON DELETE CASCADE,
+    suggestion_id INTEGER NOT NULL,
     full_keyword TEXT NOT NULL
 );
 
@@ -45,7 +44,7 @@ CREATE TABLE prefix_keywords(
     keyword_suffix TEXT NOT NULL DEFAULT '',
     confidence INTEGER NOT NULL DEFAULT 0,
     rank INTEGER NOT NULL,
-    suggestion_id INTEGER NOT NULL REFERENCES suggestions(id) ON DELETE CASCADE,
+    suggestion_id INTEGER NOT NULL,
     PRIMARY KEY (keyword_prefix, keyword_suffix, suggestion_id)
 ) WITHOUT ROWID;
 
@@ -193,6 +192,41 @@ CREATE TABLE IF NOT EXISTS dismissed_suggestions (
                 )?;
                 Ok(())
             }
+            19 => {
+                // Clear the database since we're going to be dropping the keywords table and
+                // re-creating it
+                clear_database(tx)?;
+                tx.execute_batch(
+                    "
+-- Recreate the various keywords table to drop the foreign keys.
+DROP TABLE keywords;
+DROP TABLE full_keywords;
+DROP TABLE prefix_keywords;
+CREATE TABLE keywords(
+    keyword TEXT NOT NULL,
+    suggestion_id INTEGER NOT NULL,
+    full_keyword_id INTEGER NULL,
+    rank INTEGER NOT NULL,
+    PRIMARY KEY (keyword, suggestion_id)
+) WITHOUT ROWID;
+CREATE TABLE full_keywords(
+    id INTEGER PRIMARY KEY,
+    suggestion_id INTEGER NOT NULL,
+    full_keyword TEXT NOT NULL
+);
+CREATE TABLE prefix_keywords(
+    keyword_prefix TEXT NOT NULL,
+    keyword_suffix TEXT NOT NULL DEFAULT '',
+    confidence INTEGER NOT NULL DEFAULT 0,
+    rank INTEGER NOT NULL,
+    suggestion_id INTEGER NOT NULL,
+    PRIMARY KEY (keyword_prefix, keyword_suffix, suggestion_id)
+) WITHOUT ROWID;
+CREATE UNIQUE INDEX keywords_suggestion_id_rank ON keywords(suggestion_id, rank);
+                    ",
+                )?;
+                Ok(())
+            }
             _ => Err(open_database::Error::IncompatibleVersion(version)),
         }
     }
@@ -203,6 +237,9 @@ pub fn clear_database(db: &Connection) -> rusqlite::Result<()> {
     db.execute_batch(
         "
         DELETE FROM meta;
+        DELETE FROM keywords;
+        DELETE FROM full_keywords;
+        DELETE FROM prefix_keywords;
         DELETE FROM suggestions;
         DELETE FROM icons;
         DELETE FROM yelp_subjects;
diff --git a/thunderbird-l10n/af/chrome/af/locale/branding/brand.dtd b/thunderbird-l10n/af/chrome/af/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..0ed7d848571989fcdbfb37373f861237a4b9eab3 100644
--- a/thunderbird-l10n/af/chrome/af/locale/branding/brand.dtd
+++ b/thunderbird-l10n/af/chrome/af/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/af/chrome/af/locale/branding/brand.properties b/thunderbird-l10n/af/chrome/af/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/af/chrome/af/locale/branding/brand.properties
+++ b/thunderbird-l10n/af/chrome/af/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/af/manifest.json b/thunderbird-l10n/af/manifest.json
index e9bae6155c098c3b7fa67e05abfa2207eefc242c..a14901ecca1ac7256f0e407cf3a3a5f73b77ef60 100644
--- a/thunderbird-l10n/af/manifest.json
+++ b/thunderbird-l10n/af/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Afrikaans",
-  "description": "Thunderbird Beta Language Pack for Afrikaans (af)",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Afrikaans (af)",
+  "version": "128.0.20240710.185639",
   "languages": {
     "af": {
-      "version": "20240627141402",
+      "version": "20240710213507",
       "chrome_resources": {
         "alerts": "chrome/af/locale/af/alerts/",
         "autoconfig": "chrome/af/locale/af/autoconfig/",
diff --git a/thunderbird-l10n/ar/chrome/ar/locale/branding/brand.dtd b/thunderbird-l10n/ar/chrome/ar/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..690a4a12710eb8e8c7a5f7c533b6e1f60388d573 100644
--- a/thunderbird-l10n/ar/chrome/ar/locale/branding/brand.dtd
+++ b/thunderbird-l10n/ar/chrome/ar/locale/branding/brand.dtd
@@ -1,13 +1,12 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird and the Thunderbird logos
-                                 are trademarks of the Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "موزيلا ثَنْدربِرد وشعارات ثَنْدربِرد علامات تجارية لمؤسسة موزيلا.">
diff --git a/thunderbird-l10n/ar/chrome/ar/locale/branding/brand.properties b/thunderbird-l10n/ar/chrome/ar/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/ar/chrome/ar/locale/branding/brand.properties
+++ b/thunderbird-l10n/ar/chrome/ar/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/ar/localization/ar/branding/brand.ftl b/thunderbird-l10n/ar/localization/ar/branding/brand.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..52f2d38d598d2c16a3ffeea2137af0bee86428fe
--- /dev/null
+++ b/thunderbird-l10n/ar/localization/ar/branding/brand.ftl
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
diff --git a/thunderbird-l10n/ar/manifest.json b/thunderbird-l10n/ar/manifest.json
index b3f512da265e698ac91ccc8846fa4333f272ff29..4afab81b21f87f938d3807895c9dc129909bacc3 100644
--- a/thunderbird-l10n/ar/manifest.json
+++ b/thunderbird-l10n/ar/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: العربية (Arabic)",
-  "description": "Thunderbird Beta Language Pack for العربية (ar) – Arabic",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for العربية (ar) – Arabic",
+  "version": "128.0.20240710.185639",
   "languages": {
     "ar": {
-      "version": "20240627141445",
+      "version": "20240710213549",
       "chrome_resources": {
         "alerts": "chrome/ar/locale/ar/alerts/",
         "autoconfig": "chrome/ar/locale/ar/autoconfig/",
diff --git a/thunderbird-l10n/ast/chrome/ast/locale/branding/brand.dtd b/thunderbird-l10n/ast/chrome/ast/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..0ed7d848571989fcdbfb37373f861237a4b9eab3 100644
--- a/thunderbird-l10n/ast/chrome/ast/locale/branding/brand.dtd
+++ b/thunderbird-l10n/ast/chrome/ast/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/ast/chrome/ast/locale/branding/brand.properties b/thunderbird-l10n/ast/chrome/ast/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/ast/chrome/ast/locale/branding/brand.properties
+++ b/thunderbird-l10n/ast/chrome/ast/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/ast/manifest.json b/thunderbird-l10n/ast/manifest.json
index b417e03239d1c5089d0cdbf103c769b2fa306a9a..6ea59dbca48cd79f1daceb174fbe51aa0b161f6f 100644
--- a/thunderbird-l10n/ast/manifest.json
+++ b/thunderbird-l10n/ast/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Asturianu (Asturian)",
-  "description": "Thunderbird Beta Language Pack for Asturianu (ast) – Asturian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Asturianu (ast) – Asturian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "ast": {
-      "version": "20240627141529",
+      "version": "20240710213631",
       "chrome_resources": {
         "alerts": "chrome/ast/locale/ast/alerts/",
         "autoconfig": "chrome/ast/locale/ast/autoconfig/",
diff --git a/thunderbird-l10n/be/chrome/be/locale/be/devtools/client/debugger.properties b/thunderbird-l10n/be/chrome/be/locale/be/devtools/client/debugger.properties
index 30ecf434cce4bbff81f53517330ac233eecc69ce..bf94a099f0b74718c09077f77e0744d24ebc35c9 100644
--- a/thunderbird-l10n/be/chrome/be/locale/be/devtools/client/debugger.properties
+++ b/thunderbird-l10n/be/chrome/be/locale/be/devtools/client/debugger.properties
@@ -146,6 +146,12 @@ stopTraceButtonTooltip2=Спыніць трасіроўку фрэймаў JavaS
 # This is used to force logging JavaScript traces in the Web Console.
 traceInWebConsole=Трасіраваць у кансолі сеціва
 
+# LOCALIZATION NOTE (traceInProfiler): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces to a firefox profiler record,
+# which is opened when you stop tracing.
+traceInProfiler=Трасіроўка да прафайлера
+
 # LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
 # of the trace button, which is in the top of the debugger right sidebar.
 # This is used to force logging JavaScript traces in the stdout.
@@ -647,6 +653,10 @@ original=арыгінал
 # input element
 expressions.placeholder=Дадаць выраз назірання
 
+# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression
+# input element
+expressions.errorMsg=Недапушчальны выраз…
+
 # LOCALIZATION NOTE (expressions.placeholder): Placeholder text for expression
 # input element
 expressions.placeholder2=Дадаць выраз
@@ -655,10 +665,6 @@ expressions.placeholder2=Дадаць выраз
 # for when the`map variable names`is off and the debugger is paused in an original source
 expressions.noOriginalScopes=Супастаўленне назваў зыходных зменных выключана. Значэнні выразаў могуць быць недакладнымі.
 
-# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression
-# input element
-expressions.errorMsg=Недапушчальны выраз…
-
 # LOCALIZATION NOTE (expressions.label): For the "Add watch expression" context menu item in the editor
 expressions.label=Дадаць выраз для назірання
 expressions.accesskey=в
diff --git a/thunderbird-l10n/be/chrome/be/locale/be/devtools/shared/styleinspector.properties b/thunderbird-l10n/be/chrome/be/locale/be/devtools/shared/styleinspector.properties
index 3ffc85654a55eb16ab5cbfa0d58cbb287d3c8f3d..b148e6c48777271363ad79c9209079ed5cd30ae6 100644
--- a/thunderbird-l10n/be/chrome/be/locale/be/devtools/shared/styleinspector.properties
+++ b/thunderbird-l10n/be/chrome/be/locale/be/devtools/shared/styleinspector.properties
@@ -63,6 +63,12 @@ rule.warning.title=Няспраўнае значэнне ўласцівасці
 # the title attribute of the warning icon.
 rule.warningName.title=Недапушчальная назва ўласцівасці
 
+# LOCALIZATION NOTE (rule.warningInvalidAtComputedValueTime.title): When a property value
+# is invalid at computed time in the rule view, a warning icon is displayed.
+# This text is used for the title attribute of the warning icon.
+# The argument is the expected CSS syntax (e.g. '<color>').
+rule.warningInvalidAtComputedValueTime.title=Значэнне ўласцівасці не адпавядае чаканаму сінтаксісу %S
+
 # LOCALIZATION NOTE (rule.filterProperty.title): Text displayed in the tooltip
 # of the search button that is shown next to a property that has been overridden
 # in the rule view.
@@ -84,6 +90,11 @@ rule.variableValue=%S = %S
 # variable name.
 rule.variableUnset=%S не ўсталявана
 
+# LOCALIZATION NOTE (rule.selectorSpecificity.title): This text is used as a title attribute
+# on the selectors displayed in the inspector rules view.
+# The first argument is the computed specificity, which looks like "(0,0,1)".
+rule.selectorSpecificity.title=Спецыфіка: %S
+
 # LOCALIZATION NOTE (rule.selectorHighlighter.tooltip): Text displayed in a
 # tooltip when the mouse is over a selector highlighter icon in the rule view.
 rule.selectorHighlighter.tooltip=Падсвяціць ўсе элементы, што адпавядаюць гэтаму селектару
@@ -112,6 +123,10 @@ rule.flexToggle.tooltip=Клікніце, каб уключыць/выключы
 # when the mouse is over a CSS Grid toggle icon in the rule view.
 rule.gridToggle.tooltip=Клікніце, каб уключыць/выключыць падсвятленне CSS сеткі
 
+# LOCALIZATION NOTE (rule.shapeToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a CSS shape toggle icon in the rule view (e.g. for clip-path property).
+rule.shapeToggle.tooltip=Націсніце, каб пераключыць рэдактар форм CSS
+
 # LOCALIZATION NOTE (rule.filterStyles.placeholder): This is the placeholder that
 # goes in the search box when no search term has been entered.
 rule.filterStyles.placeholder=Фільтраваць стылі
@@ -265,13 +280,3 @@ styleinspector.contextmenu.copyRule=Капіяваць правіла
 # LOCALIZATION NOTE (styleinspector.contextmenu.copySelector): Text displayed in the
 # rule view context menu for copying the selector.
 styleinspector.contextmenu.copySelector=Капіяваць селектар
-
-# LOCALIZATION NOTE (rule.warningInvalidAtComputedValueTime.title): When a property value
-# is invalid at computed time in the rule view, a warning icon is displayed.
-# This text is used for the title attribute of the warning icon.
-# The argument is the expected CSS syntax (e.g. '<color>').
-rule.warningInvalidAtComputedValueTime.title=Property value does not match expected %S syntax
-# LOCALIZATION NOTE (rule.selectorSpecificity.title): This text is used as a title attribute
-# on the selectors displayed in the inspector rules view.
-# The first argument is the computed specificity, which looks like "(0,0,1)".
-rule.selectorSpecificity.title=Specificity: %S
diff --git a/thunderbird-l10n/be/chrome/be/locale/be/global/dom/dom.properties b/thunderbird-l10n/be/chrome/be/locale/be/global/dom/dom.properties
index a7d7ae1479ecb28b2c2a33a4498e4d994cc28c92..b138cf5fb33d603f7bf7024326536e6d66c3399e 100644
--- a/thunderbird-l10n/be/chrome/be/locale/be/global/dom/dom.properties
+++ b/thunderbird-l10n/be/chrome/be/locale/be/global/dom/dom.properties
@@ -140,6 +140,7 @@ MediaEMEInsecureContextDeprecatedWarning=Выкарыстанне зашыфра
 MediaEMENoCapabilitiesDeprecatedWarning=Выклік navigator.requestMediaKeySystemAccess() (у %S) без перадачы кандыдата MediaKeySystemConfiguration, які змяшчае audioCapabilities або videoCapabilities састарэў і неўзабаве перастане падтрымлівацца.
 # LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (a "codecs" string in the "contentType") that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
 MediaEMENoCodecsDeprecatedWarning=Выклік navigator.requestMediaKeySystemAccess() (у %S) з перадачай кандыдата MediaKeySystemConfiguration, які змяшчае audioCapabilities або videoCapabilities без contentType з радком “codecs” састарэў і неўзабаве перастане падтрымлівацца.
+
 # LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
 MutationEventWarning=Ужыванне 'Mutation Event' асуджана. Ужывайце 'MutationObserver' замест.
 
@@ -255,6 +256,8 @@ ManifestImageUnsupportedPurposes=Элемент %1$S пры індэксе %2$S
 # LOCALIZATION NOTE: %1$S is the name of the parent property that has a repeated purpose (e.g., "icons"). %2$S is the index of the image object that has the repeated purpose (from 0). %3$S is the repeated purposes. E.g. "icons item at index 2 includes repeated purpose(s): a b."
 ManifestImageRepeatedPurposes=Элемент %1$S пры індэксе %2$S утрымлівае паўторнае прызначэнне(і): %3$S.
 PatternAttributeCompileFailure=Немагчыма праверыць <input pattern='%S'>, таму што pattern не дапушчальны рэгулярны выраз: %S
+# LOCALIZATION NOTE: %1$S is the regexp pattern, %2$S the regexp flags, %3$S the error message. Do not translate <input pattern>
+PatternAttributeCompileFailurev2=Немагчыма праверыць <input pattern=‘%1$S’>, таму што ‘/%1$S/%2$S’ не з'яўляецца дапушчальным рэгулярным выразам: %3$S
 # LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
 TargetPrincipalDoesNotMatch=Не ўдалося выканаць ‘postMessage’ на ‘DOMWindow’: Дадзенае паходжанне мэты (‘%S’) не супадае з паходжаннем акна атрымальніка (‘%S’).
 # LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
diff --git a/thunderbird-l10n/be/chrome/be/locale/be/global/narrate.properties b/thunderbird-l10n/be/chrome/be/locale/be/global/narrate.properties
index 3ce71b995a49db52e2e4e94fd06b6ca4ba5bbb8d..66a61a64a0b38c62514dcf8b4f1668ef9f9516e9 100644
--- a/thunderbird-l10n/be/chrome/be/locale/be/global/narrate.properties
+++ b/thunderbird-l10n/be/chrome/be/locale/be/global/narrate.properties
@@ -12,6 +12,8 @@ back = Назад
 # "Listen, which allows users to listen to Firefox reading the text,
 # instead of having to read it themselves." This is the name
 # of the feature and it is the label for the popup button.
+# Header for the narrate menu
+read-aloud-header = Чытанне ўслых
 # %S is the keyboard shortcut for the listen command
 read-aloud-label = Чытаць услых (%S)
 # %S is the keyboard shortcut for the skip back command
@@ -26,7 +28,10 @@ forward = Наперад
 # %S is the keyboard shortcut for the skip forward command
 next-label = Наперад (%S)
 speed = Хуткасць
+slow-speed-label = Запаволіць агучванне
+fast-speed-label = Паскорыць агучванне
 selectvoicelabel = Голас:
+select-voice-header = Голас
 # Default voice is determined by the language of the document.
 defaultvoice = Зыходны
 
diff --git a/thunderbird-l10n/be/chrome/be/locale/be/necko/necko.properties b/thunderbird-l10n/be/chrome/be/locale/be/necko/necko.properties
index bf142c0279953594906af836af99834b5f33c2fd..762f99e37a8f81933a9b191d2ffaf9428be035d3 100644
--- a/thunderbird-l10n/be/chrome/be/locale/be/necko/necko.properties
+++ b/thunderbird-l10n/be/chrome/be/locale/be/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=Кука “%1$S” нядзейсная, бо яе памер н
 CookiePathOversize=Кука “%1$S” нядзейсная, бо памер яе шляху надта вялікі. Максімальны памер %2$S Б.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Кукі “%1$S” быў адхілены згодна з наладамі карыстальніка.
+CookieRejectedEmptyNameAndValue=Кукі з пустой назвай і пустым значэннем быў адхілены.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Кукі “%1$S” быў адхілены з-за недапушчальных знакаў у назве.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=Кукі “%1$S” быў адхілены, б
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=Кукі “%1$S” былі адхілены, таму што яны маюць атрыбут “Partitioned”, але адсутнічае атрыбут “secure”.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=Значэнне атрыбута «%2$S» для кукі «%1$S» было адхілена, таму што яго памер занадта вялікі. Максімальны памер – %3$S байтаў.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Кукі «%1$S» хутка будзе адхілены, паколькі ён старонні і не мае атрыбута «Partitioned».
 
diff --git a/thunderbird-l10n/be/chrome/be/locale/branding/brand.dtd b/thunderbird-l10n/be/chrome/be/locale/branding/brand.dtd
index c0327d61658510f714789c1539ab532b7466b820..60d7c0465b639c0a8c47473951575a08fcdf77bd 100644
--- a/thunderbird-l10n/be/chrome/be/locale/branding/brand.dtd
+++ b/thunderbird-l10n/be/chrome/be/locale/branding/brand.dtd
@@ -1,14 +1,14 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
+<!ENTITY  vendorShortName       "Mozilla">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird і эмблема Thunderbird
+                                 гандлёвыя маркі Mozilla Foundation.">
+
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
-<!ENTITY  vendorShortName       "Mozilla">
-
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird and the Thunderbird logos
-                                 are trademarks of the Mozilla Foundation.">
diff --git a/thunderbird-l10n/be/chrome/be/locale/branding/brand.properties b/thunderbird-l10n/be/chrome/be/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/be/chrome/be/locale/branding/brand.properties
+++ b/thunderbird-l10n/be/chrome/be/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/be/localization/be/branding/brand.ftl b/thunderbird-l10n/be/localization/be/branding/brand.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..c672892c0ed6c961e1a363adf1c204cbb6bb4b9d
--- /dev/null
+++ b/thunderbird-l10n/be/localization/be/branding/brand.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
+trademarkInfo = Mozilla Thunderbird і эмблема Thunderbird – гандлёвыя маркі Mozilla Foundation.
diff --git a/thunderbird-l10n/be/localization/be/devtools/client/perftools.ftl b/thunderbird-l10n/be/localization/be/devtools/client/perftools.ftl
index 0b56a69013e635eb51fd217dc8db3416e64435b3..ac9b5fc7ea5cf7d9cc3204d736cd0eab3a29a9b7 100644
--- a/thunderbird-l10n/be/localization/be/devtools/client/perftools.ftl
+++ b/thunderbird-l10n/be/localization/be/devtools/client/perftools.ftl
@@ -43,9 +43,7 @@ perftools-range-interval-milliseconds = { NUMBER($interval, maxFractionalUnits:
 
 # The size of the memory buffer used to store things in the profiler.
 perftools-range-entries-label = Памер буфера:
-
 perftools-custom-threads-label = Дадаць адмысловыя патокi па назве:
-
 perftools-devtools-interval-label = Інтэрвал:
 perftools-devtools-threads-label = Патокі:
 perftools-devtools-settings-label = Налады
@@ -113,7 +111,6 @@ perftools-thread-jvm-pool =
 ##
 
 perftools-record-all-registered-threads = Iгнараваць абранае вышэй і запісваць усе зарэгістраваныя патокі
-
 perftools-tools-threads-input-label =
     .title = Гэтыя назвы патокаў уяўляюць сабой пералік, падзелены коскамі, які ўжываецца для ўключэння прафілявання патокаў у прафайлеры. Назва можа толькі часткова адпавядаць назве патоку для ўключэння. Прабелы ўлічваюцца.
 
@@ -121,7 +118,6 @@ perftools-tools-threads-input-label =
 ## devtools.performance.new-panel-onboarding preference is true.
 
 perftools-onboarding-message = <b>Новае</b>: { -profiler-brand-name } цяпер інтэграваны ў Інструменты распрацоўшчыка. <a>Даведайцеся больш</a> пра гэты новы магутны інструмент.
-
 perftools-onboarding-close-button =
     .aria-label = Закрыць прывiтальнае паведамленне
 
@@ -129,32 +125,29 @@ perftools-onboarding-close-button =
 
 
 # Presets and their l10n IDs are defined in the file
-# devtools/client/performance-new/popup/background.jsm.js
+# devtools/client/performance-new/shared/background.jsm.js
 # The same labels and descriptions are also defined in appmenu.ftl.
 
+
 # Presets and their l10n IDs are defined in the file
-# devtools/client/performance-new/shared/background.jsm.js
+# devtools/client/performance-new/shared/background.sys.mjs
 # The same labels and descriptions are also defined in appmenu.ftl.
 
 perftools-presets-web-developer-label = Вэб-распрацоўка
 perftools-presets-web-developer-description = Рэкамендаваныя папярэднія налады для адладкі большасці вэб-прыкладанняў, з невялікімі выдаткамі.
-
 perftools-presets-firefox-label = { -brand-shorter-name }
 perftools-presets-firefox-description = Рэкамендаваныя налады для прафілявання { -brand-shorter-name }.
-
 perftools-presets-graphics-label = Графіка
 perftools-presets-graphics-description = Папярэднія налады для даследавання хібаў графікі ў { -brand-shorter-name }.
-
 perftools-presets-media-label = Медыя
 perftools-presets-media-description2 = Папярэднія налады для даследавання хібаў гуку і відэа ў { -brand-shorter-name }.
-
 perftools-presets-networking-label = Сетка
 perftools-presets-networking-description = Папярэднія налады для даследавання сеткавых хібаў у { -brand-shorter-name }.
-
 # "Power" is used in the sense of energy (electricity used by the computer).
 perftools-presets-power-label = Сілкаванне
 perftools-presets-power-description = Папярэднія налады для даследавання хібаў спажывання энергіі ў { -brand-shorter-name }, з невялікімі выдаткамі.
-
+perftools-presets-debug-label = Адладка
+perftools-presets-debug-description = Папярэднія налады для адладкі ў { -brand-shorter-name }. Вялікія накладныя выдаткі, выкарыстоўвайце не для павышэння прадукцыйнасці, а для канцэнтрацыі ўвагі на разуменні паводзін браўзера.
 perftools-presets-custom-label = Адмысловыя
 
 ##
diff --git a/thunderbird-l10n/be/localization/be/devtools/client/tooltips.ftl b/thunderbird-l10n/be/localization/be/devtools/client/tooltips.ftl
index c949d7bf24ecee464e2b4c681576546ed3bffe50..5c82d162f50ba32f8aa319728baa1523a540bed5 100644
--- a/thunderbird-l10n/be/localization/be/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/be/localization/be/devtools/client/tooltips.ftl
@@ -14,9 +14,20 @@ learn-more = <span data-l10n-name="link">Даведацца больш</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> не ўплывае на гэты элемент, паколькі ён ні flex-кантэйнер, ні grid-кантэйнер.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> не ўплывае на гэты элемент, паколькі ён ні flex-кантэйнер, ні grid-кантэйнер, ні шматкалонкавы кантэйнер.
 inactive-css-not-multicol-container = <strong>{ $property }</strong> не ўплывае на гэты элемент, паколькі ён не многаслупковы кантэйнер.
+inactive-css-column-span = <strong>{ $property }</strong> не мае эфекту ахопу для гэтага элемента, паколькі ён не знаходзіцца ўнутры многаслупковага кантэйнера.
 inactive-css-not-grid-or-flex-item = <strong>{ $property }</strong> не ўплывае на гэты элемент, паколькі ён ні grid, ні flex элемент.
 inactive-css-not-grid-item = <strong>{ $property }</strong> не ўплывае на гэты элемент, паколькі ён не grid-элемент.
 inactive-css-not-grid-container = <strong>{ $property }</strong> не ўплывае на гэты элемент, паколькі ён не grid-кантэйнер.
@@ -28,8 +39,10 @@ inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</
 inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> не падтрымліваецца на псеўда-элементах ::placeholder.
 inactive-css-property-because-of-display = <strong>{ $property }</strong> не ўплывае на гэты элемент, паколькі яго ўласцівасць display зададзена <strong>{ $display }</strong>.
 inactive-css-not-display-block-on-floated = Значэнне <strong>display</strong> было заменена рухавіком на <strong>block</strong>, таму што элемент <strong>floated</strong>.
+inactive-css-not-display-block-on-floated-2 = Значэнне <strong>display</strong> было заменена рухавіком на <strong>{ $display }</strong>, таму што элемент <strong>floated</strong>.
 inactive-css-property-is-impossible-to-override-in-visited = Немагчыма перавызначыць <strong>{ $property }</strong> з-за абмежавання <strong>:visited</strong>.
 inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> не ўплывае на гэты элемент, паколькі ён не пазіцыянаваны элемент.
+inactive-css-only-replaced-elements = <strong>{ $property }</strong> не ўплывае на гэты элемент, паколькі яго можна прымяніць толькі да замененых элементаў.
 inactive-text-overflow-when-no-overflow = <strong>{ $property }</strong> не ўплывае на гэты элемент, паколькі <strong>overflow:hidden</strong> не ўсталяваны.
 inactive-css-not-for-internal-table-elements = <strong>{ $property }</strong> не ўплывае на ўнутраныя элементы табліцы.
 inactive-css-not-for-internal-table-elements-except-table-cells = <strong>{ $property }</strong> не ўплывае на ўнутраныя элементы табліцы, акрамя ячэек табліцы.
@@ -37,6 +50,7 @@ inactive-css-not-table = <strong>{ $property }</strong> не ўплывае на
 inactive-css-not-table-cell = <strong>{ $property }</strong> не ўплывае на гэты элемент, паколькі ён не з’яўляецца ячэйкай табліцы.
 inactive-scroll-padding-when-not-scroll-container = <strong>{ $property }</strong> не ўплывае на гэты элемент, паколькi ён не пракручваецца.
 inactive-css-border-image = <strong>{ $property }</strong> не мае ніякага ўплыву на гэты элемент, паколькі ён не можа быць ужыты да ўнутраных элементаў табліцы, дзе для <strong>border-collapse</strong> усталявана значэнне <strong>collapse</strong> на элемент бацькоўскай табліцы.
+inactive-css-resize = <strong>{ $property }</strong> не ўплывае на гэты элемент, паколькі ён можа прымяняцца толькі да элементаў са значэннем перапаўнення, акрамя visible, і да некаторых замененых элементаў, такіх як тэкставыя вобласці.
 inactive-css-ruby-element = <strong>{ $property }</strong> не ўплывае на гэты элемент, таму што гэта элемент ruby. Яго памер вызначаны памерам шрыфту тэксту ruby.
 
 ## In the Rule View when a CSS property cannot be successfully applied we display
@@ -54,6 +68,7 @@ inactive-css-text-wrap-balance-lines-exceeded =
        *[many] <strong>{ $property }</strong> не ўплывае на гэты элемент, бо ён мае больш за { $lineCount } радкоў.
     }
 inactive-css-text-wrap-balance-fragmented = <strong>{ $property }</strong> не ўплывае на гэты элемент, таму што ён фрагментаваны, г.зн. яго змесціва падзелена на некалькі слупкоў ці старонак.
+inactive-css-no-width-height = <strong>{ $property }</strong> не ўплывае на гэты элемент, паколькі яго шырыню і вышыню нельга ўсталяваць.
 
 ## In the Rule View when a CSS property cannot be successfully applied we display
 ## an icon. When this icon is hovered this message is displayed to explain how
@@ -64,6 +79,7 @@ inactive-css-not-grid-or-flex-container-fix = Паспрабуйце дадац
 inactive-css-not-grid-or-flex-or-block-container-fix = Паспрабуйце дадаць <strong>display:grid</strong>, <strong>display:flex</strong> або <strong>display:block</strong>. { learn-more }
 inactive-css-not-grid-or-flex-container-or-multicol-container-fix = Паспрабуйце дадаць <strong>display:grid</strong>, <strong>display:flex</strong>, або <strong>columns:2</strong>. { learn-more }
 inactive-css-not-multicol-container-fix = Паспрабуйце дадаць <strong>column-count</strong> або <strong>column-width</strong>. { learn-more }
+inactive-css-column-span-fix = Паспрабуйце дадаць <strong>column-count</strong> або <strong>column-width</strong> да аднаго з бацькоўскіх элементаў. { learn-more }
 inactive-css-not-grid-or-flex-item-fix-3 = Паспрабуйце дадаць <strong>display:grid</strong>, <strong>display:flex</strong>, <strong>display:inline-grid</strong> цi <strong>display:inline-flex</strong> да бацькоўскага элемента. { learn-more }
 inactive-css-not-grid-item-fix-2 = Паспрабуйце дадаць <strong>display:grid</strong> ці <strong>display:inline-grid</strong> да бацькоўскага элемента. { learn-more }
 inactive-css-not-grid-container-fix = Паспрабуйце дадаць <strong>display:grid</strong> ці <strong>display:inline-grid</strong>. { learn-more }
@@ -74,6 +90,7 @@ inactive-css-non-replaced-inline-or-table-row-or-row-group-fix = Паспраб
 inactive-css-non-replaced-inline-or-table-column-or-column-group-fix = Паспрабуйце дадаць <strong>display:inline-block</strong>. { learn-more }
 inactive-css-not-display-block-on-floated-fix = Паспрабуйце выдаліць <strong>float</strong> або дадаць <strong>display:block</strong>. { learn-more }
 inactive-css-position-property-on-unpositioned-box-fix = Паспрабуйце ўсталяваць яго ўласцівасць <strong>position</strong> на што-небудзь іншае, ніж <strong>static</strong>. { learn-more }
+inactive-css-only-replaced-elements-fix = Пераканайцеся, што дадаяце ўласцівасць да замененага элемента. { learn-more }
 inactive-text-overflow-when-no-overflow-fix = Паспрабуйце дадаць <strong>overflow:hidden</strong>. { learn-more }
 inactive-css-not-for-internal-table-elements-fix = Паспрабуйце ўстанавіць для ўласцівасці <strong>display</strong> нешта іншае, ніж <strong>table-cell </strong>, <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong> ці <strong>table-footer-group</strong>. { learn-more }
 inactive-css-not-for-internal-table-elements-except-table-cells-fix = Паспрабуйце ўстанавіць для ўласцівасці <strong>display</strong> нешта іншае, ніж <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong> ці <strong>table-footer-group</strong>. { learn-more }
@@ -81,6 +98,7 @@ inactive-css-not-table-fix = Паспрабуйце дадаць <strong>display
 inactive-css-not-table-cell-fix = Паспрабуйце дадаць <strong>display:table-cell</strong>. { learn-more }
 inactive-scroll-padding-when-not-scroll-container-fix = Паспрабуйце дадаць <strong>overflow:auto</strong>, <strong>overflow:scroll</strong> альбо <strong>overflow:hidden</strong>. { learn-more }
 inactive-css-border-image-fix = У элеменце бацькоўскай табліцы выдаліце ўласцівасць або змяніце значэнне <strong>border-collapse</strong> на іншае, ніж <strong>collapse</strong>. { learn-more }
+inactive-css-resize-fix = Паспрабуйце ўсталяваць для <strong>overflow</strong> значэнне, адрознае ад <strong>visible</strong>, ці нацэліць на заменены элемент, які падтрымлівае яго. { learn-more }
 inactive-css-ruby-element-fix = Паспрабуйце змяніць <strong>font-size</strong> тэксту ruby. { learn-more }
 inactive-css-text-wrap-balance-lines-exceeded-fix = Паспрабуйце паменшыць колькасць радкоў. { learn-more }
 inactive-css-text-wrap-balance-fragmented-fix = Пазбягайце падзелу змесціва элемента, напрыклад. шляхам выдалення слупкоў або выкарыстання <strong>page-break-inside:avoid</strong>. { learn-more }
diff --git a/thunderbird-l10n/be/manifest.json b/thunderbird-l10n/be/manifest.json
index 32a7227e8968e42d8c6cbf5ef0235c68f0828c8e..b7d8a686ffc0b59b7ad972981913e4ccef35f520 100644
--- a/thunderbird-l10n/be/manifest.json
+++ b/thunderbird-l10n/be/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Беларуская (Belarusian)",
-  "description": "Thunderbird Beta Language Pack for Беларуская (be) – Belarusian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Беларуская (be) – Belarusian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "be": {
-      "version": "20240627141614",
+      "version": "20240710213713",
       "chrome_resources": {
         "alerts": "chrome/be/locale/be/alerts/",
         "autoconfig": "chrome/be/locale/be/autoconfig/",
diff --git a/thunderbird-l10n/bg/chrome/bg/locale/branding/brand.dtd b/thunderbird-l10n/bg/chrome/bg/locale/branding/brand.dtd
index d8e599d4ae5c46cb6a67c7694ee6c5036ea01513..ea78621306476f5840c0a77c3778fbeac9bb2f58 100644
--- a/thunderbird-l10n/bg/chrome/bg/locale/branding/brand.dtd
+++ b/thunderbird-l10n/bg/chrome/bg/locale/branding/brand.dtd
@@ -1,13 +1,12 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Бета">
-<!ENTITY  brandShorterName      "Thunderbird Бета">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Бета">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird и логотипа на Thunderbird
-                                  са търговски марки на Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird и логотипа на Thunderbird са търговски марки на Mozilla Foundation.">
diff --git a/thunderbird-l10n/bg/chrome/bg/locale/branding/brand.properties b/thunderbird-l10n/bg/chrome/bg/locale/branding/brand.properties
index bdb274b8f9512159f91a729e2193fa3caed5f022..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/bg/chrome/bg/locale/branding/brand.properties
+++ b/thunderbird-l10n/bg/chrome/bg/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Бета
-brandShorterName=Thunderbird Бета
-brandFullName=Mozilla Thunderbird Бета
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/bg/localization/bg/branding/brand.ftl b/thunderbird-l10n/bg/localization/bg/branding/brand.ftl
index 0de89c780356fe9c4ecdc66dcf4242d3caf2ac62..b4c89634f77bac53bc69d3d5ad205b209712ce3b 100644
--- a/thunderbird-l10n/bg/localization/bg/branding/brand.ftl
+++ b/thunderbird-l10n/bg/localization/bg/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Бета
--brand-short-name = Thunderbird Бета
--brand-full-name = Mozilla Thunderbird Бета
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/bg/manifest.json b/thunderbird-l10n/bg/manifest.json
index 5829a892bbaa30fc00150d9f113257e063890965..41c3da9da974a53ba1dfd27228aba5cba6952215 100644
--- a/thunderbird-l10n/bg/manifest.json
+++ b/thunderbird-l10n/bg/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Български (Bulgarian)",
-  "description": "Thunderbird Beta Language Pack for Български (bg) – Bulgarian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Български (bg) – Bulgarian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "bg": {
-      "version": "20240627141659",
+      "version": "20240710213756",
       "chrome_resources": {
         "alerts": "chrome/bg/locale/bg/alerts/",
         "autoconfig": "chrome/bg/locale/bg/autoconfig/",
diff --git a/thunderbird-l10n/br/chrome/br/locale/branding/brand.dtd b/thunderbird-l10n/br/chrome/br/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..1fe19c2a539165aa7cabbb21e28f86e5c2eb136e 100644
--- a/thunderbird-l10n/br/chrome/br/locale/branding/brand.dtd
+++ b/thunderbird-l10n/br/chrome/br/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird and the Thunderbird logos
-                                 are trademarks of the Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Merkoù marilhet eus Diazezadenn
+                                 Mozilla eo Thunderbird ha sielloù Thunderbird.">
diff --git a/thunderbird-l10n/br/chrome/br/locale/branding/brand.properties b/thunderbird-l10n/br/chrome/br/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/br/chrome/br/locale/branding/brand.properties
+++ b/thunderbird-l10n/br/chrome/br/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/br/localization/br/branding/brand.ftl b/thunderbird-l10n/br/localization/br/branding/brand.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..52f2d38d598d2c16a3ffeea2137af0bee86428fe
--- /dev/null
+++ b/thunderbird-l10n/br/localization/br/branding/brand.ftl
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
diff --git a/thunderbird-l10n/br/manifest.json b/thunderbird-l10n/br/manifest.json
index e9057ee9f129c2a84446ef2c9aa5e2a27f16b67a..a82cb6bc5927c458e971cdd15df691a1d140d959 100644
--- a/thunderbird-l10n/br/manifest.json
+++ b/thunderbird-l10n/br/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Brezhoneg (Breton)",
-  "description": "Thunderbird Beta Language Pack for Brezhoneg (br) – Breton",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Brezhoneg (br) – Breton",
+  "version": "128.0.20240710.185639",
   "languages": {
     "br": {
-      "version": "20240627141652",
+      "version": "20240710213350",
       "chrome_resources": {
         "alerts": "chrome/br/locale/br/alerts/",
         "autoconfig": "chrome/br/locale/br/autoconfig/",
diff --git a/thunderbird-l10n/ca/chrome/ca/locale/branding/brand.dtd b/thunderbird-l10n/ca/chrome/ca/locale/branding/brand.dtd
index 039be98d19cc89b0f2fead765d22950813180792..24cab1b580f8fc22fec9d730e118796c9bc8cab7 100644
--- a/thunderbird-l10n/ca/chrome/ca/locale/branding/brand.dtd
+++ b/thunderbird-l10n/ca/chrome/ca/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/ca/chrome/ca/locale/branding/brand.properties b/thunderbird-l10n/ca/chrome/ca/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/ca/chrome/ca/locale/branding/brand.properties
+++ b/thunderbird-l10n/ca/chrome/ca/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/ca/localization/ca/branding/brand.ftl b/thunderbird-l10n/ca/localization/ca/branding/brand.ftl
index d140ee561411fb1e9eb448b4fd46b0f7272499f8..0658c435105f1547a7d03f630ff3ab5703f81013 100644
--- a/thunderbird-l10n/ca/localization/ca/branding/brand.ftl
+++ b/thunderbird-l10n/ca/localization/ca/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/ca/localization/ca/messenger/addonNotifications.ftl b/thunderbird-l10n/ca/localization/ca/messenger/addonNotifications.ftl
index 2b8d645803ab055715a8f4b239af9fb0eb18ccdc..fa5d0b8c75e7eb73b567099f95fb1b4b2d2efb1b 100644
--- a/thunderbird-l10n/ca/localization/ca/messenger/addonNotifications.ftl
+++ b/thunderbird-l10n/ca/localization/ca/messenger/addonNotifications.ftl
@@ -107,13 +107,13 @@ addon-confirm-install-some-unsigned-message = Precaució: Aquest lloc vol instal
 
 addon-install-error-network-failure = No s'ha pogut baixar el complement perquè s'ha produït un problema de connexió.
 addon-install-error-incorrect-hash = No s'ha pogut instal·lar el complement perquè no coincideix amb el complement que esperava el { -brand-short-name }.
-addon-install-error-corrupt-file = No s'ha pogut instal·lar el complement baixat perquè sembla que era defectuós.
+addon-install-error-corrupt-file = No s'ha pogut instal·lar el complement baixat d'aquest lloc perquè sembla que està malmès.
 addon-install-error-file-access = No s'ha pogut instal·lar el complement «{ $addonName }» perquè el { -brand-short-name } no ha pogut modificar un fitxer necessari.
 addon-install-error-not-signed = El { -brand-short-name } ha evitat que aquest lloc instal·li un complement no verificat.
 addon-install-error-invalid-domain = El complement { $addonName } no es pot instal·lar des d'aquesta ubicació.
 addon-local-install-error-network-failure = No s'ha pogut instal·lar el complement per un error del sistema de fitxers.
 addon-local-install-error-incorrect-hash = No s'ha pogut instal·lar aquest complement perquè no coincideix amb el complement que esperava el { -brand-short-name }.
-addon-local-install-error-corrupt-file = No es pot instal·lar el complement perquè sembla estar malmès.
+addon-local-install-error-corrupt-file = No s'ha pogut instal·lar aquest complement perquè sembla que està malmès.
 addon-local-install-error-file-access = No s'ha pogut instal·lar el complement «{ $addonName }» perquè el { -brand-short-name } no ha pogut modificar un fitxer necessari.
 addon-local-install-error-not-signed = No es pot instal·lar aquest complement perquè no està verificat.
 # Variables:
diff --git a/thunderbird-l10n/ca/localization/ca/toolkit/global/profileDowngrade.ftl b/thunderbird-l10n/ca/localization/ca/toolkit/global/profileDowngrade.ftl
index ca28b08687993dd78b917cf521d67f25ab196508..ee0e98fa4f9f26e1248e8e446904a76b29efd234 100644
--- a/thunderbird-l10n/ca/localization/ca/toolkit/global/profileDowngrade.ftl
+++ b/thunderbird-l10n/ca/localization/ca/toolkit/global/profileDowngrade.ftl
@@ -5,13 +5,11 @@
 profiledowngrade-window2 =
     .title = Heu iniciat una versió antiga del { -brand-product-name }.
     .style = min-width: 490px;
-
 profiledowngrade-window-create =
     .label = Crea un perfil nou
-
 profiledowngrade-sync = L'ús d'una versió antiga del { -brand-product-name } pot malmetre les adreces d'interès i l'historial de navegació que ja estiguin desats en un perfil del { -brand-product-name } existent. Per protegir la vostra informació, creeu un perfil nou per a aquesta instal·lació del { -brand-short-name }. Sempre podeu iniciar la sessió amb un { -fxaccount-brand-name } per sincronitzar les adreces d'interès i l'historial de navegació entre perfils.
+profiledowngrade-sync2 = L'ús d'una versió antiga del { -brand-product-name } pot malmetre les adreces d'interès i l'historial de navegació que ja estiguin desats en un perfil del { -brand-product-name } existent. Per protegir la vostra informació, creeu un perfil nou per a aquesta instal·lació del { -brand-short-name }. Sempre podeu iniciar la sessió amb un compte per sincronitzar les adreces d'interès i l'historial de navegació entre perfils.
 profiledowngrade-nosync = L'ús d'una versió antiga del { -brand-product-name } pot malmetre les adreces d'interès i l'historial de navegació que ja estiguin desats en un perfil del { -brand-product-name } existent. Per protegir la vostra informació, creeu un perfil nou per a aquesta instal·lació del { -brand-short-name }.
-
 profiledowngrade-quit =
     .label =
         { PLATFORM() ->
diff --git a/thunderbird-l10n/ca/manifest.json b/thunderbird-l10n/ca/manifest.json
index db2f042485f1016cffe69c206ebbf3009b3c549a..53837582863a7b50bd41c0a38eeacdbecf5b0cdb 100644
--- a/thunderbird-l10n/ca/manifest.json
+++ b/thunderbird-l10n/ca/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Català (Catalan)",
-  "description": "Thunderbird Beta Language Pack for Català (ca) – Catalan",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Català (ca) – Catalan",
+  "version": "128.0.20240710.185639",
   "languages": {
     "ca": {
-      "version": "20240627141741",
+      "version": "20240710213432",
       "chrome_resources": {
         "alerts": "chrome/ca/locale/ca/alerts/",
         "autoconfig": "chrome/ca/locale/ca/autoconfig/",
diff --git a/thunderbird-l10n/cak/chrome/cak/locale/branding/brand.dtd b/thunderbird-l10n/cak/chrome/cak/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..b3ecdc5900eedec93131c522c93d60b4422150f8 100644
--- a/thunderbird-l10n/cak/chrome/cak/locale/branding/brand.dtd
+++ b/thunderbird-l10n/cak/chrome/cak/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird and the Thunderbird logos
-                                 are trademarks of the Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Ri taq ruwachib'al Thuderbird chuqa' ri Thunderbird
+                                 q'alajisan ketal rub'i' ri Mozilla Moloj.">
diff --git a/thunderbird-l10n/cak/chrome/cak/locale/branding/brand.properties b/thunderbird-l10n/cak/chrome/cak/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/cak/chrome/cak/locale/branding/brand.properties
+++ b/thunderbird-l10n/cak/chrome/cak/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/cak/localization/cak/branding/brand.ftl b/thunderbird-l10n/cak/localization/cak/branding/brand.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..52f2d38d598d2c16a3ffeea2137af0bee86428fe
--- /dev/null
+++ b/thunderbird-l10n/cak/localization/cak/branding/brand.ftl
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
diff --git a/thunderbird-l10n/cak/manifest.json b/thunderbird-l10n/cak/manifest.json
index 84f8d0d00102f7bce55a14e321843c5dfeb7f311..22186c8068dff76aea97b5568ab41e75ecc73d13 100644
--- a/thunderbird-l10n/cak/manifest.json
+++ b/thunderbird-l10n/cak/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Kaqchikel",
-  "description": "Thunderbird Beta Language Pack for Kaqchikel (cak)",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Kaqchikel (cak)",
+  "version": "128.0.20240710.185639",
   "languages": {
     "cak": {
-      "version": "20240627141828",
+      "version": "20240710213515",
       "chrome_resources": {
         "alerts": "chrome/cak/locale/cak/alerts/",
         "autoconfig": "chrome/cak/locale/cak/autoconfig/",
diff --git a/thunderbird-l10n/cs/chrome/cs/locale/branding/brand.dtd b/thunderbird-l10n/cs/chrome/cs/locale/branding/brand.dtd
index 7c72d90f3e4b820ba205b279f8f7b28666c31dbb..4a4c63e12d5fde3731360ebf4c885be6203fdd91 100644
--- a/thunderbird-l10n/cs/chrome/cs/locale/branding/brand.dtd
+++ b/thunderbird-l10n/cs/chrome/cs/locale/branding/brand.dtd
@@ -1,12 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird a logo Thunderbird jsou obchodní známky Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird a jeho loga jsou ochrannými známkami
+                                 organizace Mozilla Foundation.">
diff --git a/thunderbird-l10n/cs/chrome/cs/locale/branding/brand.properties b/thunderbird-l10n/cs/chrome/cs/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/cs/chrome/cs/locale/branding/brand.properties
+++ b/thunderbird-l10n/cs/chrome/cs/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/cs/chrome/cs/locale/cs/devtools/client/debugger.properties b/thunderbird-l10n/cs/chrome/cs/locale/cs/devtools/client/debugger.properties
index 795d27975aea9bf6a2c288762089cfd8dd24ac57..2e600dbcf321f6104899cd2beb2d66bf21d9ecf3 100644
--- a/thunderbird-l10n/cs/chrome/cs/locale/cs/devtools/client/debugger.properties
+++ b/thunderbird-l10n/cs/chrome/cs/locale/cs/devtools/client/debugger.properties
@@ -146,6 +146,12 @@ stopTraceButtonTooltip2=Zastavit sledování rámců JavaScriptu. (%S)
 # This is used to force logging JavaScript traces in the Web Console.
 traceInWebConsole=Sledovat v Konzoli
 
+# LOCALIZATION NOTE (traceInProfiler): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces to a firefox profiler record,
+# which is opened when you stop tracing.
+traceInProfiler=Sledovat v profileru
+
 # LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
 # of the trace button, which is in the top of the debugger right sidebar.
 # This is used to force logging JavaScript traces in the stdout.
@@ -647,6 +653,10 @@ original=originál
 # input element
 expressions.placeholder=Přidat sledovaný výraz
 
+# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression
+# input element
+expressions.errorMsg=Neplatný výraz…
+
 # LOCALIZATION NOTE (expressions.placeholder): Placeholder text for expression
 # input element
 expressions.placeholder2=Přidat výraz
@@ -655,10 +665,6 @@ expressions.placeholder2=Přidat výraz
 # for when the`map variable names`is off and the debugger is paused in an original source
 expressions.noOriginalScopes=Mapování názvů původních proměnných je vypnuto. Hodnoty výrazů nemusí být přesné.
 
-# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression
-# input element
-expressions.errorMsg=Neplatný výraz…
-
 # LOCALIZATION NOTE (expressions.label): For the "Add watch expression" context menu item in the editor
 expressions.label=Přidat sledovaný výraz
 expressions.accesskey=e
diff --git a/thunderbird-l10n/cs/chrome/cs/locale/cs/devtools/shared/styleinspector.properties b/thunderbird-l10n/cs/chrome/cs/locale/cs/devtools/shared/styleinspector.properties
index 6b03aef725195699e1b92b08d6a91e98da3dd056..c8303954484e2ce98b7d4aaca2d792a326798cad 100644
--- a/thunderbird-l10n/cs/chrome/cs/locale/cs/devtools/shared/styleinspector.properties
+++ b/thunderbird-l10n/cs/chrome/cs/locale/cs/devtools/shared/styleinspector.properties
@@ -123,6 +123,10 @@ rule.flexToggle.tooltip=Přepne zvýraznění flexboxu
 # when the mouse is over a CSS Grid toggle icon in the rule view.
 rule.gridToggle.tooltip=Klepněte pro přepnutí zvýrazňování mřížky CSS
 
+# LOCALIZATION NOTE (rule.shapeToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a CSS shape toggle icon in the rule view (e.g. for clip-path property).
+rule.shapeToggle.tooltip=Klepnutím přepnete CSS Shape editor
+
 # LOCALIZATION NOTE (rule.filterStyles.placeholder): This is the placeholder that
 # goes in the search box when no search term has been entered.
 rule.filterStyles.placeholder=Filtrovat styly
diff --git a/thunderbird-l10n/cs/chrome/cs/locale/cs/global/dom/dom.properties b/thunderbird-l10n/cs/chrome/cs/locale/cs/global/dom/dom.properties
index 04edf301e52d056fc2af2abd0d73addd4741daea..eb86393a492a124e78adfcebacd77f0297cde505 100644
--- a/thunderbird-l10n/cs/chrome/cs/locale/cs/global/dom/dom.properties
+++ b/thunderbird-l10n/cs/chrome/cs/locale/cs/global/dom/dom.properties
@@ -140,6 +140,7 @@ MediaEMEInsecureContextDeprecatedWarning=Použití Encrypted Media Extensions na
 MediaEMENoCapabilitiesDeprecatedWarning=Volání navigator.requestMediaKeySystemAccess() (na adrese %S) bez kandidáta MediaKeySystemConfiguration obsahujícího audioCapabilities nebo videoCapabilities je zastaralé a přestane být brzy podporováno.
 # LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (a "codecs" string in the "contentType") that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
 MediaEMENoCodecsDeprecatedWarning=Volání navigator.requestMediaKeySystemAccess() (na adrese %S) s kandidátem MediaKeySystemConfiguration obsahujícím audioCapabilities nebo videoCapabilities bez contentType a se stringem “codecs” je zastaralé a přestane být brzy podporováno.
+
 # LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
 MutationEventWarning=Použití Mutation Events je zastaralé. Používejte raději MutationObserver.
 
@@ -255,6 +256,8 @@ ManifestImageUnsupportedPurposes=Položka %1$S s indexem %2$S má nastavené nep
 # LOCALIZATION NOTE: %1$S is the name of the parent property that has a repeated purpose (e.g., "icons"). %2$S is the index of the image object that has the repeated purpose (from 0). %3$S is the repeated purposes. E.g. "icons item at index 2 includes repeated purpose(s): a b."
 ManifestImageRepeatedPurposes=Položka %1$S s indexem %2$S má nastavené opakované účely: %3$S.
 PatternAttributeCompileFailure=Kontrola <input pattern='%S'> se nezdařila, protože pravidlo není platný regexp: %S
+# LOCALIZATION NOTE: %1$S is the regexp pattern, %2$S the regexp flags, %3$S the error message. Do not translate <input pattern>
+PatternAttributeCompileFailurev2=Nelze zkontrolovat <input pattern=‘%1$S’>, protože ‘/%1$S/%2$S’ není platný regulární výraz: %3$S
 # LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
 TargetPrincipalDoesNotMatch=Vykonání „postMessage“ pro „DOMWindow“: selhalo Uvedený původ („%S“) nesouhlasí s původem cílového okna („%S“).
 # LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
diff --git a/thunderbird-l10n/cs/chrome/cs/locale/cs/global/narrate.properties b/thunderbird-l10n/cs/chrome/cs/locale/cs/global/narrate.properties
index d3cde3e05a215ba37722b6e5b525243cd4bca599..033254004fdd8c60eb5b48f3551f6a7e3655f1c1 100644
--- a/thunderbird-l10n/cs/chrome/cs/locale/cs/global/narrate.properties
+++ b/thunderbird-l10n/cs/chrome/cs/locale/cs/global/narrate.properties
@@ -12,6 +12,8 @@ back = Zpět
 # "Listen, which allows users to listen to Firefox reading the text,
 # instead of having to read it themselves." This is the name
 # of the feature and it is the label for the popup button.
+# Header for the narrate menu
+read-aloud-header = Hlasité čtení
 # %S is the keyboard shortcut for the listen command
 read-aloud-label = Čtení nahlas (%S)
 # %S is the keyboard shortcut for the skip back command
@@ -26,7 +28,10 @@ forward = Vpřed
 # %S is the keyboard shortcut for the skip forward command
 next-label = Vpřed (%S)
 speed = Rychlost
+slow-speed-label = Zpomalení vyprávění
+fast-speed-label = Zrychlení vyprávění
 selectvoicelabel = Hlas:
+select-voice-header = Hlas
 # Default voice is determined by the language of the document.
 defaultvoice = Výchozí
 
diff --git a/thunderbird-l10n/cs/chrome/cs/locale/cs/necko/necko.properties b/thunderbird-l10n/cs/chrome/cs/locale/cs/necko/necko.properties
index bb48511ef09941e629abfd2468deaceaf32dcf6d..b077e50ab300eb4ff0576535046b526d689b5e88 100644
--- a/thunderbird-l10n/cs/chrome/cs/locale/cs/necko/necko.properties
+++ b/thunderbird-l10n/cs/chrome/cs/locale/cs/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=Cookie „%1$S“ je neplatná, protože je příliš veliká. Ma
 CookiePathOversize=Cookie „%1$S“ je neplatná, protože je cesta je příliš veliká. Maximální velikost je %2$S B.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Cookie „%1$S“ byla odmítnuta na základě uživatelských nastavení.
+CookieRejectedEmptyNameAndValue=Soubor cookie s prázdným názvem a prázdnou hodnotou byl odmítnut.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Cookie „%1$S“ byla odmítnuta kvůli neplatným znakům v názvu.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=Cookie „%1$S“ byla odmítnuta, protože je
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=Cookie “%1$S” byla zablokována, protože má atribut “Partitioned” ale chybí jí atribut “secure”.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=Hodnota atributu “%2$S” pro soubor cookie “%1$S” byla zamítnuta, protože je příliš velká. Maximální velikost je %3$S bajtů.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Cookie “%1$S” bude brzy zamítnuta, protože je cizí a nemá atribut “Partitioned“.
 
diff --git a/thunderbird-l10n/cs/localization/cs/branding/brand.ftl b/thunderbird-l10n/cs/localization/cs/branding/brand.ftl
index 0c7dc4629797d9e14a0181e994fad79f17c071c2..b39605835ca7377409cfb53e64afa135daeb0dee 100644
--- a/thunderbird-l10n/cs/localization/cs/branding/brand.ftl
+++ b/thunderbird-l10n/cs/localization/cs/branding/brand.ftl
@@ -12,11 +12,66 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name =
+    { $case ->
+        [gen] Thunderbirdu
+        [dat] Thunderbirdu
+        [acc] Thunderbird
+        [voc] Thunderbirde
+        [loc] Thunderbirdu
+        [ins] Thunderbirdem
+       *[nom] Thunderbird
+    }
+    .gender = masculine
+    .case-status = with-cases
+-brand-short-name =
+    { $case ->
+        [gen] Thunderbirdu
+        [dat] Thunderbirdu
+        [acc] Thunderbird
+        [voc] Thunderbirde
+        [loc] Thunderbirdu
+        [ins] Thunderbirdem
+       *[nom] Thunderbird
+    }
+    .gender = masculine
+    .case-status = with-cases
+-brand-full-name =
+    { $case ->
+        [gen] Mozilly Thunderbirdu
+        [dat] Mozille Thunderbirdu
+        [acc] Mozillu Thunderbird
+        [voc] Mozillo Thunderbirde
+        [loc] Mozille Thunderbirdu
+        [ins] Mozillou Thunderbirdem
+       *[nom] Mozilla Thunderbird
+    }
+    .gender = masculine
+    .case-status = with-cases
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
--brand-product-name = Thunderbird
--vendor-short-name = Mozilla
+-brand-product-name =
+    { $case ->
+        [gen] Thunderbirdu
+        [dat] Thunderbirdu
+        [acc] Thunderbird
+        [voc] Thunderbirde
+        [loc] Thunderbirdu
+        [ins] Thunderbirdem
+       *[nom] Thunderbird
+    }
+    .gender = masculine
+    .case-status = with-cases
+-vendor-short-name =
+    { $case ->
+        [gen] Mozilly
+        [dat] Mozille
+        [acc] Mozillu
+        [voc] Mozillo
+        [loc] Mozille
+        [ins] Mozillou
+       *[nom] Mozilla
+    }
+    .gender = feminine
+    .case-status = with-cases
 trademarkInfo = Mozilla Thunderbird a jeho loga jsou ochrannými známkami organizace Mozilla Foundation.
diff --git a/thunderbird-l10n/cs/localization/cs/devtools/client/perftools.ftl b/thunderbird-l10n/cs/localization/cs/devtools/client/perftools.ftl
index 0fbbb9488274076459a41fda733361c20a569858..d49ba771cc59185d4f758e9e03a91fe5fc7016ee 100644
--- a/thunderbird-l10n/cs/localization/cs/devtools/client/perftools.ftl
+++ b/thunderbird-l10n/cs/localization/cs/devtools/client/perftools.ftl
@@ -125,6 +125,11 @@ perftools-onboarding-close-button =
 # devtools/client/performance-new/shared/background.jsm.js
 # The same labels and descriptions are also defined in appmenu.ftl.
 
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/shared/background.sys.mjs
+# The same labels and descriptions are also defined in appmenu.ftl.
+
 perftools-presets-web-developer-label = Vývoj webu
 perftools-presets-web-developer-description = Doporučené nastavení s minimální režií pro ladění většiny webových aplikací.
 perftools-presets-firefox-label = { -brand-shorter-name }
@@ -158,6 +163,8 @@ perftools-presets-power-description =
         [with-cases] Doporučené nastavení pro ladění chyb ve spotřebě { -brand-shorter-name(case: "gen") }.
        *[no-cases] Doporučené nastavení pro ladění chyb ve spotřebě aplikace { -brand-shorter-name }.
     }
+perftools-presets-debug-label = Ladění
+perftools-presets-debug-description = Přednastaveno pro ladění v aplikaci { -brand-shorter-name }. Vysoká režie, nepoužívat pro zlepšení výkonu, ale spíše pro pochopení chování prohlížeče.
 perftools-presets-custom-label = Vlastní
 
 ##
diff --git a/thunderbird-l10n/cs/localization/cs/devtools/client/tooltips.ftl b/thunderbird-l10n/cs/localization/cs/devtools/client/tooltips.ftl
index 76e2b993750d19419c5f32e411d8b709bd099b42..ca52b22137b9883d52f017fcc4e2b3a5e50df8d0 100644
--- a/thunderbird-l10n/cs/localization/cs/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/cs/localization/cs/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Zjistit více</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> nemá na tento prvek žádný vliv, protože není kontejnerem pro zobrazení grid ani flex.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> nemá na tento prvek žádný vliv, protože není kontejnerem pro zobrazení grid ani flex, ani není kontejnerem s více sloupci.
 inactive-css-not-multicol-container = <strong>{ $property }</strong> nemá na tento prvek žádný vliv, protože není kontejnerem pro více sloupců.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = Vlastnost <strong>{ $pr
 inactive-css-placeholder-pseudo-element-not-supported = Vlastnost <strong>{ $property }</strong> není podporována na pseudoprvcích ::placeholder.
 inactive-css-property-because-of-display = <strong>{ $property }</strong> nemá na tento prvek žádný vliv, protože má nastavenu vlastnost display s hodnotou <strong>{ $display }</strong>.
 inactive-css-not-display-block-on-floated = Hodnota vlastnosti <strong>display</strong> byla automaticky nastavena na <strong>block</strong>, protože je nastavena vlastnost <strong>float</strong>.
+inactive-css-not-display-block-on-floated-2 = Hodnota vlastnosti <strong>display</strong> byla automaticky nastavena na <strong>{ $display }</strong>, protože je nastavena vlastnost <strong>float</strong>.
 inactive-css-property-is-impossible-to-override-in-visited = Není možné přepsat vlastnost <strong>{ $property }</strong> z důvodu omezení selekorem <strong>:visited</strong>.
 inactive-css-position-property-on-unpositioned-box = Vlastnost <strong>{ $property }</strong> nemá na tento prvek žádný vliv, protože nejde o prvek s definovanou pozicí.
 inactive-css-only-replaced-elements = Vlastnost <strong>{ $property }</strong> nemá na tento prvek žádný vliv, protože ho lze použít pouze na nahrazené prvky.
@@ -39,6 +50,7 @@ inactive-css-not-table = Vlatnost <strong>{ $property }</strong> nemá žádný
 inactive-css-not-table-cell = Vlastnost <strong>{ $property }</strong> nemá žádný efekt na tento prvek, protože se nejedná o buňku tabulky.
 inactive-scroll-padding-when-not-scroll-container = Vlastnost <strong>{ $property }</strong> nemá žádný vliv na tento prvek, protože není rolovatelný.
 inactive-css-border-image = Vlastnost <strong>{ $property }</strong> nemá na tento prvek žádný vliv, protože jej nelze použít na vnitřní prvky tabulky, kde je <strong>border-collapse</strong> nastaven na <strong>collapse</strong> na nadřazeném prvku tabulky.
+inactive-css-resize = Vlastnost <strong>{ $property }</strong> nemá žádný vliv na tento prvek, protože ji lze použít jen pro prvky s hodnotou overflow jinou než visible, a pro některé nahrazené prvky, jako je textarea.
 inactive-css-ruby-element = Vlastnost <strong>{ $property }</strong> nemá na tento prvek žádný vliv, protože se jedná o prvek ruby. Jeho velikost je určena velikostí písma textu ruby.
 
 ## In the Rule View when a CSS property cannot be successfully applied we display
@@ -57,6 +69,7 @@ inactive-css-text-wrap-balance-lines-exceeded =
        *[other] Vlastnost <strong>{ $property }</strong> nemá žádný vliv na tento prvek, protože má více než { $lineCount } řádků.
     }
 inactive-css-text-wrap-balance-fragmented = Vlastnost <strong>{ $property }</strong> nemá na tento prvek žádný vliv, protože je fragmentovaný, tj. jeho obsah je rozdělen do více sloupců nebo stránek.
+inactive-css-no-width-height = Vlastnost <strong>{ $property }</strong> nemá žádný vliv na tento prvek, protože jeho výšku a šířku nelze nastavit.
 
 ## In the Rule View when a CSS property cannot be successfully applied we display
 ## an icon. When this icon is hovered this message is displayed to explain how
@@ -86,6 +99,7 @@ inactive-css-not-table-fix = Zkuste přidat <strong>display:table</strong> nebo
 inactive-css-not-table-cell-fix = Zkuste přidat <strong>display:table-cell</strong>. { learn-more }
 inactive-scroll-padding-when-not-scroll-container-fix = Zkuste přidat <strong>overflow:auto</strong>, <strong>overflow:scroll</strong> nebo <strong>overflow:hidden</strong>. { learn-more }
 inactive-css-border-image-fix = V nadřazeném prvku tabulky odstraňte vlastnost nebo změňte hodnotu <strong>border-collapse</strong> na jinou hodnotu než <strong>collapse</strong>. { learn-more }
+inactive-css-resize-fix = Zkuste nastavit <strong>overflow</strong> na jinou hodnotu než <strong>visible</strong> nebo se zaměřte na nahrazený prvek, který jej podporuje. { learn-more }
 inactive-css-ruby-element-fix = Zkuste změnit <strong>font-size</strong> textu prvku ruby. { learn-more }
 inactive-css-text-wrap-balance-lines-exceeded-fix = Pokuste se snížit počet řádků. { learn-more }
 inactive-css-text-wrap-balance-fragmented-fix = Vyhněte se rozdělení obsahu prvku, např. odstraněním sloupců nebo použitím <strong>page-break-inside:avoid</strong>. { learn-more }
diff --git a/thunderbird-l10n/cs/localization/cs/messenger/appmenu.ftl b/thunderbird-l10n/cs/localization/cs/messenger/appmenu.ftl
index bc551a412e5aab0ecb96b42c877ba2d5bdd96f05..4f115045a4cb2f14fdc27771193fa64a234ca84f 100644
--- a/thunderbird-l10n/cs/localization/cs/messenger/appmenu.ftl
+++ b/thunderbird-l10n/cs/localization/cs/messenger/appmenu.ftl
@@ -174,6 +174,13 @@ appmenu-help-get-help =
 appmenu-help-explore-features =
     .label = Prozkoumat všechny funkce
     .accesskey = f
+appmenu-help-get-release-help =
+    .label =
+        { -brand-short-name.case-status ->
+            [with-cases] Získat pomoc s { -brand-short-name(case: "ins") }
+           *[no-cases] Získat pomoc s aplikací { -brand-short-name }
+        }
+    .accesskey = p
 appmenu-help-shortcuts =
     .label = Klávesové zkratky
     .accesskey = K
diff --git a/thunderbird-l10n/cs/localization/cs/messenger/menubar.ftl b/thunderbird-l10n/cs/localization/cs/messenger/menubar.ftl
index ed57df3037aa161d2c0e21fdb8d6ce5d89239552..6760e844fe3971faf55b83d5c156aac279c2e93a 100644
--- a/thunderbird-l10n/cs/localization/cs/messenger/menubar.ftl
+++ b/thunderbird-l10n/cs/localization/cs/messenger/menubar.ftl
@@ -26,6 +26,13 @@ menu-help-get-help =
 menu-help-explore-features =
     .label = Prozkoumejte všechny funkce
     .accesskey = P
+menu-help-get-release-help =
+    .label =
+        { -brand-short-name.case-status ->
+            [with-cases] Získat pomoc s { -brand-short-name(case: "ins") }
+           *[no-cases] Získat pomoc s aplikací { -brand-short-name }
+        }
+    .accesskey = p
 menu-help-shortcuts =
     .label = Klávesové zkratky
     .accesskey = K
diff --git a/thunderbird-l10n/cs/manifest.json b/thunderbird-l10n/cs/manifest.json
index a3b63f770250ed3d0afb71cc767a0e57a080b942..6479f7f1facdafec8faa6bce82a1ecdd0a67533a 100644
--- a/thunderbird-l10n/cs/manifest.json
+++ b/thunderbird-l10n/cs/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Čeština (Czech)",
-  "description": "Thunderbird Beta Language Pack for Čeština (cs) – Czech",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Čeština (cs) – Czech",
+  "version": "128.0.20240710.185639",
   "languages": {
     "cs": {
-      "version": "20240627141915",
+      "version": "20240710213558",
       "chrome_resources": {
         "alerts": "chrome/cs/locale/cs/alerts/",
         "autoconfig": "chrome/cs/locale/cs/autoconfig/",
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/branding/brand.dtd b/thunderbird-l10n/cy/chrome/cy/locale/branding/brand.dtd
index 9f909695f5c74fae7297361ecb7ce95d54b2633a..f78590ab77086f42b501c7ccca4bad626a9bedbe 100644
--- a/thunderbird-l10n/cy/chrome/cy/locale/branding/brand.dtd
+++ b/thunderbird-l10n/cy/chrome/cy/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/branding/brand.properties b/thunderbird-l10n/cy/chrome/cy/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/cy/chrome/cy/locale/branding/brand.properties
+++ b/thunderbird-l10n/cy/chrome/cy/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/global/narrate.properties b/thunderbird-l10n/cy/chrome/cy/locale/cy/global/narrate.properties
index 75251dfcd9859d4c07ee849f6f3d4eb973f375d4..507cb2861c208d55fd06bd3d091a62478c241926 100644
--- a/thunderbird-l10n/cy/chrome/cy/locale/cy/global/narrate.properties
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/global/narrate.properties
@@ -28,6 +28,8 @@ forward = Ymlaen
 # %S is the keyboard shortcut for the skip forward command
 next-label = Ymlaen (%S)
 speed = Cyflymder
+slow-speed-label = Arafu'r arddweud
+fast-speed-label = Cyflymu'r arddweud
 selectvoicelabel = Llais:
 select-voice-header = Llais
 # Default voice is determined by the language of the document.
diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/necko/necko.properties b/thunderbird-l10n/cy/chrome/cy/locale/cy/necko/necko.properties
index c5e0cd70e4e5587329190f56115e4e153ebe9429..917df92282129e73bd281a3feed0b13d2fc8938e 100644
--- a/thunderbird-l10n/cy/chrome/cy/locale/cy/necko/necko.properties
+++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=Mae cwci “%1$S” yn annilys oherwydd bod ei faint yn rhy fawr.
 CookiePathOversize=Mae cwci “%1$S” yn annilys oherwydd bod maint ei lwybr yn rhy fawr. Y maint mwyaf yw %2$S B.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Mae cwci “%1$S” wedi ei wrthod gan ganiatâd gosodedig y defnyddiwr.
+CookieRejectedEmptyNameAndValue=Mae cwci gydag enw gwag a gwerth gwag wedi'i wrthod.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Mae cwci “%1$S” wedi’i wrthod oherwydd nodau annilys yn yr enw.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=Gwrthodwyd cwci “%1$S” oherwydd ei fod mewn
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=Mae cwci “%1$S” wedi ei wrthod oherwydd bod ganddo'r briodwedd “Partitioned” ond mae'r briodwedd “secure” ar goll.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=Mae gwerth y briodwedd “%2$S” ar gyfer y cwci “%1$S” wedi ei wrthod oherwydd bod ei faint yn rhy fawr. Maint mwyaf yw %3$S B.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Bydd cwci “%1$S” yn cael ei wrthod yn fuan oherwydd ei fod yn estron ac nid oes ganddo'r briodwedd “Partitioned“.
 
diff --git a/thunderbird-l10n/cy/localization/cy/branding/brand.ftl b/thunderbird-l10n/cy/localization/cy/branding/brand.ftl
index bbdc788af8e901f34edb5cad786ef46579d97855..0fcf703dec66b9dfacee5768281fd7be6e68babb 100644
--- a/thunderbird-l10n/cy/localization/cy/branding/brand.ftl
+++ b/thunderbird-l10n/cy/localization/cy/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/cy/localization/cy/devtools/client/tooltips.ftl b/thunderbird-l10n/cy/localization/cy/devtools/client/tooltips.ftl
index 1a6d701002cd7c25f16f821d40494f005cf19824..5502465efb98a3d26739e251f85649cf42e5adbc 100644
--- a/thunderbird-l10n/cy/localization/cy/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/cy/localization/cy/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name ="link">Darllen rhagor</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = Nid yw <strong>{ $property }</strong> yn effeithio ar yr elfen hon gan nad yw'n gynhwysydd flex nac yn gynhwysydd grid.
 inactive-css-not-grid-or-flex-container-or-multicol-container = Nid yw <strong>{ $property }</strong> yn effeithio ar yr elfen hon gan nad yw'n gynhwysydd fflecs, yn gynhwysydd grid, neu'n gynhwysydd aml-golofn.
 inactive-css-not-multicol-container = Nid yw <strong>{ $property }</strong> yn cael unrhyw effaith ar yr elfen hon gan nad yw'n gynhwysydd aml-golofn.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = Nid yw <strong>{ $prope
 inactive-css-placeholder-pseudo-element-not-supported = Nid yw <strong>{ $property }</strong> yn cael ei gefnogi ar ::placeholder pseudo-elements.
 inactive-css-property-because-of-display = Nid oes gan <strong>{ $property }</strong> unrhyw effaith ar yr elfen hon gan ei bod yn dangos  <strong>{ $display }</strong>.
 inactive-css-not-display-block-on-floated = Mae'r peiriant wedi newid y gwerth <strong>display</strong> i <strong>block</strong> oherwydd bod yr elfen yn <strong>arnofio</strong>.
+inactive-css-not-display-block-on-floated-2 = Mae'r gwerth <strong>dangos</strong> wedi ei newid gan yr injan i <strong>{ $display }</strong> oherwydd bod yr elfen yn <strong>arnofio</strong>.
 inactive-css-property-is-impossible-to-override-in-visited = Mae'n amhosib diystyru <strong>{ $property }</strong> oherwydd cyfyngiadau <strong>:visited</strong>.
 inactive-css-position-property-on-unpositioned-box = Nid yw <strong>{ $property }</strong> yn effeithio ar yr elfen hon gan nad yw'n eitem wedi'i lleoli.
 inactive-css-only-replaced-elements = Nid yw <strong>{ $property }</strong> yn cael unrhyw effaith ar yr elfen hon gan mai dim ond i elfennau sydd wedi'u disodli y mae modd ei chymhwyso.
@@ -71,6 +82,7 @@ inactive-css-not-grid-or-flex-container-fix = Ceisiwch ychwanegu <strong>display
 inactive-css-not-grid-or-flex-or-block-container-fix = Ceisiwch ychwanegu <strong>display:grid</strong>, <strong>display:flex</strong> neu <strong>display:block</strong>. { learn-more }
 inactive-css-not-grid-or-flex-container-or-multicol-container-fix = Ceisiwch ychwanegu naill ai <strong>display:grid</strong>, <strong>display:flex</strong>, neu <strong>columns:2</strong>. { learn-more }
 inactive-css-not-multicol-container-fix = Ceisiwch ychwanegu <strong>column-count</strong> neu <strong>column-width</strong>. { learn-more }
+inactive-css-column-span-fix = Ceisiwch ychwanegu <strong>column-count</strong> neu <strong>column-width</strong> at un o'i elfennau hynafiaid . { learn-more }
 inactive-css-not-grid-or-flex-item-fix-3 = Ceisiwch ychwanegu <strong>display:grid</strong>, <strong>display:flex</strong>, <strong>display:inline-grid</strong> neu <strong>display:inline-flex</strong> i riant yr elfen. { learn-more }
 inactive-css-not-grid-item-fix-2 = Ceisiwch ychwanegu <strong>display:grid</strong> neu <strong>display:inline-grid</strong> at riant yr elfen. { learn-more }
 inactive-css-not-grid-container-fix = Ceisiwch ychwanegu <strong>display:grid</strong> neu <strong>display:inline-grid</strong>. { learn-more }
@@ -81,6 +93,7 @@ inactive-css-non-replaced-inline-or-table-row-or-row-group-fix = Ceisiwch ychwan
 inactive-css-non-replaced-inline-or-table-column-or-column-group-fix = Ceisiwch ychwanegu <strong>display:inline-block</strong>. { learn-more }
 inactive-css-not-display-block-on-floated-fix = Ceisiwch dynnu <strong>float</strong> neu <strong>display:block</strong>. { learn-more }
 inactive-css-position-property-on-unpositioned-box-fix = Ceisiwch osod priodwedd ei <strong>leoliad</strong> i rywbeth arall heblaw <strong>statig</strong>. { learn-more }
+inactive-css-only-replaced-elements-fix = Gwnewch yn siŵr eich bod yn ychwanegu'r briodwedd at elfen newydd. { learn-more }
 inactive-text-overflow-when-no-overflow-fix = Ceisiwch ychwanegu <strong>overflow:hidden</strong>. { learn-more }
 inactive-css-not-for-internal-table-elements-fix = Ceisiwch osod ei briodwedd <strong>arddangos</strong> i rywbeth arall heblaw <strong>cell-tabl</strong>, <strong>colofn-tabl</strong>, <strong>rhes-tabl</strong>, <strong>tabl-colofn-grŵp</strong>, <strong>tabl-rhes-grŵp</strong>, neu <strong>tabl-troedyn-grŵp</strong>. { learn-more }
 inactive-css-not-for-internal-table-elements-except-table-cells-fix = Ceisiwch osod ei briodwedd <strong>arddangos</strong> i rywbeth arall heblaw <strong>colofn-tabl</strong>, <strong>rhes-tabl</strong>, <strong>tabl-colofn-grŵp</strong>, <strong>tabl-rhes-grŵp</strong>, neu <strong>tabl-troedyn-grŵp</strong>. { learn-more }
@@ -88,6 +101,7 @@ inactive-css-not-table-fix = Ceisiwch ychwanegu <strong>display:table</strong> n
 inactive-css-not-table-cell-fix = Ceisiwch ychwanegu <strong>display:table-cell</strong>. { learn-more }
 inactive-scroll-padding-when-not-scroll-container-fix = Ceisiwch ychwanegu <strong>overflow:auto</strong>, <strong>overflow:scroll</strong> neu <strong>overflow:hidden</strong>. { learn-more }
 inactive-css-border-image-fix = Ar yr elfen tabl rhiant, tynnwch y briodwedd neu newidiwch werth <strong>cwymp-ffiniol</strong> i werth heblaw <strong>cwymp</strong>. { learn-more }
+inactive-css-resize-fix = Ceisiwch osod <strong>gorlif</strong> i werth heblaw <strong>gweladwy</strong> neu dargedu elfen newydd sy'n ei gynnal. { learn-more }
 inactive-css-ruby-element-fix = Ceisio newid <strong>maint ffont</strong> y testun ruby. { learn-more }
 inactive-css-text-wrap-balance-lines-exceeded-fix = Ceisiwch leihau nifer y llinellau.{ learn-more }
 inactive-css-text-wrap-balance-fragmented-fix = Osgowch hollti cynnwys yr elfen e.e. drwy dynnu'r colofnau neu drwy ddefnyddio <strong>page-break-inside:avoid</strong>.{ learn-more }
diff --git a/thunderbird-l10n/cy/localization/cy/messenger/appmenu.ftl b/thunderbird-l10n/cy/localization/cy/messenger/appmenu.ftl
index ba516585bd4d548b18172d3914851ca9c42d33b1..5bf4157d382b5d939f77d9f04a2ea6bc02ba1a5f 100644
--- a/thunderbird-l10n/cy/localization/cy/messenger/appmenu.ftl
+++ b/thunderbird-l10n/cy/localization/cy/messenger/appmenu.ftl
@@ -175,7 +175,7 @@ appmenu-help-explore-features =
     .label = Edrych ar y Nodweddion
     .accesskey = E
 appmenu-help-get-release-help =
-    .label = Cael Help gyda { -brand-short-name }
+    .label = Cael Cymorth gyda { -brand-short-name }
     .accesskey = C
 appmenu-help-shortcuts =
     .label = Llwybrau Byr Bysellfwrdd
diff --git a/thunderbird-l10n/cy/localization/cy/messenger/menubar.ftl b/thunderbird-l10n/cy/localization/cy/messenger/menubar.ftl
index bb075fd201d20d649960f2e98d2c5de4bcce1cc8..c92bc488aaa9bb771af765cee67c69d7c26d390f 100644
--- a/thunderbird-l10n/cy/localization/cy/messenger/menubar.ftl
+++ b/thunderbird-l10n/cy/localization/cy/messenger/menubar.ftl
@@ -27,7 +27,7 @@ menu-help-explore-features =
     .label = Edrych ar y Nodweddion
     .accesskey = E
 menu-help-get-release-help =
-    .label = Cael Help gyda { -brand-short-name }
+    .label = Cael Cymorth gyda { -brand-short-name }
     .accesskey = C
 menu-help-shortcuts =
     .label = Llwybrau Byr Bysellfwrdd
diff --git a/thunderbird-l10n/cy/manifest.json b/thunderbird-l10n/cy/manifest.json
index 977f9f2c93b3247d792b65ed2653d03e545075ee..7e6ed473ecb845e7cf37b987ae49ac7b8da08545 100644
--- a/thunderbird-l10n/cy/manifest.json
+++ b/thunderbird-l10n/cy/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Cymraeg (Welsh)",
-  "description": "Thunderbird Beta Language Pack for Cymraeg (cy) – Welsh",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Cymraeg (cy) – Welsh",
+  "version": "128.0.20240710.185639",
   "languages": {
     "cy": {
-      "version": "20240627142001",
+      "version": "20240710213640",
       "chrome_resources": {
         "alerts": "chrome/cy/locale/cy/alerts/",
         "autoconfig": "chrome/cy/locale/cy/autoconfig/",
diff --git a/thunderbird-l10n/da/chrome/da/locale/branding/brand.dtd b/thunderbird-l10n/da/chrome/da/locale/branding/brand.dtd
index 37bace38ff8950e76d38aca9210fb851ec961710..1de854f99002869bd98e152d46197a778c1c3d70 100644
--- a/thunderbird-l10n/da/chrome/da/locale/branding/brand.dtd
+++ b/thunderbird-l10n/da/chrome/da/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
 <!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird og Thunderbird-logoerne
-                                 er varemærker, der tilhører Mozilla Foundation.">
+                                 er varemærker tilhørende Mozilla Foundation.">
diff --git a/thunderbird-l10n/da/chrome/da/locale/branding/brand.properties b/thunderbird-l10n/da/chrome/da/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/da/chrome/da/locale/branding/brand.properties
+++ b/thunderbird-l10n/da/chrome/da/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/da/localization/da/branding/brand.ftl b/thunderbird-l10n/da/localization/da/branding/brand.ftl
index a0d96fdad6da9e99a6045f85b321eb63172948c6..25afb4964373ed395aa39d98a2970c69984dfdf1 100644
--- a/thunderbird-l10n/da/localization/da/branding/brand.ftl
+++ b/thunderbird-l10n/da/localization/da/branding/brand.ftl
@@ -12,11 +12,11 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
 -vendor-short-name = Mozilla
-trademarkInfo = Mozilla Thunderbird og Thunderbird-logoet er varemærker, der tilhører Mozilla Foundation.
+trademarkInfo = Mozilla Thunderbird og Thunderbird-logoet er varemærker der tilhører Mozilla Foundation.
diff --git a/thunderbird-l10n/da/localization/da/calendar/calendar.ftl b/thunderbird-l10n/da/localization/da/calendar/calendar.ftl
index 5e3516023b92b96a48f9ee5112715eb4492aa74a..0d1936e8832c0c0f047417c31cea2cc5af260bb3 100644
--- a/thunderbird-l10n/da/localization/da/calendar/calendar.ftl
+++ b/thunderbird-l10n/da/localization/da/calendar/calendar.ftl
@@ -357,6 +357,7 @@ html-task-completed = { $task } (udført)
 # Categories
 add-category = Tilføj kategori
 multiple-categories = Flere kategorier
+no-categories = Ingen
 calendar-today = I dag
 calendar-tomorrow = I morgen
 yesterday = I går
diff --git a/thunderbird-l10n/da/localization/da/messenger/appmenu.ftl b/thunderbird-l10n/da/localization/da/messenger/appmenu.ftl
index b9507f793a40b7aa4b0b29bed6a9a3ffaa4bd7f9..a461db7fd24cf900eb124673cd7d9c951ed80f27 100644
--- a/thunderbird-l10n/da/localization/da/messenger/appmenu.ftl
+++ b/thunderbird-l10n/da/localization/da/messenger/appmenu.ftl
@@ -174,6 +174,9 @@ appmenu-help-get-help =
 appmenu-help-explore-features =
     .label = Udforsk funktioner
     .accesskey = r
+appmenu-help-get-release-help =
+    .label = Få hjælp til { -brand-short-name }
+    .accesskey = R
 appmenu-help-shortcuts =
     .label = Tastaturgenveje
     .accesskey = u
diff --git a/thunderbird-l10n/da/localization/da/messenger/menubar.ftl b/thunderbird-l10n/da/localization/da/messenger/menubar.ftl
index b77fddad649792a4478def4995e297a6fff62ec2..7ce1352cfe9642e881629e1411c36b0ca0bdfa80 100644
--- a/thunderbird-l10n/da/localization/da/messenger/menubar.ftl
+++ b/thunderbird-l10n/da/localization/da/messenger/menubar.ftl
@@ -26,6 +26,9 @@ menu-help-get-help =
 menu-help-explore-features =
     .label = Udforsk funktioner
     .accesskey = r
+menu-help-get-release-help =
+    .label = Få hjælp til { -brand-short-name }
+    .accesskey = R
 menu-help-shortcuts =
     .label = Tastaturgenveje
     .accesskey = u
diff --git a/thunderbird-l10n/da/manifest.json b/thunderbird-l10n/da/manifest.json
index a50f2bfcc236e9bdf3b09813f209d0377415b1c9..1fd5cd98798e5e20fff7acf82ef35af38ef39539 100644
--- a/thunderbird-l10n/da/manifest.json
+++ b/thunderbird-l10n/da/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Dansk (Danish)",
-  "description": "Thunderbird Beta Language Pack for Dansk (da) – Danish",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Dansk (da) – Danish",
+  "version": "128.0.20240710.185639",
   "languages": {
     "da": {
-      "version": "20240627141642",
+      "version": "20240710213314",
       "chrome_resources": {
         "alerts": "chrome/da/locale/da/alerts/",
         "autoconfig": "chrome/da/locale/da/autoconfig/",
diff --git a/thunderbird-l10n/de/chrome/de/locale/branding/brand.dtd b/thunderbird-l10n/de/chrome/de/locale/branding/brand.dtd
index fcdbdf19005e92fcb3035759c22419ffa361b3bc..a92c67440f4a37ba6bdb6e10ce31fcb0420ce0a8 100644
--- a/thunderbird-l10n/de/chrome/de/locale/branding/brand.dtd
+++ b/thunderbird-l10n/de/chrome/de/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/de/chrome/de/locale/branding/brand.properties b/thunderbird-l10n/de/chrome/de/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..656d27b518e6cfeba6b3b7f223affaa62730e765 100644
--- a/thunderbird-l10n/de/chrome/de/locale/branding/brand.properties
+++ b/thunderbird-l10n/de/chrome/de/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
-vendorShortName=Mozilla
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
+vendorShortName=Mozilla Thunderbird
diff --git a/thunderbird-l10n/de/chrome/de/locale/de/global/narrate.properties b/thunderbird-l10n/de/chrome/de/locale/de/global/narrate.properties
index df76a666741708ef17df848c8fbb435d9482bbc3..3865feee26f14fe043f086ed4a73914a3b27d3a5 100644
--- a/thunderbird-l10n/de/chrome/de/locale/de/global/narrate.properties
+++ b/thunderbird-l10n/de/chrome/de/locale/de/global/narrate.properties
@@ -28,6 +28,8 @@ forward = Vor
 # %S is the keyboard shortcut for the skip forward command
 next-label = Vor (%S)
 speed = Geschwindigkeit
+slow-speed-label = Vorlesen verlangsamen
+fast-speed-label = Vorlesen beschleunigen
 selectvoicelabel = Stimme:
 select-voice-header = Stimme
 # Default voice is determined by the language of the document.
diff --git a/thunderbird-l10n/de/chrome/de/locale/de/necko/necko.properties b/thunderbird-l10n/de/chrome/de/locale/de/necko/necko.properties
index 881dd124c3a6ef07f08ae476f3a95b9fc51231b9..27e80a484560ca0977c245c4dc94647a8320e9d9 100644
--- a/thunderbird-l10n/de/chrome/de/locale/de/necko/necko.properties
+++ b/thunderbird-l10n/de/chrome/de/locale/de/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=Das Cookie "%1$S" ist ungültig, da es zu groß ist. Die maximale
 CookiePathOversize=Das Cookie "%1$S" ist ungültig, da der Pfad zu groß ist. Die maximale Größe beträgt %2$S Bytes.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Das Cookie "%1$S" wurde von durch den Benutzer festgelegten Berechtigungen abgelehnt.
+CookieRejectedEmptyNameAndValue=Cookie mit einem leeren Namen und einem leeren Wert wurde abgelehnt.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Das Cookie "%1$S" wurde wegen ungültiger Zeichen im Namen abgelehnt.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=Das Cookie "%1$S" wurde abgelehnt, weil es sich
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=Das Cookie "%1$S" wurde abgelehnt, weil es das "partitioned"-Attribut besitzt, aber das "secure"-Attribut fehlt.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=Der Wert des Attributs "%2$S" für das Cookies "%1$S" wurde abgelehnt, weil seine Größe zu groß ist. Die maximale Größe ist %3$S Bytes.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Cookie "%1$S" wird bald abgelehnt, da es fremd ist und nicht das "Partitioned"-Attribut besitzt.
 
diff --git a/thunderbird-l10n/de/localization/de/branding/brand.ftl b/thunderbird-l10n/de/localization/de/branding/brand.ftl
index ce956f69ac68883e5f7c97c26accd04e414cd122..ced3506d40bfa9920dd01ef8e8d825a4864826d9 100644
--- a/thunderbird-l10n/de/localization/de/branding/brand.ftl
+++ b/thunderbird-l10n/de/localization/de/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/de/localization/de/devtools/client/tooltips.ftl b/thunderbird-l10n/de/localization/de/devtools/client/tooltips.ftl
index 0236b08428aee56249fc91a4e0c4c1d719fb0938..f5332c63acb0bd560205c2811dc0fb14bd2432d7 100644
--- a/thunderbird-l10n/de/localization/de/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/de/localization/de/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Weitere Informationen</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> hat bei diesem Element keine Wirkung, weil das Element weder ein Flex- noch ein Grid-Container ist.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> hat bei diesem Element keine Wirkung, weil es kein Flex-, Grid- oder Mehrspalten-Container ist.
 inactive-css-not-multicol-container = <strong>{ $property }</strong>  hat bei diesem Element keine Wirkung, weil es kein Mehrspalten-Container ist.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</
 inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> wird bei ::placeholder-Pseudo-Elementen nicht unterstützt.
 inactive-css-property-because-of-display = <strong>{ $property }</strong> hat bei diesem Element keine Wirkung, weil sein display-Wert <strong>{ $display }</strong> ist.
 inactive-css-not-display-block-on-floated = Der Wert <strong>display</strong> wurde automatisch auf den Wert <strong>block</strong> geändert, weil das Element auf <strong>float</strong> gesetzt wurde.
+inactive-css-not-display-block-on-floated-2 = Der Wert <strong>display</strong> wurde automatisch auf den Wert <strong>{ $display }</strong> geändert, weil das Element auf <strong>float</strong> gesetzt wurde.
 inactive-css-property-is-impossible-to-override-in-visited = <strong>{ $property }</strong> kann aufgrund der Einschränkung durch <strong>:visited</strong> nicht überschrieben werden.
 inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> hat bei diesem Element keine Wirkung, weil es kein positioniertes Element ist.
 inactive-css-only-replaced-elements = <strong>{ $property }</strong> hat bei diesem Element keine Wirkung, weil es nur auf ersetzte Elemente angewendet werden kann.
diff --git a/thunderbird-l10n/de/manifest.json b/thunderbird-l10n/de/manifest.json
index d6e66fc999568b04b6b60a9ce4e4e2c96aab54eb..3897bf967ac4b9223c717ad9064c0d46949c4fb0 100644
--- a/thunderbird-l10n/de/manifest.json
+++ b/thunderbird-l10n/de/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Deutsch (German)",
-  "description": "Thunderbird Beta Language Pack for Deutsch (de) – German",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Deutsch (de) – German",
+  "version": "128.0.20240710.185639",
   "languages": {
     "de": {
-      "version": "20240627141724",
+      "version": "20240710213358",
       "chrome_resources": {
         "alerts": "chrome/de/locale/de/alerts/",
         "autoconfig": "chrome/de/locale/de/autoconfig/",
diff --git a/thunderbird-l10n/dsb/chrome/dsb/locale/branding/brand.dtd b/thunderbird-l10n/dsb/chrome/dsb/locale/branding/brand.dtd
index 77af0afdda0cb3478f7ca5dad4aa30b50191f14c..b74c7262e643901904cfa29c819e5ea47f928cd0 100644
--- a/thunderbird-l10n/dsb/chrome/dsb/locale/branding/brand.dtd
+++ b/thunderbird-l10n/dsb/chrome/dsb/locale/branding/brand.dtd
@@ -1,13 +1,12 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Thunderbird a loga programa Thunderbird
-                                 su wikowańske znamjenja załožby Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Thunderbird a loga programa Thunderbird su wikowańske znamjenja załožby Mozilla Foundation.">
diff --git a/thunderbird-l10n/dsb/chrome/dsb/locale/branding/brand.properties b/thunderbird-l10n/dsb/chrome/dsb/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/dsb/chrome/dsb/locale/branding/brand.properties
+++ b/thunderbird-l10n/dsb/chrome/dsb/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/dsb/chrome/dsb/locale/dsb/global/narrate.properties b/thunderbird-l10n/dsb/chrome/dsb/locale/dsb/global/narrate.properties
index aa0e32486d7b63caee469b9315404f620e0013be..fec49beb7cdec8d7a5434f2e31b7bdd475efc444 100644
--- a/thunderbird-l10n/dsb/chrome/dsb/locale/dsb/global/narrate.properties
+++ b/thunderbird-l10n/dsb/chrome/dsb/locale/dsb/global/narrate.properties
@@ -28,6 +28,8 @@ forward = Doprědka
 # %S is the keyboard shortcut for the skip forward command
 next-label = Doprědka (%S)
 speed = Malsnosć
+slow-speed-label = Pśedcytanje spómałšyś
+fast-speed-label = Pśedcytanje póspěšyś
 selectvoicelabel = Głos:
 select-voice-header = Głos
 # Default voice is determined by the language of the document.
diff --git a/thunderbird-l10n/dsb/chrome/dsb/locale/dsb/necko/necko.properties b/thunderbird-l10n/dsb/chrome/dsb/locale/dsb/necko/necko.properties
index 616edacb20a40fc77a6fadd9bd15991ddaac5d75..735726ffd9e7a3e148ab599579585b0004a2259a 100644
--- a/thunderbird-l10n/dsb/chrome/dsb/locale/dsb/necko/necko.properties
+++ b/thunderbird-l10n/dsb/chrome/dsb/locale/dsb/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=Cookie „%1$S“ jo njepłaśiwy, dokulaž jo pśewjeliki. Maksi
 CookiePathOversize=Cookie „%1$S“ jo njepłaśiwy, dokulaž jogo sćažka jo pśewjelika. Maksimalna wjelikosć jo %2$S B.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Cookie “%1$S” jo se wótpokazał  wót wužywarja nastajonych pšawow dla.
+CookieRejectedEmptyNameAndValue=Cookie z proznym mjenim a prozneju gódnotu jo se wótpokazał.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Cookie “%1$S” jo se wótpokazał njepłaśiwych znamuškow w mjenju dla.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=Cookie “%1$S” jo se wótpokazał, dokulaž
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=Cookie “%1$S” jo se wótpokazał, dokulaž ma atribut “Partioned”, ale njama atribut “secure” .
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=Gódnota atributa “%2$S” za cookie “%1$S” jo se wótpokazała, dokulaž jeje wjelikosć jo pśewjelika. Maksimalna wjelikosć jo %3$S bajtow.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Cookie „%1$S“ se skóro wótpokažo, dokulaž jo cuzy a njama atribut „Partitioned“.
 
diff --git a/thunderbird-l10n/dsb/localization/dsb/branding/brand.ftl b/thunderbird-l10n/dsb/localization/dsb/branding/brand.ftl
index e48d7f19daff41d58cd63cb552022476fd935f3d..edc805ca3b596355c92dfd2512062bbe2038325b 100644
--- a/thunderbird-l10n/dsb/localization/dsb/branding/brand.ftl
+++ b/thunderbird-l10n/dsb/localization/dsb/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/dsb/localization/dsb/devtools/client/tooltips.ftl b/thunderbird-l10n/dsb/localization/dsb/devtools/client/tooltips.ftl
index 291f2a650efa5e5b2d0fe5d5e3e95c28c148d687..799f6246ec0a9d2b1516c49443c3429c8f193c76 100644
--- a/thunderbird-l10n/dsb/localization/dsb/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/dsb/localization/dsb/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Dalšne informacije</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> njama efekt na toś ten element, dokulaž njejo daniž kontejner flex daniž kontejner grid.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> njama wustatkowanje na toś ten element, dokulaž njejo kontejner flex, kśidnowy kontejner abo wěcejsłupikojty kontejner.
 inactive-css-not-multicol-container = <strong>{ $property }</strong> njama efekt na toś ten element, dokulaž njejo wěcejsłupikojty kontejner.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</
 inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> se za pseudoelementy ::placeholder njepódpěra.
 inactive-css-property-because-of-display = <strong>{ $property }</strong> njama wustatkowanje na toś ten element, dokulaž ma zwobraznjenje <strong>{ $display }</strong>.
 inactive-css-not-display-block-on-floated = Gódnota <strong>display</strong> jo se změnił pśez engine do <strong>block</strong>, dokulaž element jo <strong>floated</strong>.
+inactive-css-not-display-block-on-floated-2 = Gódnota <strong>display</strong> jo se změnił pśez engine do <strong>{ $display }</strong>, dokulaž element jo <strong>floated</strong>.
 inactive-css-property-is-impossible-to-override-in-visited = Wobgranicowanja <strong>:visited</strong> dla jo njemóžno, <strong>{ $property }</strong> pśepisaś.
 inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> njama efekt na toś ten element, dokulaž njejo pozicioněrowany element.
 inactive-css-only-replaced-elements = <strong>{ $property }</strong> na toś ten element wustatkowanje njama, dokulaž dajo se jano na wuměnjone elementy nałožyś.
diff --git a/thunderbird-l10n/dsb/manifest.json b/thunderbird-l10n/dsb/manifest.json
index f4b79c641f965778cf871efcda75b18980c6e6d3..bad3676ff3b64ba00f009f642902f8380dbfcee1 100644
--- a/thunderbird-l10n/dsb/manifest.json
+++ b/thunderbird-l10n/dsb/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Dolnoserbšćina (Lower Sorbian)",
-  "description": "Thunderbird Beta Language Pack for Dolnoserbšćina (dsb) – Lower Sorbian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Dolnoserbšćina (dsb) – Lower Sorbian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "dsb": {
-      "version": "20240627141807",
+      "version": "20240710213440",
       "chrome_resources": {
         "alerts": "chrome/dsb/locale/dsb/alerts/",
         "autoconfig": "chrome/dsb/locale/dsb/autoconfig/",
diff --git a/thunderbird-l10n/el/chrome/el/locale/branding/brand.dtd b/thunderbird-l10n/el/chrome/el/locale/branding/brand.dtd
index 7755d32c0a0d7293f7ad24ac670c224de826dd4a..3b4587ff6b17abc0f0b8e21038d987e28d6efad8 100644
--- a/thunderbird-l10n/el/chrome/el/locale/branding/brand.dtd
+++ b/thunderbird-l10n/el/chrome/el/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Το Mozilla Thunderbird και τα λογότυπα του Thunderbird
-                                 αποτελούν εμπορικά σήματα του Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Τα λογότυπα Mozilla Thunderbird και Thunderbird
+                                 είναι εμπορικά σήματα του Mozilla Foundation.">
diff --git a/thunderbird-l10n/el/chrome/el/locale/branding/brand.properties b/thunderbird-l10n/el/chrome/el/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/el/chrome/el/locale/branding/brand.properties
+++ b/thunderbird-l10n/el/chrome/el/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/el/chrome/el/locale/el/necko/necko.properties b/thunderbird-l10n/el/chrome/el/locale/el/necko/necko.properties
index 49a1a2b2a203ba09ba772ae3a2f17f84a5f2d2ec..ac513401dc4720ec5ac08a86994f6667fac9c1bb 100644
--- a/thunderbird-l10n/el/chrome/el/locale/el/necko/necko.properties
+++ b/thunderbird-l10n/el/chrome/el/locale/el/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=Το cookie «%1$S» δεν είναι έγκυρο επειδή
 CookiePathOversize=Το cookie «%1$S» δεν είναι έγκυρο επειδή το μέγεθος της διαδρομής του είναι πολύ μεγάλο. Μέγιστο μέγεθος: %2$S B.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Το cookie “%1$S” έχει απορριφθεί λόγω περιορισμών που όρισε ο χρήστης.
+CookieRejectedEmptyNameAndValue=Ένα cookie χωρίς όνομα και με κενή τιμή έχει απορριφθεί.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Το cookie “%1$S” έχει απορριφθεί λόγω μη έγκυρων χαρακτήρων στο όνομα.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=Το cookie «%1$S» έχει απορριφθ
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=Το cookie «%1$S» έχει απορριφθεί επειδή έχει την ιδιότητα «Partitioned», αλλά δεν έχει την ιδιότητα «secure».
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=Η τιμή της ιδιότητας «%2$S» για το cookie «%1$S» έχει απορριφθεί επειδή το μέγεθός του είναι πολύ μεγάλο. Το μέγιστο μέγεθος είναι %3$S B.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Το cookie «%1$S» θα απορριφθεί σύντομα επειδή είναι άγνωστο και δεν έχει την ιδιότητα «Partitioned».
 
diff --git a/thunderbird-l10n/el/localization/el/branding/brand.ftl b/thunderbird-l10n/el/localization/el/branding/brand.ftl
index be4b9a77bca89e315d28182d0a368f9a8813b498..d79b39198169585520c68339c5fb8dd48b8067e9 100644
--- a/thunderbird-l10n/el/localization/el/branding/brand.ftl
+++ b/thunderbird-l10n/el/localization/el/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/el/manifest.json b/thunderbird-l10n/el/manifest.json
index 9a91b8a13814669042fdc67bede52428a9c7ef80..ab28408f3e72082d6b0f7cd86a6e9671d81c78d8 100644
--- a/thunderbird-l10n/el/manifest.json
+++ b/thunderbird-l10n/el/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Ελληνικά (Greek)",
-  "description": "Thunderbird Beta Language Pack for Ελληνικά (el) – Greek",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Ελληνικά (el) – Greek",
+  "version": "128.0.20240710.185639",
   "languages": {
     "el": {
-      "version": "20240627141850",
+      "version": "20240710213523",
       "chrome_resources": {
         "alerts": "chrome/el/locale/el/alerts/",
         "autoconfig": "chrome/el/locale/el/autoconfig/",
diff --git a/thunderbird-l10n/en-CA/chrome/en-CA/locale/branding/brand.dtd b/thunderbird-l10n/en-CA/chrome/en-CA/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..0ed7d848571989fcdbfb37373f861237a4b9eab3 100644
--- a/thunderbird-l10n/en-CA/chrome/en-CA/locale/branding/brand.dtd
+++ b/thunderbird-l10n/en-CA/chrome/en-CA/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/en-CA/chrome/en-CA/locale/branding/brand.properties b/thunderbird-l10n/en-CA/chrome/en-CA/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/en-CA/chrome/en-CA/locale/branding/brand.properties
+++ b/thunderbird-l10n/en-CA/chrome/en-CA/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/branding/brand.ftl b/thunderbird-l10n/en-CA/localization/en-CA/branding/brand.ftl
index 35b486f32912bdbad1ed9162c76da236cf912da8..5054ea805778b80a708e09f1054a9768ba687703 100644
--- a/thunderbird-l10n/en-CA/localization/en-CA/branding/brand.ftl
+++ b/thunderbird-l10n/en-CA/localization/en-CA/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/en-CA/manifest.json b/thunderbird-l10n/en-CA/manifest.json
index 7841c7ba2c0ad91f374856b1f30e9ca1b1fe3307..d2cfcc2d4db57a1af6c9c0fcdf7f2863a62e9795 100644
--- a/thunderbird-l10n/en-CA/manifest.json
+++ b/thunderbird-l10n/en-CA/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: English (CA)",
-  "description": "Thunderbird Beta Language Pack for English (CA) (en-CA)",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for English (CA) (en-CA)",
+  "version": "128.0.20240710.185639",
   "languages": {
     "en-CA": {
-      "version": "20240627141934",
+      "version": "20240710213607",
       "chrome_resources": {
         "alerts": "chrome/en-CA/locale/en-CA/alerts/",
         "autoconfig": "chrome/en-CA/locale/en-CA/autoconfig/",
diff --git a/thunderbird-l10n/en-GB/chrome/en-GB/locale/branding/brand.dtd b/thunderbird-l10n/en-GB/chrome/en-GB/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..0ed7d848571989fcdbfb37373f861237a4b9eab3 100644
--- a/thunderbird-l10n/en-GB/chrome/en-GB/locale/branding/brand.dtd
+++ b/thunderbird-l10n/en-GB/chrome/en-GB/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/en-GB/chrome/en-GB/locale/branding/brand.properties b/thunderbird-l10n/en-GB/chrome/en-GB/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/en-GB/chrome/en-GB/locale/branding/brand.properties
+++ b/thunderbird-l10n/en-GB/chrome/en-GB/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/en-GB/chrome/en-GB/locale/en-GB/global/narrate.properties b/thunderbird-l10n/en-GB/chrome/en-GB/locale/en-GB/global/narrate.properties
index 2db53886fb6c4bee76e188bc2fb519baca99c9b8..534235fe31bd647af9dca70992bb56fafe5a584a 100644
--- a/thunderbird-l10n/en-GB/chrome/en-GB/locale/en-GB/global/narrate.properties
+++ b/thunderbird-l10n/en-GB/chrome/en-GB/locale/en-GB/global/narrate.properties
@@ -28,6 +28,8 @@ forward = Forwards
 # %S is the keyboard shortcut for the skip forward command
 next-label = Forward (%S)
 speed = Speed
+slow-speed-label = Slow down narration
+fast-speed-label = Speed up narration
 selectvoicelabel = Voice:
 select-voice-header = Voice
 # Default voice is determined by the language of the document.
diff --git a/thunderbird-l10n/en-GB/chrome/en-GB/locale/en-GB/necko/necko.properties b/thunderbird-l10n/en-GB/chrome/en-GB/locale/en-GB/necko/necko.properties
index b89f13545c1084439d41e7d8ce69d8042fc551da..9f87fff14eb039bbd67e4e194af2d912536d7fdd 100644
--- a/thunderbird-l10n/en-GB/chrome/en-GB/locale/en-GB/necko/necko.properties
+++ b/thunderbird-l10n/en-GB/chrome/en-GB/locale/en-GB/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=Cookie “%1$S” is invalid because its size is too big. Max siz
 CookiePathOversize=Cookie “%1$S” is invalid because its path size is too big. Max size is %2$S B.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Cookie “%1$S” has been rejected by user set permissions.
+CookieRejectedEmptyNameAndValue=Cookie with an empty name and an empty value has been rejected.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Cookie “%1$S” has been rejected for invalid characters in the name.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=Cookie “%1$S” has been rejected because it
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=Cookie “%1$S” has been rejected because it has the “Partitioned” attribute but is missing the “secure” attribute.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=The value of the attribute “%2$S” for the cookie “%1$S” has been rejected because its size is too big. Maximum size is %3$S B.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Cookie “%1$S” will soon be rejected because it is foreign and does not have the “Partitioned“ attribute.
 
diff --git a/thunderbird-l10n/en-GB/localization/en-GB/branding/brand.ftl b/thunderbird-l10n/en-GB/localization/en-GB/branding/brand.ftl
index 35b486f32912bdbad1ed9162c76da236cf912da8..5054ea805778b80a708e09f1054a9768ba687703 100644
--- a/thunderbird-l10n/en-GB/localization/en-GB/branding/brand.ftl
+++ b/thunderbird-l10n/en-GB/localization/en-GB/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/en-GB/localization/en-GB/devtools/client/tooltips.ftl b/thunderbird-l10n/en-GB/localization/en-GB/devtools/client/tooltips.ftl
index cfc8d433a8442a10c604abdad257acc4eee8340b..befadc5cea865e98cff02f5cfeeeefb0ab285df4 100644
--- a/thunderbird-l10n/en-GB/localization/en-GB/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/en-GB/localization/en-GB/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Learn more</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> has no effect on this element since it’s neither a flex container nor a grid container.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> has no effect on this element since it’s not a flex container, a grid container, or a multi-column container.
 inactive-css-not-multicol-container = <strong>{ $property }</strong> has no effect on this element since it’s not a multi-column container.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</
 inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> is not supported on ::placeholder pseudo-elements.
 inactive-css-property-because-of-display = <strong>{ $property }</strong> has no effect on this element since it has a display of <strong>{ $display }</strong>.
 inactive-css-not-display-block-on-floated = The <strong>display</strong> value has been changed by the engine to <strong>block</strong> because the element is <strong>floated</strong>.
+inactive-css-not-display-block-on-floated-2 = The <strong>display</strong> value has been changed by the engine to <strong>{ $display }</strong> because the element is <strong>floated</strong>.
 inactive-css-property-is-impossible-to-override-in-visited = It’s impossible to override <strong>{ $property }</strong> due to <strong>:visited</strong> restriction.
 inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> has no effect on this element since it’s not a positioned element.
 inactive-css-only-replaced-elements = <strong>{ $property }</strong> has no effect on this element since it can only be applied to replaced elements.
diff --git a/thunderbird-l10n/en-GB/manifest.json b/thunderbird-l10n/en-GB/manifest.json
index 27cd1408aa35e1f82733b44f2519c8c792b0b8d8..29db5a38b1b174a3a19d033f35d44fa17bb97137 100644
--- a/thunderbird-l10n/en-GB/manifest.json
+++ b/thunderbird-l10n/en-GB/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: English (GB)",
-  "description": "Thunderbird Beta Language Pack for English (GB) (en-GB)",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for English (GB) (en-GB)",
+  "version": "128.0.20240710.185639",
   "languages": {
     "en-GB": {
-      "version": "20240627142053",
+      "version": "20240710213357",
       "chrome_resources": {
         "alerts": "chrome/en-GB/locale/en-GB/alerts/",
         "autoconfig": "chrome/en-GB/locale/en-GB/autoconfig/",
diff --git a/thunderbird-l10n/es-AR/chrome/es-AR/locale/branding/brand.dtd b/thunderbird-l10n/es-AR/chrome/es-AR/locale/branding/brand.dtd
index 436f211d08d5ccedfc9e07de541c490825f917a0..05bec67573a31129e157bc9fb2f2f2cb5a324ab0 100644
--- a/thunderbird-l10n/es-AR/chrome/es-AR/locale/branding/brand.dtd
+++ b/thunderbird-l10n/es-AR/chrome/es-AR/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird y los logos de Thunderbird
+<!ENTITY  trademarkInfo.part1   "Los logos de Mozilla Thunderbird y Thunderbird 
                                  son marcas registradas de la Fundación Mozilla.">
diff --git a/thunderbird-l10n/es-AR/chrome/es-AR/locale/branding/brand.properties b/thunderbird-l10n/es-AR/chrome/es-AR/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/es-AR/chrome/es-AR/locale/branding/brand.properties
+++ b/thunderbird-l10n/es-AR/chrome/es-AR/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/es-AR/localization/es-AR/branding/brand.ftl b/thunderbird-l10n/es-AR/localization/es-AR/branding/brand.ftl
index e2153e4b20658213e4bf75500b156d72dffa1119..c81cca9bae8006d0df1794b7d718d44d98670e62 100644
--- a/thunderbird-l10n/es-AR/localization/es-AR/branding/brand.ftl
+++ b/thunderbird-l10n/es-AR/localization/es-AR/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/es-AR/manifest.json b/thunderbird-l10n/es-AR/manifest.json
index 1ada12a8d590b8140ad56aca67d3cf7b06022f73..f8ce8207749a2453a5b2ec0b80815ac962350b5f 100644
--- a/thunderbird-l10n/es-AR/manifest.json
+++ b/thunderbird-l10n/es-AR/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Español (AR) (Spanish, Argentina)",
-  "description": "Thunderbird Beta Language Pack for Español (AR) (es-AR) – Spanish, Argentina",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Español (AR) (es-AR) – Spanish, Argentina",
+  "version": "128.0.20240710.185639",
   "languages": {
     "es-AR": {
-      "version": "20240627142135",
+      "version": "20240710213439",
       "chrome_resources": {
         "alerts": "chrome/es-AR/locale/es-AR/alerts/",
         "autoconfig": "chrome/es-AR/locale/es-AR/autoconfig/",
diff --git a/thunderbird-l10n/es-ES/chrome/es-ES/locale/branding/brand.dtd b/thunderbird-l10n/es-ES/chrome/es-ES/locale/branding/brand.dtd
index 61b9f0c76508cb273ab71ee9b4a5e99c0428c512..cc718419a2f7f03580de867f6aa88cc0cbe3861b 100644
--- a/thunderbird-l10n/es-ES/chrome/es-ES/locale/branding/brand.dtd
+++ b/thunderbird-l10n/es-ES/chrome/es-ES/locale/branding/brand.dtd
@@ -1,13 +1,11 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
-<!-- LOCALIZATION NOTE (brandProductName):
-   This brand name can be used in messages where the product name needs to
-   remain unchanged across different versions (Daily, Beta, etc.). -->
-<!ENTITY  brandProductName      "Thunderbird">
-<!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird y los logotipos de Thunderbird
-                                 son marcas registradas de la Fundación Mozilla.">
+
+<!ENTITY brandShortName "Thunderbird">
+<!ENTITY brandShorterName "Thunderbird">
+<!ENTITY brandFullName "Mozilla Thunderbird">
+<!ENTITY brandProductName "Thunderbird">
+<!ENTITY vendorShortName "Mozilla">
+<!ENTITY trademarkInfo.part1 "Mozilla Thunderbird y los logos de Thunderbird
+son marcas registradas de la Fundación Mozilla.">
diff --git a/thunderbird-l10n/es-ES/chrome/es-ES/locale/branding/brand.properties b/thunderbird-l10n/es-ES/chrome/es-ES/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..4a03be903586b0c6d7da8da45d8bf7e58410a9bf 100644
--- a/thunderbird-l10n/es-ES/chrome/es-ES/locale/branding/brand.properties
+++ b/thunderbird-l10n/es-ES/chrome/es-ES/locale/branding/brand.properties
@@ -1,7 +1,8 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
-vendorShortName=Mozilla
+
+brandShortName = Thunderbird
+brandShorterName = Thunderbird
+brandFullName = Mozilla Thunderbird
+vendorShortName = Mozilla
diff --git a/thunderbird-l10n/es-ES/localization/es-ES/branding/brand.ftl b/thunderbird-l10n/es-ES/localization/es-ES/branding/brand.ftl
index e2153e4b20658213e4bf75500b156d72dffa1119..40d607c6f2ad43dfdbbdd209c658b450fd66823d 100644
--- a/thunderbird-l10n/es-ES/localization/es-ES/branding/brand.ftl
+++ b/thunderbird-l10n/es-ES/localization/es-ES/branding/brand.ftl
@@ -12,11 +12,11 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
 -vendor-short-name = Mozilla
-trademarkInfo = Mozilla Thunderbird y los logotipos de Thunderbird son marcas registradas de la Fundación Mozilla.
+trademarkInfo = Mozilla Thunderbird y los logotipos de Thunderbird son marcas comerciales de la Fundación Mozilla.
diff --git a/thunderbird-l10n/es-ES/manifest.json b/thunderbird-l10n/es-ES/manifest.json
index 60419d9ab75c5f5842e64a8edfa15e1a1973e222..4c940f65f817c25f4a68fb4ce27a3cb96de144ac 100644
--- a/thunderbird-l10n/es-ES/manifest.json
+++ b/thunderbird-l10n/es-ES/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Español (ES) (Spanish, Spain)",
-  "description": "Thunderbird Beta Language Pack for Español (ES) (es-ES) – Spanish, Spain",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Español (ES) (es-ES) – Spanish, Spain",
+  "version": "128.0.20240710.185639",
   "languages": {
     "es-ES": {
-      "version": "20240627142219",
+      "version": "20240710213521",
       "chrome_resources": {
         "alerts": "chrome/es-ES/locale/es-ES/alerts/",
         "autoconfig": "chrome/es-ES/locale/es-ES/autoconfig/",
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/branding/brand.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..092928989f027b682bf07b4d4891c48e10f10304 100644
--- a/thunderbird-l10n/es-MX/chrome/es-MX/locale/branding/brand.dtd
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird and the Thunderbird logos
-                                 are trademarks of the Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird y sus logos
+                                 son marcas registradas de la Fundación Mozilla.">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/branding/brand.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/es-MX/chrome/es-MX/locale/branding/brand.properties
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/branding/brand.ftl b/thunderbird-l10n/es-MX/localization/es-MX/branding/brand.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..40d607c6f2ad43dfdbbdd209c658b450fd66823d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/branding/brand.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
+trademarkInfo = Mozilla Thunderbird y los logotipos de Thunderbird son marcas comerciales de la Fundación Mozilla.
diff --git a/thunderbird-l10n/es-MX/manifest.json b/thunderbird-l10n/es-MX/manifest.json
index 3214f9b195bd3f36ab9bc45dfdd2e5f9c78be98a..0966e2a5a60c4d3c92158d2dbb153d470bf5fc20 100644
--- a/thunderbird-l10n/es-MX/manifest.json
+++ b/thunderbird-l10n/es-MX/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Español (MX) (Spanish, Mexico)",
-  "description": "Thunderbird Beta Language Pack for Español (MX) (es-MX) – Spanish, Mexico",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Español (MX) (es-MX) – Spanish, Mexico",
+  "version": "128.0.20240710.185639",
   "languages": {
     "es-MX": {
-      "version": "20240627142302",
+      "version": "20240710213604",
       "chrome_resources": {
         "alerts": "chrome/es-MX/locale/es-MX/alerts/",
         "autoconfig": "chrome/es-MX/locale/es-MX/autoconfig/",
diff --git a/thunderbird-l10n/et/chrome/et/locale/branding/brand.dtd b/thunderbird-l10n/et/chrome/et/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..e254a3f4c0f29884c3c84379e824cb11c152065c 100644
--- a/thunderbird-l10n/et/chrome/et/locale/branding/brand.dtd
+++ b/thunderbird-l10n/et/chrome/et/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird and the Thunderbird logos
-                                 are trademarks of the Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird ja Thunderbirdi logod
+                                 on Mozilla Foundationi kaubamärgid.">
diff --git a/thunderbird-l10n/et/chrome/et/locale/branding/brand.properties b/thunderbird-l10n/et/chrome/et/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/et/chrome/et/locale/branding/brand.properties
+++ b/thunderbird-l10n/et/chrome/et/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/et/localization/et/branding/brand.ftl b/thunderbird-l10n/et/localization/et/branding/brand.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..105186fd8e08c4974bfb1f30ed8e91146bc2e18e
--- /dev/null
+++ b/thunderbird-l10n/et/localization/et/branding/brand.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
+trademarkInfo = Mozilla Thunderbird ja Thunderbirdi logod on Mozilla Foundation'i kaubamärgid.
diff --git a/thunderbird-l10n/et/manifest.json b/thunderbird-l10n/et/manifest.json
index ecbf2f5ad0be26214dcd87890620b814f86cb9db..7941790671e5cadf75aedada29d333d0c26e8eaa 100644
--- a/thunderbird-l10n/et/manifest.json
+++ b/thunderbird-l10n/et/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Eesti (Estonian)",
-  "description": "Thunderbird Beta Language Pack for Eesti (et) – Estonian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Eesti (et) – Estonian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "et": {
-      "version": "20240627142346",
+      "version": "20240710213647",
       "chrome_resources": {
         "alerts": "chrome/et/locale/et/alerts/",
         "autoconfig": "chrome/et/locale/et/autoconfig/",
diff --git a/thunderbird-l10n/eu/chrome/eu/locale/branding/brand.dtd b/thunderbird-l10n/eu/chrome/eu/locale/branding/brand.dtd
index 519fc183e1a9697eafcb7644015fa7905b92c9c7..69fa27627c7090f65777473c1191342f158aa48e 100644
--- a/thunderbird-l10n/eu/chrome/eu/locale/branding/brand.dtd
+++ b/thunderbird-l10n/eu/chrome/eu/locale/branding/brand.dtd
@@ -1,12 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird eta Thunderbird logoak Mozilla Fundazioaren marka erregistratuak dira.">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird eta Thunderbird logoak
+                                  Mozilla Fundazioaren marka erregistratuak dira.">
diff --git a/thunderbird-l10n/eu/chrome/eu/locale/branding/brand.properties b/thunderbird-l10n/eu/chrome/eu/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/eu/chrome/eu/locale/branding/brand.properties
+++ b/thunderbird-l10n/eu/chrome/eu/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/eu/localization/eu/branding/brand.ftl b/thunderbird-l10n/eu/localization/eu/branding/brand.ftl
index 95c7a26608f6e7ede34ed106041491d1ba16afdd..15597f8dfb00d040e28fa507811b19cb0daf8e19 100644
--- a/thunderbird-l10n/eu/localization/eu/branding/brand.ftl
+++ b/thunderbird-l10n/eu/localization/eu/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/eu/manifest.json b/thunderbird-l10n/eu/manifest.json
index 538d3c4f78718503d580afb93521f270f379e1a7..8a22666bc6d7e511901602b82cd4d1fbf20a281d 100644
--- a/thunderbird-l10n/eu/manifest.json
+++ b/thunderbird-l10n/eu/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Euskara (Basque)",
-  "description": "Thunderbird Beta Language Pack for Euskara (eu) – Basque",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Euskara (eu) – Basque",
+  "version": "128.0.20240710.185639",
   "languages": {
     "eu": {
-      "version": "20240627141555",
+      "version": "20240710213327",
       "chrome_resources": {
         "alerts": "chrome/eu/locale/eu/alerts/",
         "autoconfig": "chrome/eu/locale/eu/autoconfig/",
diff --git a/thunderbird-l10n/fi/chrome/fi/locale/branding/brand.dtd b/thunderbird-l10n/fi/chrome/fi/locale/branding/brand.dtd
index 453e0300bec9ef18f785ac454c5c0c571d42e12f..4d59bbbc5730a2bff34e18bf2642a929cb89c139 100644
--- a/thunderbird-l10n/fi/chrome/fi/locale/branding/brand.dtd
+++ b/thunderbird-l10n/fi/chrome/fi/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/fi/chrome/fi/locale/branding/brand.properties b/thunderbird-l10n/fi/chrome/fi/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/fi/chrome/fi/locale/branding/brand.properties
+++ b/thunderbird-l10n/fi/chrome/fi/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/fi/chrome/fi/locale/fi/global/narrate.properties b/thunderbird-l10n/fi/chrome/fi/locale/fi/global/narrate.properties
index b23cd7eb2dbb966f2e37999414720c7d97cb5474..fc075a2473e8b5f66ab2bc864badcb262d91ac18 100644
--- a/thunderbird-l10n/fi/chrome/fi/locale/fi/global/narrate.properties
+++ b/thunderbird-l10n/fi/chrome/fi/locale/fi/global/narrate.properties
@@ -28,6 +28,8 @@ forward = Eteenpäin
 # %S is the keyboard shortcut for the skip forward command
 next-label = Seuraava (%S)
 speed = Nopeus
+slow-speed-label = Hidasta kerrontaa
+fast-speed-label = Nopeuta kerrontaa
 selectvoicelabel = Ääni:
 select-voice-header = Ääni
 # Default voice is determined by the language of the document.
diff --git a/thunderbird-l10n/fi/localization/fi/branding/brand.ftl b/thunderbird-l10n/fi/localization/fi/branding/brand.ftl
index 018722e6bd15a4630e8332017875f539b43a140f..0bce4d93b1412d51ae3cfa9258048c016d6a3c78 100644
--- a/thunderbird-l10n/fi/localization/fi/branding/brand.ftl
+++ b/thunderbird-l10n/fi/localization/fi/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/fi/localization/fi/calendar/calendar-event-listing.ftl b/thunderbird-l10n/fi/localization/fi/calendar/calendar-event-listing.ftl
index 140e94acf237ba52e0bddc5cc5b25071092f6f4f..2021b18de6d0c9e932fb73a8203bfcbdd601c9e4 100644
--- a/thunderbird-l10n/fi/localization/fi/calendar/calendar-event-listing.ftl
+++ b/thunderbird-l10n/fi/localization/fi/calendar/calendar-event-listing.ftl
@@ -47,7 +47,7 @@ calendar-event-listing-column-time-until-due =
     .tooltiptext = Lajittele sen mukaan milloin tehtävän tulee olla valmis
 calendar-event-listing-column-title =
     .label = Otsikko
-    .tooltiptext = Lajittele otsikon mukaan
+    .tooltiptext = Järjestä otsikon mukaan
 
 ## Interval dropdown options
 
diff --git a/thunderbird-l10n/fi/localization/fi/devtools/client/tooltips.ftl b/thunderbird-l10n/fi/localization/fi/devtools/client/tooltips.ftl
index f8d2eb748147c525d418a679dc893a687ee77a25..e5f644e3bfaeb2c136274eb4ec0a87b815bfbc95 100644
--- a/thunderbird-l10n/fi/localization/fi/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/fi/localization/fi/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Learn more</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> has no effect on this element since it’s neither a flex container nor a grid container.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> has no effect on this element since it’s not a flex container, a grid container, or a multi-column container.
 inactive-css-not-multicol-container = <strong>{ $property }</strong> has no effect on this element since it’s not a multi-column container.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</
 inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> is not supported on ::placeholder pseudo-elements.
 inactive-css-property-because-of-display = <strong>{ $property }</strong> has no effect on this element since it has a display of <strong>{ $display }</strong>.
 inactive-css-not-display-block-on-floated = The <strong>display</strong> value has been changed by the engine to <strong>block</strong> because the element is <strong>floated</strong>.
+inactive-css-not-display-block-on-floated-2 = The <strong>display</strong> value has been changed by the engine to <strong>{ $display }</strong> because the element is <strong>floated</strong>.
 inactive-css-property-is-impossible-to-override-in-visited = It’s impossible to override <strong>{ $property }</strong> due to <strong>:visited</strong> restriction.
 inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> has no effect on this element since it’s not a positioned element.
 inactive-css-only-replaced-elements = <strong>{ $property }</strong> has no effect on this element since it can only be applied to replaced elements.
diff --git a/thunderbird-l10n/fi/localization/fi/messenger/addressbook/aboutAddressBook.ftl b/thunderbird-l10n/fi/localization/fi/messenger/addressbook/aboutAddressBook.ftl
index 171a3cc202c481fa839091887614de7503548514..b270d72f43d462c7ddc79bdb1c249be76f01ac95 100644
--- a/thunderbird-l10n/fi/localization/fi/messenger/addressbook/aboutAddressBook.ftl
+++ b/thunderbird-l10n/fi/localization/fi/messenger/addressbook/aboutAddressBook.ftl
@@ -18,6 +18,8 @@ about-addressbook-toolbar-new-list =
     .label = Uusi lista
 about-addressbook-toolbar-import =
     .label = Tuo
+books-pane-create-contact-button = Uusi yhteyshenkilö
+    .title = Luo uusi yhteyshenkilö
 books-pane-create-book-button =
     .title = Luo uusi osoitekirja
 books-pane-create-list-button =
@@ -72,6 +74,14 @@ about-addressbook-search =
     .placeholder = Hae osoitekirjasta { $name }
 about-addressbook-search-all =
     .placeholder = Hae kaikista osoitekirjoista
+# Variables:
+# $name (String) - Name of the address book that will be searched.
+about-addressbook-search2 =
+    .label = Hae osoitekirjasta { $name }
+    .placeholder = Hae osoitekirjasta { $name }…
+about-addressbook-search-all2 =
+    .label = Hae kaikista osoitekirjoista
+    .placeholder = Hae kaikista osoitekirjoista…
 about-addressbook-sort-button2 =
     .title = Listanäkymän valinnat
 about-addressbook-name-format-display =
@@ -139,6 +149,15 @@ about-addressbook-column-label-addresses2 =
 about-addressbook-cell-addresses2 =
     .aria-label = Osoitteet
     .title = { $title }
+about-addressbook-column-header-title2 = Työnimike
+    .title = Järjestä työnimikkeen mukaan
+about-addressbook-column-label-title2 =
+    .label = Työnimike
+# Variables:
+# $title (String) - Contact job title for tooltip.
+about-addressbook-cell-title2 =
+    .aria-label = Työnimike
+    .title = { $title }
 about-addressbook-column-header-department2 = Osasto
     .title = Järjestä osaston mukaan
 about-addressbook-column-label-department2 =
@@ -199,6 +218,14 @@ about-addressbook-confirm-remove-contacts-title =
 # $list (String) - The name of the list that contacts will be removed from.
 about-addressbook-confirm-remove-contacts-single = Haluatko varmasti poistaa { $name } listasta { $list }?
 # Variables:
+# $count (Number) - The number of contacts to be removed.
+# $list (String) - The name of the list that contacts will be removed from.
+about-addressbook-confirm-remove-contacts-multi =
+    { $count ->
+        [one] Haluatko varmasti poistaa { $count } yhteyshenkilön listalta { $list }?
+       *[other] Haluatko varmasti poistaa nämä { $count } yhteyshenkilöä listalta { $list }?
+    }
+# Variables:
 # $count (Number) - The number of contacts to be deleted.
 about-addressbook-confirm-delete-contacts-title =
     { $count ->
diff --git a/thunderbird-l10n/fi/localization/fi/messenger/appmenu.ftl b/thunderbird-l10n/fi/localization/fi/messenger/appmenu.ftl
index df5fc7f8f201f201abcdc495bb7caae1bcf91d05..a8cdb06f50cc31a9272b02176a7819d829fc977b 100644
--- a/thunderbird-l10n/fi/localization/fi/messenger/appmenu.ftl
+++ b/thunderbird-l10n/fi/localization/fi/messenger/appmenu.ftl
@@ -172,6 +172,9 @@ appmenu-help-get-help =
 appmenu-help-explore-features =
     .label = Tutustu ominaisuuksiin
     .accesskey = F
+appmenu-help-get-release-help =
+    .label = Apua { -brand-short-name }in käyttöön
+    .accesskey = ä
 appmenu-help-shortcuts =
     .label = Pikanäppäimet
     .accesskey = k
diff --git a/thunderbird-l10n/fi/localization/fi/messenger/menubar.ftl b/thunderbird-l10n/fi/localization/fi/messenger/menubar.ftl
index 18325d3095b42eba68866b14f7a35c4760963a32..15f549c73c5549b2510d3a9623890a04e5e49504 100644
--- a/thunderbird-l10n/fi/localization/fi/messenger/menubar.ftl
+++ b/thunderbird-l10n/fi/localization/fi/messenger/menubar.ftl
@@ -26,6 +26,9 @@ menu-help-get-help =
 menu-help-explore-features =
     .label = Tutustu ominaisuuksiin
     .accesskey = F
+menu-help-get-release-help =
+    .label = Apua { -brand-short-name }in käyttöön
+    .accesskey = ä
 menu-help-shortcuts =
     .label = Pikanäppäimet
     .accesskey = k
diff --git a/thunderbird-l10n/fi/localization/fi/messenger/messenger.ftl b/thunderbird-l10n/fi/localization/fi/messenger/messenger.ftl
index 5668652bc9deb7df09f1c4bd2bedf62ae2d37e30..f7bd74efff020cc248a3557e3ddf86dfdc3520cf 100644
--- a/thunderbird-l10n/fi/localization/fi/messenger/messenger.ftl
+++ b/thunderbird-l10n/fi/localization/fi/messenger/messenger.ftl
@@ -188,9 +188,21 @@ appmenu-addons-and-themes =
 
 ## Context menu
 
+context-menu-mark-read =
+    .aria-label = Merkitse luetuksi
+    .tooltiptext = Merkitse luetuksi
+context-menu-mark-unread =
+    .aria-label = Merkitse lukemattomaksi
+    .tooltiptext = Merkitse lukemattomaksi
 context-menu-mark-reply =
     .aria-label = Vastaa
     .tooltiptext = Vastaa
+context-menu-archive =
+    .aria-label = Arkistoi
+    .tooltiptext = Arkistoi
+context-menu-mark-junk =
+    .aria-label = Merkitse roskapostiksi
+    .tooltiptext = Merkitse roskapostiksi
 mail-context-menu-open =
     .label = Avaa
     .accesskey = A
@@ -200,6 +212,24 @@ mail-context-menu-reply =
 mail-context-menu-forward-forward =
     .label = Välitä
     .accesskey = ä
+mail-context-menu-forward-inline =
+    .label = Viestiin sisällytettynä
+    .accesskey = I
+# Variables:
+# $count (Number) - Number of selected messages.
+mail-context-menu-forward-as-attachment =
+    .label =
+        { $count ->
+            [one] Liitteenä
+           *[other] Liitteinä
+        }
+    .accesskey = L
+mail-context-menu-organize =
+    .label = Järjestä
+    .accesskey = J
+mail-context-menu-threads =
+    .label = Viestiketjut
+    .accesskey = T
 context-menu-redirect-msg =
     .label = Uudelleenohjaa
 # This menu item is for canceling an NNTP message
@@ -268,6 +298,9 @@ message-header-show-recipient-avatar =
 message-header-show-big-avatar =
     .label = Suurempi profiilikuva
     .accesskey = f
+message-header-large-subject =
+    .label = Suuri aihe
+    .accesskey = S
 message-header-all-headers =
     .label = Näytä kaikki otsakkeet
     .accesskey = a
diff --git a/thunderbird-l10n/fi/localization/fi/messenger/openpgp/keyAssistant.ftl b/thunderbird-l10n/fi/localization/fi/messenger/openpgp/keyAssistant.ftl
index 0d074eb90d8f01fb13bc3c5cfac1cdaf4286a44f..3344abca09e7d7617e0db4e230642a900cb277a1 100644
--- a/thunderbird-l10n/fi/localization/fi/messenger/openpgp/keyAssistant.ftl
+++ b/thunderbird-l10n/fi/localization/fi/messenger/openpgp/keyAssistant.ftl
@@ -10,6 +10,14 @@ openpgp-key-assistant-rogue-warning = Vältä väärennetyn avaimen hyväksymist
 openpgp-key-assistant-recipients-issue-header = Ei voi salata
 # Variables:
 # $count (Number) - The number of recipients that need attention.
+openpgp-key-assistant-recipients-issue-description =
+    { $count ->
+        [one] Salaamista varten sinun on hankittava ja hyväksyttävä käytettävä avain yhdelle vastaanottajalle. <a data-l10n-name="openpgp-link">Lisätietoja…</a>
+       *[other] Salaamista varten sinun on hankittava ja hyväksyttävä käytettävät avaimet { $count } vastaanottajalle. <a data-l10n-name="openpgp-link">Lisätietoja…</a>
+    }
+openpgp-key-assistant-info-alias = { -brand-short-name } edellyttää yleensä, että vastaanottajan julkinen avain sisältää käyttäjätunnisteen (ID) ja vastaavan sähköpostiosoitteen. Tämä voidaan ohittaa käyttämällä OpenPGP:n vastaanottajan aliassääntöjä. <a data-l10n-name="openpgp-link">Lisätietoja…</a>
+# Variables:
+# $count (Number) - The number of recipients that need attention.
 openpgp-key-assistant-recipients-description =
     { $count ->
         [one] Sinulla on jo yhden vastaanottajan käyttökelpoinen ja hyväksytty avain.
diff --git a/thunderbird-l10n/fi/localization/fi/messenger/preferences/preferences.ftl b/thunderbird-l10n/fi/localization/fi/messenger/preferences/preferences.ftl
index ce4e0797d20f9224fc83072ae423d7583dc4db61..bca0283b8d02c3259463c74404bf7165b43955df 100644
--- a/thunderbird-l10n/fi/localization/fi/messenger/preferences/preferences.ftl
+++ b/thunderbird-l10n/fi/localization/fi/messenger/preferences/preferences.ftl
@@ -564,6 +564,9 @@ primary-password-description = Pääsalasana suojaa kaikkien sähköpostitiliesi
 primary-password-label =
     .label = Käytä pääsalasanaa
     .accesskey = K
+# This operation requires the user to authenticate with the operating system (device sign-in)
+forms-os-reauth =
+    .label = Vaadi laitteen sisäänkirjautuminen salasanojen täyttämistä ja hallintaa varten
 primary-password-button =
     .label = Vaihda pääsalasana…
     .accesskey = V
@@ -573,6 +576,9 @@ junk-description = Muokkaa alta roskapostisuodattimen oletusasetuksia. Tilikohta
 junk-label =
     .label = Kun merkitsen viestin roskapostiksi:
     .accesskey = K
+junk-marked-label =
+    .label = Kun viestit merkitään roskapostiksi:
+    .accesskey = K
 junk-move-label =
     .label = Siirrä se tilin roskapostikansioon
     .accesskey = S
@@ -582,6 +588,13 @@ junk-delete-label =
 junk-read-label =
     .label = Merkitse roskapostiviestit luetuiksi
     .accesskey = M
+junk-read-description = Merkitse viestit luetuiksi
+junk-read-manual-label =
+    .label = Kun minä itse merkitsen sen roskapostiksi
+    .accesskey = m
+junk-read-auto-label =
+    .label = Kun { -brand-short-name } määrittää, että ne ovat roskapostia
+    .accesskey = T
 junk-log-label =
     .label = Pidä roskapostilokia
     .accesskey = P
diff --git a/thunderbird-l10n/fi/localization/fi/messenger/unifiedToolbar.ftl b/thunderbird-l10n/fi/localization/fi/messenger/unifiedToolbar.ftl
index 9e65d062183fec19b3b1c8003a7d03628073c2ed..4118d9e02bf54cf395f869b2acca06aea1ff0364 100644
--- a/thunderbird-l10n/fi/localization/fi/messenger/unifiedToolbar.ftl
+++ b/thunderbird-l10n/fi/localization/fi/messenger/unifiedToolbar.ftl
@@ -62,6 +62,9 @@ customize-save = Tallenna
 customize-unsaved-changes = Tallentamattomia muutoksia muissa näkymissä
 customize-search-bar =
     .label = Etsi työkalupalkin painikkeita…
+customize-search-bar2 =
+    .label = Etsi työkalupalkin painikkeita
+    .placeholder = Etsi työkalupalkin painikkeita…
 customize-spaces-tabs =
     .aria-label = Näkymät
 customize-main-toolbar-target =
diff --git a/thunderbird-l10n/fi/manifest.json b/thunderbird-l10n/fi/manifest.json
index 18fb415cd22fdc8364fbb42ad5863a6a90eb7663..7ee9507c52e95e965c122c14c0e4f8ead35fd57e 100644
--- a/thunderbird-l10n/fi/manifest.json
+++ b/thunderbird-l10n/fi/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Suomi (Finnish)",
-  "description": "Thunderbird Beta Language Pack for Suomi (fi) – Finnish",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Suomi (fi) – Finnish",
+  "version": "128.0.20240710.185639",
   "languages": {
     "fi": {
-      "version": "20240627141637",
+      "version": "20240710213409",
       "chrome_resources": {
         "alerts": "chrome/fi/locale/fi/alerts/",
         "autoconfig": "chrome/fi/locale/fi/autoconfig/",
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/branding/brand.dtd b/thunderbird-l10n/fr/chrome/fr/locale/branding/brand.dtd
index 8d1a1578595b7b4dd06efb5c4a7125df537c68c1..638e891167ed23e255d2df31a3f3e6cacf9794d5 100644
--- a/thunderbird-l10n/fr/chrome/fr/locale/branding/brand.dtd
+++ b/thunderbird-l10n/fr/chrome/fr/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/branding/brand.properties b/thunderbird-l10n/fr/chrome/fr/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/fr/chrome/fr/locale/branding/brand.properties
+++ b/thunderbird-l10n/fr/chrome/fr/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/fr/localization/fr/branding/brand.ftl b/thunderbird-l10n/fr/localization/fr/branding/brand.ftl
index 7441bd4db8892d0bdb1945c9bdd43d6cb0862069..82a8961c5797808c640a9e6390534c44db484fc6 100644
--- a/thunderbird-l10n/fr/localization/fr/branding/brand.ftl
+++ b/thunderbird-l10n/fr/localization/fr/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/fr/manifest.json b/thunderbird-l10n/fr/manifest.json
index ee086d6f828c60d15091b2675c71b9ab4c59c033..a796e8ac2491282d056f5fe2fa6baa15ef3832c0 100644
--- a/thunderbird-l10n/fr/manifest.json
+++ b/thunderbird-l10n/fr/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Français (French)",
-  "description": "Thunderbird Beta Language Pack for Français (fr) – French",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Français (fr) – French",
+  "version": "128.0.20240710.185639",
   "languages": {
     "fr": {
-      "version": "20240627141719",
+      "version": "20240710213452",
       "chrome_resources": {
         "alerts": "chrome/fr/locale/fr/alerts/",
         "autoconfig": "chrome/fr/locale/fr/autoconfig/",
diff --git a/thunderbird-l10n/fy-NL/chrome/fy-NL/locale/branding/brand.dtd b/thunderbird-l10n/fy-NL/chrome/fy-NL/locale/branding/brand.dtd
index ff4d6c0f6b60fd4d38f6b689769fce474fe4e8a1..90b905ba68f2f2bb1469d191571fd69d01bd8922 100644
--- a/thunderbird-l10n/fy-NL/chrome/fy-NL/locale/branding/brand.dtd
+++ b/thunderbird-l10n/fy-NL/chrome/fy-NL/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/fy-NL/chrome/fy-NL/locale/branding/brand.properties b/thunderbird-l10n/fy-NL/chrome/fy-NL/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/fy-NL/chrome/fy-NL/locale/branding/brand.properties
+++ b/thunderbird-l10n/fy-NL/chrome/fy-NL/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/fy-NL/chrome/fy-NL/locale/fy-NL/necko/necko.properties b/thunderbird-l10n/fy-NL/chrome/fy-NL/locale/fy-NL/necko/necko.properties
index 4ff86e3cd0e6b05b1f1c1fca04f9945a1417a107..3da413a5d6dcaccc5ba1bd16ac1ca09ca03a2e4f 100644
--- a/thunderbird-l10n/fy-NL/chrome/fy-NL/locale/fy-NL/necko/necko.properties
+++ b/thunderbird-l10n/fy-NL/chrome/fy-NL/locale/fy-NL/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=Cookie ‘%1$S’ is ûnjildich omdat dizze te grut is. Maksimale
 CookiePathOversize=Cookie ‘%1$S’ is ûnjildich omdat de paadgrutte te grut is. Maksimale grutte is %2$S B.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Cookie ‘%1$S’ is wegere troch brûker ynstelde tastimmingen.
+CookieRejectedEmptyNameAndValue=Cookie mei in lege namme en in lege wearde is wegere.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Cookie ‘%1$S’ is wegere fanwegen ûnjildige tekens yn de namme.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=Cookie ‘%1$S’ is ôfwezen, omdat dizze har
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=Cookie ‘%1$S’ is ôfwezen omdat it it attribút ‘Partitioned’ befettet, mar it attribút ‘secure’ ûntbrekt.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=De wearde fan it attribút ‘%2$S’ foar de cookie ‘%1$S’ is wegere omdat de grutte derfan te grut is. Maksimale grutte is %3$S B.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Cookie ‘%1$S’ wurdt ynkoarten wegere, omdat dit ekstern is en it attribút ‘Partitioned’ net hat.
 
diff --git a/thunderbird-l10n/fy-NL/localization/fy-NL/branding/brand.ftl b/thunderbird-l10n/fy-NL/localization/fy-NL/branding/brand.ftl
index ffa504e9f037610c8620ba3747f31e5c5550c182..58c8935186bed23ef9b537709deb723d3b6cd633 100644
--- a/thunderbird-l10n/fy-NL/localization/fy-NL/branding/brand.ftl
+++ b/thunderbird-l10n/fy-NL/localization/fy-NL/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/fy-NL/localization/fy-NL/devtools/client/tooltips.ftl b/thunderbird-l10n/fy-NL/localization/fy-NL/devtools/client/tooltips.ftl
index 2d931c8311ad288b7ffc87e943e167122ee1321d..4cff763fc1cab3d9902a3b47134d31c0f6ad7736 100644
--- a/thunderbird-l10n/fy-NL/localization/fy-NL/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/fy-NL/localization/fy-NL/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Mear ynformaasje</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> hat gjin effekt op dit elemint omdat it gjin flexcontainer of gridcontainer is.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong> { $property } </strong> hat gjin effekt op dit elemint, omdat it gjin flex-container, grid-container of in container mei mear kolommen is.
 inactive-css-not-multicol-container = <strong>{ $property }</strong> hat gjin effekt op dit elemint, omdat it gjin container mei meardere kolommen is.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</
 inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> wurdt net stipe op ::placeholder-pseudo-elementen.
 inactive-css-property-because-of-display = <strong>{ $property }</ strong> hat gjin effekt op dit elemint, omdat it in werjefte fan <strong>{ $display }</ strong> hat.
 inactive-css-not-display-block-on-floated = De wearde <strong>display</strong> is troch de engine yn <strong>block</strong> wizige, omdat it elemint <strong>floated</strong> is.
+inactive-css-not-display-block-on-floated-2 = De wearde <strong>display</strong> is troch de engine yn <strong>{ $display }</strong> wizige, omdat it elemint <strong>floated</strong> is.
 inactive-css-property-is-impossible-to-override-in-visited = It is net mooglik om <strong>{ $property }</strong> te oerskriuwen fanwegen de beheining <strong>:visited</strong>.
 inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> hat gjin effekt op dit elemint omdat it gjin posisjonearre elemint is.
 inactive-css-only-replaced-elements = <strong>{ $property }</strong> hat gjin effekt op dit elemint, omdat it allinnich op ferfongen eleminten tapast wurde kin.
diff --git a/thunderbird-l10n/fy-NL/manifest.json b/thunderbird-l10n/fy-NL/manifest.json
index 3967c4f3d376a23a670d327394e28bb3a61c6dce..55ae957c55de167cb28ca29c024335f7ff5f4b0a 100644
--- a/thunderbird-l10n/fy-NL/manifest.json
+++ b/thunderbird-l10n/fy-NL/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Frysk (Frisian)",
-  "description": "Thunderbird Beta Language Pack for Frysk (fy-NL) – Frisian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Frysk (fy-NL) – Frisian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "fy-NL": {
-      "version": "20240627141803",
+      "version": "20240710213535",
       "chrome_resources": {
         "alerts": "chrome/fy-NL/locale/fy-NL/alerts/",
         "autoconfig": "chrome/fy-NL/locale/fy-NL/autoconfig/",
diff --git a/thunderbird-l10n/ga-IE/chrome/ga-IE/locale/branding/brand.dtd b/thunderbird-l10n/ga-IE/chrome/ga-IE/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..d4e18ebe82e4e35999b0ff28cfee0742a9cb51d6 100644
--- a/thunderbird-l10n/ga-IE/chrome/ga-IE/locale/branding/brand.dtd
+++ b/thunderbird-l10n/ga-IE/chrome/ga-IE/locale/branding/brand.dtd
@@ -1,13 +1,12 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird and the Thunderbird logos
-                                 are trademarks of the Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Is trádmharcanna de chuid Fondúireacht Mozilla iad Mozilla Thunderbird                                  agus suaitheantais Thunderbird.">
diff --git a/thunderbird-l10n/ga-IE/chrome/ga-IE/locale/branding/brand.properties b/thunderbird-l10n/ga-IE/chrome/ga-IE/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/ga-IE/chrome/ga-IE/locale/branding/brand.properties
+++ b/thunderbird-l10n/ga-IE/chrome/ga-IE/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/ga-IE/localization/ga-IE/branding/brand.ftl b/thunderbird-l10n/ga-IE/localization/ga-IE/branding/brand.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..c1df00eb5880fe39891503c24a20a79ea40a9a76
--- /dev/null
+++ b/thunderbird-l10n/ga-IE/localization/ga-IE/branding/brand.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
+trademarkInfo = Is trádmharcanna de chuid Fondúireacht Mozilla iad Thunderbird agus suaitheantais Thunderbird.
diff --git a/thunderbird-l10n/ga-IE/manifest.json b/thunderbird-l10n/ga-IE/manifest.json
index 77002c487ae59244edea29403dff595e33d54438..ebe6771f64dc87f58dff9f98207d740767195249 100644
--- a/thunderbird-l10n/ga-IE/manifest.json
+++ b/thunderbird-l10n/ga-IE/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Gaeilge (Irish)",
-  "description": "Thunderbird Beta Language Pack for Gaeilge (ga-IE) – Irish",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Gaeilge (ga-IE) – Irish",
+  "version": "128.0.20240710.185639",
   "languages": {
     "ga-IE": {
-      "version": "20240627141846",
+      "version": "20240710213618",
       "chrome_resources": {
         "alerts": "chrome/ga-IE/locale/ga-IE/alerts/",
         "autoconfig": "chrome/ga-IE/locale/ga-IE/autoconfig/",
diff --git a/thunderbird-l10n/gd/chrome/gd/locale/branding/brand.dtd b/thunderbird-l10n/gd/chrome/gd/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..e444aa671a929170db36ead3aa86e5160429af57 100644
--- a/thunderbird-l10n/gd/chrome/gd/locale/branding/brand.dtd
+++ b/thunderbird-l10n/gd/chrome/gd/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird and the Thunderbird logos
-                                 are trademarks of the Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Tha Mozilla Thunderbird is suaicheantasan Thunderbird
+                                 'nan comharran-malairt aig Fonndas Mozilla.">
diff --git a/thunderbird-l10n/gd/chrome/gd/locale/branding/brand.properties b/thunderbird-l10n/gd/chrome/gd/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/gd/chrome/gd/locale/branding/brand.properties
+++ b/thunderbird-l10n/gd/chrome/gd/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/gd/localization/gd/branding/brand.ftl b/thunderbird-l10n/gd/localization/gd/branding/brand.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..1568f61a122b844c61aa6a5afc8466bf48dade7f
--- /dev/null
+++ b/thunderbird-l10n/gd/localization/gd/branding/brand.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
+trademarkInfo = 'S e comharran-malairt aig Fonndas Mozilla a tha ann am Mozilla Thunderbird agus sna suaicheantasan Thunderbird.
diff --git a/thunderbird-l10n/gd/manifest.json b/thunderbird-l10n/gd/manifest.json
index 50b1541651c7ec3a6d22626d239b781f7a9beb2e..1b75b2c77a4852f53b3dd780ab4402c7d376f482 100644
--- a/thunderbird-l10n/gd/manifest.json
+++ b/thunderbird-l10n/gd/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Gàidhlig (Scottish Gaelic)",
-  "description": "Thunderbird Beta Language Pack for Gàidhlig (gd) – Scottish Gaelic",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Gàidhlig (gd) – Scottish Gaelic",
+  "version": "128.0.20240710.185639",
   "languages": {
     "gd": {
-      "version": "20240627142050",
+      "version": "20240710213447",
       "chrome_resources": {
         "alerts": "chrome/gd/locale/gd/alerts/",
         "autoconfig": "chrome/gd/locale/gd/autoconfig/",
diff --git a/thunderbird-l10n/gl/chrome/gl/locale/branding/brand.dtd b/thunderbird-l10n/gl/chrome/gl/locale/branding/brand.dtd
index c0d765906b8428c928ed9ef39a2d11c23446f463..c97db736200a853493e9d9a2fbf4bc83269cc688 100644
--- a/thunderbird-l10n/gl/chrome/gl/locale/branding/brand.dtd
+++ b/thunderbird-l10n/gl/chrome/gl/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
 <!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird e os logos de Thunderbird
-                                 son marcas rexistradas da Fundación Mozilla.">
+                                 son marcas rexistradas da Fundación Mozilla (Mozilla Foundation).">
diff --git a/thunderbird-l10n/gl/chrome/gl/locale/branding/brand.properties b/thunderbird-l10n/gl/chrome/gl/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/gl/chrome/gl/locale/branding/brand.properties
+++ b/thunderbird-l10n/gl/chrome/gl/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/gl/localization/gl/branding/brand.ftl b/thunderbird-l10n/gl/localization/gl/branding/brand.ftl
index dcd6011f5c5e44e251fcb8618fcf3322dea055a0..5f648d2b2c026ef0e25d64863b84eea09ec4fed4 100644
--- a/thunderbird-l10n/gl/localization/gl/branding/brand.ftl
+++ b/thunderbird-l10n/gl/localization/gl/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/gl/manifest.json b/thunderbird-l10n/gl/manifest.json
index 03195687316203c668f77db1f592257202e5c59e..cb3682a24dcdf46ca985fa8d56c4f112f8dab322 100644
--- a/thunderbird-l10n/gl/manifest.json
+++ b/thunderbird-l10n/gl/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Galego (Galician)",
-  "description": "Thunderbird Beta Language Pack for Galego (gl) – Galician",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Galego (gl) – Galician",
+  "version": "128.0.20240710.185639",
   "languages": {
     "gl": {
-      "version": "20240627142132",
+      "version": "20240710213529",
       "chrome_resources": {
         "alerts": "chrome/gl/locale/gl/alerts/",
         "autoconfig": "chrome/gl/locale/gl/autoconfig/",
diff --git a/thunderbird-l10n/he/chrome/he/locale/branding/brand.dtd b/thunderbird-l10n/he/chrome/he/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..e0b254a9810ce62c5366b78415192679ebe29d04 100644
--- a/thunderbird-l10n/he/chrome/he/locale/branding/brand.dtd
+++ b/thunderbird-l10n/he/chrome/he/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird and the Thunderbird logos
-                                 are trademarks of the Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "הלוגואים של Mozilla Thunderbird ושל Thunderbird
+                                 הם סימני מסחר רשומים של קרן Mozilla.">
diff --git a/thunderbird-l10n/he/chrome/he/locale/branding/brand.properties b/thunderbird-l10n/he/chrome/he/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/he/chrome/he/locale/branding/brand.properties
+++ b/thunderbird-l10n/he/chrome/he/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/he/localization/he/branding/brand.ftl b/thunderbird-l10n/he/localization/he/branding/brand.ftl
index f993aa1caffa44b94654f57e33ff3fcd5068f075..52f2d38d598d2c16a3ffeea2137af0bee86428fe 100644
--- a/thunderbird-l10n/he/localization/he/branding/brand.ftl
+++ b/thunderbird-l10n/he/localization/he/branding/brand.ftl
@@ -12,11 +12,10 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
 -vendor-short-name = Mozilla
-trademarkInfo = ‏Mozilla Thunderbird והסמלים של Thunderbird הם סימנים מסחריים של קרן Mozilla.
diff --git a/thunderbird-l10n/he/manifest.json b/thunderbird-l10n/he/manifest.json
index c87310dc57efc7b9f4986b66cd535d53fbafcbb0..abb56bca9f981ec22cc82528b31833f73b2e3bc2 100644
--- a/thunderbird-l10n/he/manifest.json
+++ b/thunderbird-l10n/he/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: עברית (Hebrew)",
-  "description": "Thunderbird Beta Language Pack for עברית (he) – Hebrew",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for עברית (he) – Hebrew",
+  "version": "128.0.20240710.185639",
   "languages": {
     "he": {
-      "version": "20240627142215",
+      "version": "20240710213612",
       "chrome_resources": {
         "alerts": "chrome/he/locale/he/alerts/",
         "autoconfig": "chrome/he/locale/he/autoconfig/",
diff --git a/thunderbird-l10n/hr/chrome/hr/locale/branding/brand.dtd b/thunderbird-l10n/hr/chrome/hr/locale/branding/brand.dtd
index 05ad43df18d7b8cf407c8ee12f3aee226ba52cf4..9f31605f1f05a4d4245372e2a2452c6a6d0fdd43 100644
--- a/thunderbird-l10n/hr/chrome/hr/locale/branding/brand.dtd
+++ b/thunderbird-l10n/hr/chrome/hr/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/hr/chrome/hr/locale/branding/brand.properties b/thunderbird-l10n/hr/chrome/hr/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/hr/chrome/hr/locale/branding/brand.properties
+++ b/thunderbird-l10n/hr/chrome/hr/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/hr/localization/hr/branding/brand.ftl b/thunderbird-l10n/hr/localization/hr/branding/brand.ftl
index c7eb5c1ba663a804fdd0163aced91aa17aa06ce0..705c5cad116afe54d19353f07b46cc79e7e0e44f 100644
--- a/thunderbird-l10n/hr/localization/hr/branding/brand.ftl
+++ b/thunderbird-l10n/hr/localization/hr/branding/brand.ftl
@@ -12,11 +12,11 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
 -vendor-short-name = Mozilla
-trademarkInfo = Mozilla Thunderbird i Thunderbird znakovi su Mozilla Foundation zaštićeni znakovi.
+trademarkInfo = Mozilla Thunderbird i Thunderbird logo su Mozilla Foundation zaštićeni znakovi.
diff --git a/thunderbird-l10n/hr/manifest.json b/thunderbird-l10n/hr/manifest.json
index b7a6f89951b3a5c814f89576c8489d94d75eb6d9..fc93c591d25d89f0cdc37bb28b45541210c1e30e 100644
--- a/thunderbird-l10n/hr/manifest.json
+++ b/thunderbird-l10n/hr/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Hrvatski (Croatian)",
-  "description": "Thunderbird Beta Language Pack for Hrvatski (hr) – Croatian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Hrvatski (hr) – Croatian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "hr": {
-      "version": "20240627142258",
+      "version": "20240710213656",
       "chrome_resources": {
         "alerts": "chrome/hr/locale/hr/alerts/",
         "autoconfig": "chrome/hr/locale/hr/autoconfig/",
diff --git a/thunderbird-l10n/hsb/chrome/hsb/locale/branding/brand.dtd b/thunderbird-l10n/hsb/chrome/hsb/locale/branding/brand.dtd
index 6f7a761f5c4b3f46a85c97ad6f3b55aab6b13e0d..f585eec7f70963ac5a5d5c059568ca8ae8f95bfe 100644
--- a/thunderbird-l10n/hsb/chrome/hsb/locale/branding/brand.dtd
+++ b/thunderbird-l10n/hsb/chrome/hsb/locale/branding/brand.dtd
@@ -1,13 +1,12 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Thunderbird a loga programa Thunderbird
-                                 su wikowanske znamjenja załožby Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Thunderbird a loga programa Thunderbird su wikowanske znamjenja załožby Mozilla Foundation.">
diff --git a/thunderbird-l10n/hsb/chrome/hsb/locale/branding/brand.properties b/thunderbird-l10n/hsb/chrome/hsb/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/hsb/chrome/hsb/locale/branding/brand.properties
+++ b/thunderbird-l10n/hsb/chrome/hsb/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/hsb/chrome/hsb/locale/hsb/global/narrate.properties b/thunderbird-l10n/hsb/chrome/hsb/locale/hsb/global/narrate.properties
index a3280a95543d4cf91458521fc7323ab542973de9..75696f82db80139414d17e1bd1c39a117bb61517 100644
--- a/thunderbird-l10n/hsb/chrome/hsb/locale/hsb/global/narrate.properties
+++ b/thunderbird-l10n/hsb/chrome/hsb/locale/hsb/global/narrate.properties
@@ -28,6 +28,8 @@ forward = Doprědka
 # %S is the keyboard shortcut for the skip forward command
 next-label = Doprědka (%S)
 speed = Spěšnosć
+slow-speed-label = Předčitanje spomalić
+fast-speed-label = Předčitanje pospěšić
 selectvoicelabel = Hłós:
 select-voice-header = Hłós
 # Default voice is determined by the language of the document.
diff --git a/thunderbird-l10n/hsb/chrome/hsb/locale/hsb/necko/necko.properties b/thunderbird-l10n/hsb/chrome/hsb/locale/hsb/necko/necko.properties
index 974f7b28a4a2321a42324646280a332d41b0f1af..ad234a6d46e1d3d2190d7940bccd9070ee7b8db9 100644
--- a/thunderbird-l10n/hsb/chrome/hsb/locale/hsb/necko/necko.properties
+++ b/thunderbird-l10n/hsb/chrome/hsb/locale/hsb/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=Plack „%1$S“ je njepłaćiwy, dokelž je přewulki. Maksimaln
 CookiePathOversize=Plack „%1$S“ je njepłaćiwy, dokelž jeho šćežka je přewulka. Maksimalna wulkosć je %2$S B.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Plack “%1$S” je so wot wužiwarja nastajenych prawow dla wotpokazał.
+CookieRejectedEmptyNameAndValue=Plack z prózdnym mjenom a prózdnej hódnotu je so wotpokazał.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Plack “%1$S” je so njepłaćiwych znamješkow w mjenje dla wotpokazał.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=Plack “%1$S” je so wotpokazał, dokelž je
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=Plack “%1$S” je so wotpokazał, dokelž ma atribut “Partitioned”, ale nima atribut “secure” .
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=Hódnota atributa “%2$S” za plack “%1$S” je so wotpokazała, dokelž jeje wulkosć je přewulka. Maksimalna wulkosć je %3$S bajtow.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Plack „%1$S“ so bórze wotpokaza, dokelž je cuzy a nima atribut „Partitioned“.
 
diff --git a/thunderbird-l10n/hsb/localization/hsb/branding/brand.ftl b/thunderbird-l10n/hsb/localization/hsb/branding/brand.ftl
index 366512ca41661d532130a98e6c78728317055894..d16aa1f266cac6739cb5c7efc4ce3c13c1adbf52 100644
--- a/thunderbird-l10n/hsb/localization/hsb/branding/brand.ftl
+++ b/thunderbird-l10n/hsb/localization/hsb/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/hsb/localization/hsb/devtools/client/tooltips.ftl b/thunderbird-l10n/hsb/localization/hsb/devtools/client/tooltips.ftl
index 2921d25c64cc5bfa503e0d19d46a99d940ea7916..98d288a7ccc517044222aa67b401451d8c043b90 100644
--- a/thunderbird-l10n/hsb/localization/hsb/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/hsb/localization/hsb/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Dalše informacije</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> na tutón element efekt nima, dokelž ani kontejner flex ani kontejner grid njeje.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> na tutón element wuskutk nima, dokelž kontejner flex, lěsyčny kontejner abo wjacešpaltowy kontejner njeje.
 inactive-css-not-multicol-container = <strong>{ $property }</strong> na tutón element efekt nima, dokelž so wo wjacešpaltowy kontejner njejedna.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</
 inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> so za pseudo-elementy ::placeholder njepodpěruje.
 inactive-css-property-because-of-display = <strong>{ $property }</strong> nima wuskutk na tutón element, dokelž ma zwobraznjenje <strong>{ $display }</strong>.
 inactive-css-not-display-block-on-floated = Hódnota <strong>display</strong> je so přez engine do <strong>block</strong> změnił, dokelž element je <strong>floated</strong>.
+inactive-css-not-display-block-on-floated-2 = Hódnota <strong>display</strong> je so přez engine do <strong>{ $display }</strong> změnił, dokelž element je <strong>floated</strong>.
 inactive-css-property-is-impossible-to-override-in-visited = Wobmjezowanja <strong>:visited</strong> dla je njemóžno, <strong>{ $property }</strong> přepisać.
 inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> na tutón element efekt nima, dokelž pozicionowany element njeje.
 inactive-css-only-replaced-elements = <strong>{ $property }</strong> na tutón element wuskutk nima, dokelž da so jenož na wuměnjene elementy nałožić.
diff --git a/thunderbird-l10n/hsb/manifest.json b/thunderbird-l10n/hsb/manifest.json
index 9201c949a2c8230b1a5f2cb72e62b38cb98857e7..6cd0fec9e446a025d22ade5b98cbd718e0fd35c5 100644
--- a/thunderbird-l10n/hsb/manifest.json
+++ b/thunderbird-l10n/hsb/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Hornjoserbšćina (Upper Sorbian)",
-  "description": "Thunderbird Beta Language Pack for Hornjoserbšćina (hsb) – Upper Sorbian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Hornjoserbšćina (hsb) – Upper Sorbian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "hsb": {
-      "version": "20240627142341",
+      "version": "20240710213740",
       "chrome_resources": {
         "alerts": "chrome/hsb/locale/hsb/alerts/",
         "autoconfig": "chrome/hsb/locale/hsb/autoconfig/",
diff --git a/thunderbird-l10n/hu/chrome/hu/locale/branding/brand.dtd b/thunderbird-l10n/hu/chrome/hu/locale/branding/brand.dtd
index e5fa259df0ce6653e7dfac0414d618a37e124a68..c74a716a1a2992adbd73318cc5171c7944eee4a4 100644
--- a/thunderbird-l10n/hu/chrome/hu/locale/branding/brand.dtd
+++ b/thunderbird-l10n/hu/chrome/hu/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "A Mozilla Thunderbird és a Thunderbird logók
- a Mozilla Foundation védjegyei.">
+<!ENTITY  trademarkInfo.part1   "A Mozilla Thunderbird és a Thunderbird logók 
+                                 a Mozilla Foundation védjegyei.">
diff --git a/thunderbird-l10n/hu/chrome/hu/locale/branding/brand.properties b/thunderbird-l10n/hu/chrome/hu/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/hu/chrome/hu/locale/branding/brand.properties
+++ b/thunderbird-l10n/hu/chrome/hu/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/hu/localization/hu/branding/brand.ftl b/thunderbird-l10n/hu/localization/hu/branding/brand.ftl
index feb98a4dc703a99ef8bd1c1a12eff5ff7c9a8d49..a7e52d12e8191e4f615fcc5525a906655c8ad8b4 100644
--- a/thunderbird-l10n/hu/localization/hu/branding/brand.ftl
+++ b/thunderbird-l10n/hu/localization/hu/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/hu/manifest.json b/thunderbird-l10n/hu/manifest.json
index 45468f41e801628960b2e7dfdc5f0218c00223df..87a488a0722bc346fc7c0d0dcc12800d083bf8d7 100644
--- a/thunderbird-l10n/hu/manifest.json
+++ b/thunderbird-l10n/hu/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Magyar (Hungarian)",
-  "description": "Thunderbird Beta Language Pack for Magyar (hu) – Hungarian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Magyar (hu) – Hungarian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "hu": {
-      "version": "20240627141211",
+      "version": "20240710213407",
       "chrome_resources": {
         "alerts": "chrome/hu/locale/hu/alerts/",
         "autoconfig": "chrome/hu/locale/hu/autoconfig/",
diff --git a/thunderbird-l10n/hy-AM/chrome/hy-AM/locale/branding/brand.dtd b/thunderbird-l10n/hy-AM/chrome/hy-AM/locale/branding/brand.dtd
index c24f84fa765aa88cc4db3a98b20ca8acc48bf3b1..d02b337290c0030452eda0aede2111f76a3b2950 100644
--- a/thunderbird-l10n/hy-AM/chrome/hy-AM/locale/branding/brand.dtd
+++ b/thunderbird-l10n/hy-AM/chrome/hy-AM/locale/branding/brand.dtd
@@ -1,13 +1,12 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
 <!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird-ը և Thunderbird-ի լոգոները Mozilla Foundation-ի գրանցված ապրանքանիշներն են։">
-
-<!ENTITY  brandShortName        "Thunderbird Beta">
diff --git a/thunderbird-l10n/hy-AM/chrome/hy-AM/locale/branding/brand.properties b/thunderbird-l10n/hy-AM/chrome/hy-AM/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/hy-AM/chrome/hy-AM/locale/branding/brand.properties
+++ b/thunderbird-l10n/hy-AM/chrome/hy-AM/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/hy-AM/localization/hy-AM/branding/brand.ftl b/thunderbird-l10n/hy-AM/localization/hy-AM/branding/brand.ftl
index d2c900c586dafa457852c5e594473c92c08f8742..c3e8406aa20d873a90fdf0214f4974a69c8a80ca 100644
--- a/thunderbird-l10n/hy-AM/localization/hy-AM/branding/brand.ftl
+++ b/thunderbird-l10n/hy-AM/localization/hy-AM/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/hy-AM/localization/hy-AM/chat/matrix-properties.ftl b/thunderbird-l10n/hy-AM/localization/hy-AM/chat/matrix-properties.ftl
index 0228f630c432b58da6f70f905db428c084089cce..deba4267b2d1def30cbd2f111049877e7ac908de 100644
--- a/thunderbird-l10n/hy-AM/localization/hy-AM/chat/matrix-properties.ftl
+++ b/thunderbird-l10n/hy-AM/localization/hy-AM/chat/matrix-properties.ftl
@@ -64,6 +64,20 @@ power-level-default-role = Կանխադրված դերը՝ { $powerLevelName }
 #    $value will typically be strings with the actual values.
 # $value Example placeholder: "Foo bar"
 detail-name = Անուն. { $value }
+# $value Example placeholder: "5"
+detail-version = Սենյակի տարբերակը՝ { $value }
+# $value Example placeholder: "#thunderbird:mozilla.org"
+detail-room-id = Սենյակի ID՝ { $value }
+# $value are all admin users. Example: "@foo:example.com, @bar:example.com"
+detail-admin = Վարիչ՝ { $value }
+# $value are all moderators. Example: "@lorem:mozilla.org, @ipsum:mozilla.org"
+detail-moderator = Մոդերատոր՝ { $value }
+# $value Example placeholder: "#thunderbird:matrix.org"
+detail-alias = Փոխանուն՝ { $value }
+# $value Example placeholder: "can_join"
+detail-guest = Հյուրերի մուտք՝ { $value }
+# This is a heading, followed by the power-level-* strings
+detail-power = Հզորության մակարդակներ՝
 #    $user is the name of the user who accepted an invitation.
 message-accepted-invite = { $user }-ն ընդունել է հրավերը:
 #    $user is the name of the user who invited.
diff --git a/thunderbird-l10n/hy-AM/manifest.json b/thunderbird-l10n/hy-AM/manifest.json
index 72296d62b60dc8027280f6cb7363f236041dcbf4..f9d866b6933ab0d4ec8be41d36fa5e723f6ed908 100644
--- a/thunderbird-l10n/hy-AM/manifest.json
+++ b/thunderbird-l10n/hy-AM/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: հայերեն (Armenian)",
-  "description": "Thunderbird Beta Language Pack for հայերեն (hy-AM) – Armenian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for հայերեն (hy-AM) – Armenian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "hy-AM": {
-      "version": "20240627141254",
+      "version": "20240710213449",
       "chrome_resources": {
         "alerts": "chrome/hy-AM/locale/hy-AM/alerts/",
         "autoconfig": "chrome/hy-AM/locale/hy-AM/autoconfig/",
diff --git a/thunderbird-l10n/id/chrome/id/locale/branding/brand.dtd b/thunderbird-l10n/id/chrome/id/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..f322246ec6e3b06944a1dfd5ca5444d425b0165e 100644
--- a/thunderbird-l10n/id/chrome/id/locale/branding/brand.dtd
+++ b/thunderbird-l10n/id/chrome/id/locale/branding/brand.dtd
@@ -1,13 +1,12 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird and the Thunderbird logos
-                                 are trademarks of the Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird dan logo Thunderbird merupakan merek dagang Mozilla Foundation.">
diff --git a/thunderbird-l10n/id/chrome/id/locale/branding/brand.properties b/thunderbird-l10n/id/chrome/id/locale/branding/brand.properties
index 785d4a1fd09afd05f54cbfdc7c192cba9a88b2c0..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/id/chrome/id/locale/branding/brand.properties
+++ b/thunderbird-l10n/id/chrome/id/locale/branding/brand.properties
@@ -1,8 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
-
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
diff --git a/thunderbird-l10n/id/localization/id/branding/brand.ftl b/thunderbird-l10n/id/localization/id/branding/brand.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..52f2d38d598d2c16a3ffeea2137af0bee86428fe
--- /dev/null
+++ b/thunderbird-l10n/id/localization/id/branding/brand.ftl
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
diff --git a/thunderbird-l10n/id/manifest.json b/thunderbird-l10n/id/manifest.json
index c243d1beac8e39bc4ad4f8b616bc7058b5f4b2a0..05b5a57fdc5bce5cf54dfb0f005b6e7c22775c90 100644
--- a/thunderbird-l10n/id/manifest.json
+++ b/thunderbird-l10n/id/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Indonesia (Indonesian)",
-  "description": "Thunderbird Beta Language Pack for Indonesia (id) – Indonesian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Indonesia (id) – Indonesian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "id": {
-      "version": "20240627141336",
+      "version": "20240710213532",
       "chrome_resources": {
         "alerts": "chrome/id/locale/id/alerts/",
         "autoconfig": "chrome/id/locale/id/autoconfig/",
diff --git a/thunderbird-l10n/is/chrome/is/locale/branding/brand.dtd b/thunderbird-l10n/is/chrome/is/locale/branding/brand.dtd
index 484c2f42dd2ffd44a6cf05407ed6ecb17e32cabf..429a32ec73cee34c5bf57257bbcdef0762976668 100644
--- a/thunderbird-l10n/is/chrome/is/locale/branding/brand.dtd
+++ b/thunderbird-l10n/is/chrome/is/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird prófunarútgáfa">
-<!ENTITY  brandShorterName      "Thunderbird prófunarútgáfa">
-<!ENTITY  brandFullName         "Mozilla Thunderbird prófunarútgáfa">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/is/chrome/is/locale/branding/brand.properties b/thunderbird-l10n/is/chrome/is/locale/branding/brand.properties
index c2eb607162d2bc426994af58af74d5d31ee05221..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/is/chrome/is/locale/branding/brand.properties
+++ b/thunderbird-l10n/is/chrome/is/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird prófunarútgáfa
-brandShorterName=Thunderbird prófunarútgáfa
-brandFullName=Mozilla Thunderbird prófunarútgáfa
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/is/chrome/is/locale/is/global/narrate.properties b/thunderbird-l10n/is/chrome/is/locale/is/global/narrate.properties
index a6ba13ffb3947f38279b0783eb7be9a962a45d3a..80388560fa71d8df07c70e5b5b286d51a0945b64 100644
--- a/thunderbird-l10n/is/chrome/is/locale/is/global/narrate.properties
+++ b/thunderbird-l10n/is/chrome/is/locale/is/global/narrate.properties
@@ -28,6 +28,8 @@ forward = Áfram
 # %S is the keyboard shortcut for the skip forward command
 next-label = Áfram (%S)
 speed = Hraði
+slow-speed-label = Hægja á frásögn
+fast-speed-label = Hraða frásögn
 selectvoicelabel = Rödd:
 select-voice-header = Rödd
 # Default voice is determined by the language of the document.
diff --git a/thunderbird-l10n/is/chrome/is/locale/is/necko/necko.properties b/thunderbird-l10n/is/chrome/is/locale/is/necko/necko.properties
index e4dd741f5fc80df1d9e3d3110b278ce435699cb8..00158bdda643ba77b894390e5281c7498dae75fa 100644
--- a/thunderbird-l10n/is/chrome/is/locale/is/necko/necko.properties
+++ b/thunderbird-l10n/is/chrome/is/locale/is/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=Vefkakan „%1$S“ er ógild vegna þess að stærð hennar er o
 CookiePathOversize=Vefkakan „%1$S“ er ógild vegna þess að lengd slóðar hennar er of mikil. Hámarksstærð er %2$S B.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Vefköku "%1$S" hefur verið hafnað með heimildum stilltum af notanda.
+CookieRejectedEmptyNameAndValue=Vefköku með autt nafn og autt gildi hefur verið hafnað.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Vefköku „%1$S“ hefur verið hafnað vegna ógildra stafa í nafninu.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=Vefkökunni „%1$S“ hefur verið hafnað veg
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=Vefkökunni „%1$S“ var hafnað vegna þess að hún er með „Partitioned“ eigindið en vantar „secure“ eigindið.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=Gildi eigindisins „%2$S“ fyrir vefkökuna „%1$S“ hefur verið hafnað vegna þess að stærð hennar er of mikil. Hámarksstærð er %3$S B.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Vefkökunni „%1$S“ verður brátt hafnað vegna þess að hún er utanaðkomandi og er ekki með „Partitioned“ eigindi.
 
diff --git a/thunderbird-l10n/is/localization/is/branding/brand.ftl b/thunderbird-l10n/is/localization/is/branding/brand.ftl
index 45ec20e363d4f273661f80d876eb820fd40e4615..05adb32ccd54bcacfa2ee44b289ec7b4ebe0a065 100644
--- a/thunderbird-l10n/is/localization/is/branding/brand.ftl
+++ b/thunderbird-l10n/is/localization/is/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird prófunarútgáfa
--brand-short-name = Thunderbird prófunarútgáfa
--brand-full-name = Mozilla Thunderbird prófunarútgáfa
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/is/manifest.json b/thunderbird-l10n/is/manifest.json
index 04b2827da53238dc03709d6f47685cb4816fb961..9085590d5098cce656267fc3b4965ad289381c0a 100644
--- a/thunderbird-l10n/is/manifest.json
+++ b/thunderbird-l10n/is/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Islenska (Icelandic)",
-  "description": "Thunderbird Beta Language Pack for Islenska (is) – Icelandic",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Islenska (is) – Icelandic",
+  "version": "128.0.20240710.185639",
   "languages": {
     "is": {
-      "version": "20240627141419",
+      "version": "20240710213615",
       "chrome_resources": {
         "alerts": "chrome/is/locale/is/alerts/",
         "autoconfig": "chrome/is/locale/is/autoconfig/",
diff --git a/thunderbird-l10n/it/chrome/it/locale/branding/brand.dtd b/thunderbird-l10n/it/chrome/it/locale/branding/brand.dtd
index 1f5a4c713d572f5b7a1c4c17a75146112d732b49..bca2771fa73075c4596d4b6aaf0e5c6c1b4e816c 100644
--- a/thunderbird-l10n/it/chrome/it/locale/branding/brand.dtd
+++ b/thunderbird-l10n/it/chrome/it/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
 <!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird e i logo Thunderbird
- sono marchi registrati di Mozilla Foundation.">
+sono marchi registrati di Mozilla Foundation.">
diff --git a/thunderbird-l10n/it/chrome/it/locale/branding/brand.properties b/thunderbird-l10n/it/chrome/it/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/it/chrome/it/locale/branding/brand.properties
+++ b/thunderbird-l10n/it/chrome/it/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/it/chrome/it/locale/it/devtools/client/webconsole.properties b/thunderbird-l10n/it/chrome/it/locale/it/devtools/client/webconsole.properties
index 979be143b34e289dc91a9a94bab4c91b8643195b..bca13bdbbfcf23806cb928e6a6317c57faee5dbd 100644
--- a/thunderbird-l10n/it/chrome/it/locale/it/devtools/client/webconsole.properties
+++ b/thunderbird-l10n/it/chrome/it/locale/it/devtools/client/webconsole.properties
@@ -275,5 +275,6 @@ webconsole.input.selector.tooltip = Seleziona contesto di valutazione
 webconsole.group.cookieSameSiteLaxByDefaultEnabled2 = Alcuni cookie utilizzano l’attributo “SameSite“ in modo non corretto, per cui non funzionerà come previsto
 webconsole.group.cookieSameSiteLaxByDefaultDisabled2 = Alcuni cookie utilizzano l’attributo “SameSite“ consigliato in modo non corretto
 
-webconsole.group.csp = Avvisi Content-Security-Policy
+webconsole.group.cookie = Avvisi relativi ai cookie
 
+webconsole.group.csp = Avvisi Content-Security-Policy
diff --git a/thunderbird-l10n/it/chrome/it/locale/it/global/dom/dom.properties b/thunderbird-l10n/it/chrome/it/locale/it/global/dom/dom.properties
index 5f49c28103884dea3e1d0e52698f4847abdab8f6..df492369d5d55b195b2d4fda6eb383dc1cec90bc 100644
--- a/thunderbird-l10n/it/chrome/it/locale/it/global/dom/dom.properties
+++ b/thunderbird-l10n/it/chrome/it/locale/it/global/dom/dom.properties
@@ -21,6 +21,8 @@ OnBeforeUnloadTitle = Abbandonare la pagina?
 OnBeforeUnloadMessage2 = Questa pagina richiede una conferma prima di poter uscire. Le informazioni inserite potrebbero non essere state salvate.
 OnBeforeUnloadStayButton = Rimani in questa pagina
 OnBeforeUnloadLeaveButton = Esci dalla pagina
+OnBeforeUnloadPDFjsTitle = Salvare il PDF prima di uscire?
+OnBeforeUnloadPDFjsMessage = Salva questo documento per evitare di perdere le tue modifiche.
 EmptyGetElementByIdParam = È stata trasmessa una stringa vuota a getElementById().
 SpeculationFailed2 = La scrittura di un albero non bilanciato tramite document.write() ha richiesto un ulteriore parsing dei dati dalla rete. Per ulteriori informazioni consultare https://developer.mozilla.org/en-US/docs/Glossary/speculative_parsing
 DocumentWriteIgnored = È stata ignorata una chiamata a document.write() eseguita da uno script esterno caricato in modalità asincrona.
diff --git a/thunderbird-l10n/it/chrome/it/locale/it/necko/necko.properties b/thunderbird-l10n/it/chrome/it/locale/it/necko/necko.properties
index 4900d3cc7628c368e5c4d2fe98c0a2780ae3aaed..387fde5496e81d6b78a16fa5926fc86ad900d1f5 100644
--- a/thunderbird-l10n/it/chrome/it/locale/it/necko/necko.properties
+++ b/thunderbird-l10n/it/chrome/it/locale/it/necko/necko.properties
@@ -95,6 +95,8 @@ CookieRejectedPartitionedRequiresSecure=Cookie “%1$S” rifiutato in quanto in
 
 CookieAttributeIgnored = Il valore dell’attributo “%2$S” per il cookie “%1$S” è stato rifiutato in quanto eccede la dimensione massima (%3$S B).
 
+CookieAttributeOverwritten = Il valore dell’attributo “%2$S” per il cookie “%1$S” è stato sovrascritto.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Il cookie “%1$S” verrà rifiutato in futuro in quanto si tratta di un cookie “foreign” ma non include l’attributo “Partitioned“.
 
diff --git a/thunderbird-l10n/it/localization/it/branding/brand.ftl b/thunderbird-l10n/it/localization/it/branding/brand.ftl
index 71f80bce0b844c9ce69737a6e5efb56911af7186..92ec47189b666579b068dc211c09a21cbaa9694d 100644
--- a/thunderbird-l10n/it/localization/it/branding/brand.ftl
+++ b/thunderbird-l10n/it/localization/it/branding/brand.ftl
@@ -12,11 +12,11 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
 -vendor-short-name = Mozilla
-trademarkInfo = Mozilla Thunderbird e i logo di Thunderbird sono marchi registrati di Mozilla Foundation.
+trademarkInfo = Mozilla Thunderbird e i logo di Thunderbird  sono marchi registrati di Mozilla Foundation.
diff --git a/thunderbird-l10n/it/localization/it/devtools/client/tooltips.ftl b/thunderbird-l10n/it/localization/it/devtools/client/tooltips.ftl
index 996286780422be05ed1bc74064ba63cf60b34270..12d64279e437f0ee458608b06999579d91c4fe47 100644
--- a/thunderbird-l10n/it/localization/it/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/it/localization/it/devtools/client/tooltips.ftl
@@ -64,6 +64,8 @@ inactive-css-not-for-internal-table-elements-except-table-cells = <strong>{ $pro
 
 inactive-css-not-table = <strong>{ $property }</strong> non ha effetto su questo elemento in quanto non è una tabella.
 
+inactive-css-collapsed-table-borders = <strong>{ $property }</strong> non ha effetto su questo elemento in quanto è una tabella con bordi collassati.
+
 inactive-css-not-table-cell = <strong>{ $property }</strong> non ha effetto su questo elemento in quanto non è una cella di una tabella.
 
 inactive-scroll-padding-when-not-scroll-container = <strong>{ $property }</strong> non ha effetto su questo elemento in quanto non prevede scorrimento (”scroll”).
@@ -134,6 +136,8 @@ inactive-css-not-for-internal-table-elements-except-table-cells-fix = Provare a
 
 inactive-css-not-table-fix = Provare ad aggiungere <strong>display:table</strong> o <strong>display:inline-table</strong>. { learn-more }
 
+inactive-css-collapsed-table-borders-fix = Provare ad aggiungere <strong>border-collapse:separate</strong>. { learn-more }
+
 inactive-css-not-table-cell-fix = Provare ad aggiungere <strong>display:table-cell</strong>. { learn-more }
 
 inactive-scroll-padding-when-not-scroll-container-fix = Provare ad aggiungere <strong>overflow:auto</strong>, <strong>overflow:scroll</strong> o <strong>overflow:hidden</strong>. { learn-more }
diff --git a/thunderbird-l10n/it/localization/it/toolkit/about/aboutSupport.ftl b/thunderbird-l10n/it/localization/it/toolkit/about/aboutSupport.ftl
index 2b91345bac6e71775eba56d88a1a55611e59b944..c883f4475d35cd180e47bbc75e3d45fd75102b2c 100644
--- a/thunderbird-l10n/it/localization/it/toolkit/about/aboutSupport.ftl
+++ b/thunderbird-l10n/it/localization/it/toolkit/about/aboutSupport.ftl
@@ -345,6 +345,12 @@ has-seccomp-bpf = Seccomp-BPF (filtro chiamate di sistema)
 has-seccomp-tsync = Sincronizzazione thread seccomp
 has-user-namespaces = Namespace dell’utente
 has-privileged-user-namespaces = Namespace dell’utente per processi privilegiati
+
+# Variables
+# $status (string) - Boolean value of hasUserNamespaces (should only be false when support-user-namespaces-unavailable is used)
+support-user-namespaces-unavailable =
+    { $status } — Questa funzione non è consentita sul tuo sistema. Questo può limitare alcune funzioni di sicurezza di { -brand-short-name }.
+
 can-sandbox-content = Sandbox processo per i contenuti
 can-sandbox-media = Sandbox plugin multimediali
 content-sandbox-level = Livello sandbox content process
diff --git a/thunderbird-l10n/it/manifest.json b/thunderbird-l10n/it/manifest.json
index a2d6abf0b0a3597352f20debe4cf0d70fc6a4622..9b1a9fa73c855cfbcf7502866e4362ac8345b907 100644
--- a/thunderbird-l10n/it/manifest.json
+++ b/thunderbird-l10n/it/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Italiano (Italian)",
-  "description": "Thunderbird Beta Language Pack for Italiano (it) – Italian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Italiano (it) – Italian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "it": {
-      "version": "20240627141502",
+      "version": "20240710213658",
       "chrome_resources": {
         "alerts": "chrome/it/locale/it/alerts/",
         "autoconfig": "chrome/it/locale/it/autoconfig/",
diff --git a/thunderbird-l10n/ja/chrome/ja/locale/branding/brand.dtd b/thunderbird-l10n/ja/chrome/ja/locale/branding/brand.dtd
index f10ba80a28e774a87aeb29970fcc7f986a3861b1..373624852ac0ef953557a5ab6b3f164578cb336b 100644
--- a/thunderbird-l10n/ja/chrome/ja/locale/branding/brand.dtd
+++ b/thunderbird-l10n/ja/chrome/ja/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/ja/chrome/ja/locale/branding/brand.properties b/thunderbird-l10n/ja/chrome/ja/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/ja/chrome/ja/locale/branding/brand.properties
+++ b/thunderbird-l10n/ja/chrome/ja/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/ja/chrome/ja/locale/ja/messenger/custom.properties b/thunderbird-l10n/ja/chrome/ja/locale/ja/messenger/custom.properties
index c1bb70d1490c03b1cb257aee1c18610577191075..c8276f8b574dcef0843346ed73103d9ead521d4b 100644
--- a/thunderbird-l10n/ja/chrome/ja/locale/ja/messenger/custom.properties
+++ b/thunderbird-l10n/ja/chrome/ja/locale/ja/messenger/custom.properties
@@ -2,4 +2,4 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-colonInHeaderName	= 入力されたヘッダーには不正な文字が含まれています。 ':'、印刷不可能な文字、非 ASCII 文字、8 ビット ASCII 文字などは使用できません。これらの不正な文字を削除してから再度実行してください。
+colonInHeaderName	= 入力されたヘッダーには不正な文字が含まれています。':'、印刷不可能な文字、非 ASCII 文字、8 ビット ASCII 文字などは使用できません。これらの不正な文字を削除してから再度実行してください。
diff --git a/thunderbird-l10n/ja/localization/ja/branding/brand.ftl b/thunderbird-l10n/ja/localization/ja/branding/brand.ftl
index 97f4da990300f7957b75b8314fe1a14307e4690a..960597c51455ef530e0d222c3183cb1720aefd8e 100644
--- a/thunderbird-l10n/ja/localization/ja/branding/brand.ftl
+++ b/thunderbird-l10n/ja/localization/ja/branding/brand.ftl
@@ -11,9 +11,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/ja/localization/ja/calendar/calendar.ftl b/thunderbird-l10n/ja/localization/ja/calendar/calendar.ftl
index f8fe6c7436da8d7f867d5b4f74cb55ba37426c05..9f948bac95ff3907a231e3a48735591bc9fc8b95 100644
--- a/thunderbird-l10n/ja/localization/ja/calendar/calendar.ftl
+++ b/thunderbird-l10n/ja/localization/ja/calendar/calendar.ftl
@@ -271,6 +271,7 @@ cal-dav-redirect-disable-calendar = カレンダーを無効化
 #   Australia/Brisbane likelier than Antarctica/DumontDUrville
 #   Australia/Sydney likelier than Australia/Currie or Australia/Hobart
 #   Pacific/Auckland likelier than Antarctica/McMurdo
+# (^m^) 日本語を公用語として定めている地域を追加する (現在はパラオ共和国アンガウル州のみ)
 likely-timezone = Asia/Tokyo, Pacific/Palau
 # Guessed Timezone errors and warnings.
 # Testing note:
@@ -353,6 +354,7 @@ html-task-completed = { $task } (完了)
 # Categories
 add-category = カテゴリーを追加
 multiple-categories = 複数のカテゴリー
+no-categories = なし
 calendar-today = 今日
 calendar-tomorrow = 明日
 yesterday = 昨日
@@ -428,7 +430,7 @@ error-description = 詳細: { $errorDescription }
 error-writing2 = カレンダー { $name } への書き込み中にエラーが発生しました。詳細は以下をご覧ください。
 # LOCALIZATION NOTE (error-writing-details):
 # This will be displayed in the detail section of the error dialog
-error-writing-details = 予定の追加や編集を行わないカレンダーでアラームの再通知後または停止後にこのメッセージが表示された場合は、問題を避けるため、このカレンダーを読み込み専用にしてください。カレンダーリストまたは ToDo ビューでこのカレンダーを右クリックし、カレンダーの[プロパティ]から変更できます。
+error-writing-details = 予定の追加や編集を行わないカレンダーでアラームの再通知後または停止後にこのメッセージが表示された場合は、問題を避けるため、このカレンダーを読み込み専用にしてください。カレンダーリストまたは ToDo ビューでこのカレンダーを右クリックし、カレンダーの [プロパティ] から変更できます。
 # LOCALIZATION NOTE (tooltip-calendar-disabled):
 # used for an alert-message like 'The calendar Home is momentarily not available'
 #    $name will be replaced with the name of a calendar
@@ -440,6 +442,7 @@ tooltip-calendar-disabled =
 tooltip-calendar-read-only =
     .title = カレンダー { $name } は読み込み専用です
 task-edit-instructions = 新しい ToDo を追加
+# (^a^) Readonly だけでなく無効な場合にも表示される
 task-edit-instructions-readonly = このカレンダーには書き込めません
 task-edit-instructions-capability = このカレンダーでは ToDo を使用できません
 event-details-start-date = 開始日時:
diff --git a/thunderbird-l10n/ja/localization/ja/chat/irc.ftl b/thunderbird-l10n/ja/localization/ja/chat/irc.ftl
index b198afd109256d758b4436b91c2cb71bd56b0fdf..17cd59ae48dcdca2d35379ad6918a94b0906d895 100644
--- a/thunderbird-l10n/ja/localization/ja/chat/irc.ftl
+++ b/thunderbird-l10n/ja/localization/ja/chat/irc.ftl
@@ -16,6 +16,7 @@ connection-error-time-out = 接続がタイムアウトしました
 connection-error-invalid-username = ユーザー名 { $username } は許可されていません
 connection-error-invalid-password = サーバーパスワードが正しくありません
 connection-error-password-required = パスワードが必要です
+connection-error-invalid-user-password = パスワードが正しくありません
 # LOCALIZATION NOTE (join-chat-*):
 #   These show up on the join chat menu. An underscore is for the access key.
 join-chat-channel = チャンネル(_C)
@@ -34,7 +35,7 @@ options-alternate-nicks = 別のニックネーム
 # LOCALIZATION NOTE (ctcp-version):
 #   $username is the nickname of the user whose version was requested.
 #   $version is the version response from the client.
-ctcp-version = { $username } さんは "{ $version }" を使用しています。
+ctcp-version = { $username } さんは “{ $version }” を使用しています。
 # LOCALIZATION NOTE (ctcp-time):
 #   $username is the nickname of the user whose time was requested.
 #   $timeResponse is the time response.
@@ -211,7 +212,7 @@ error-send-message-failed = 最後のメッセージの送信中にエラーが
 error-channel-forward = { $name } チャンネルには参加せず、自動的に { $details } チャンネルへリダイレクトされました。
 #    $mode is the mode that the user tried to set but was not recognized
 #    by the server as a valid mode.
-error-unknown-mode = '{ $mode }' はこのサーバーで正しいユーザーモードではありません。
+error-unknown-mode = ‘{ $mode }’ はこのサーバーで正しいユーザーモードではありません。
 # LOCALIZATION NOTE (tooltip-*):
 #    These are the descriptions given in a tooltip with information received
 #    from a whois response.
diff --git a/thunderbird-l10n/ja/localization/ja/chat/matrix-properties.ftl b/thunderbird-l10n/ja/localization/ja/chat/matrix-properties.ftl
index 79e85c20ad9822663a8b6ef5b69ddc27a6f5c932..92b87d7231292c9bc3468d1c8a6ebe24294321f3 100644
--- a/thunderbird-l10n/ja/localization/ja/chat/matrix-properties.ftl
+++ b/thunderbird-l10n/ja/localization/ja/chat/matrix-properties.ftl
@@ -28,8 +28,8 @@ options-encryption-cross-signing = クロス署名: { $status }
 options-encryption-status-ok = OK
 options-encryption-status-not-ok = 準備中
 options-encryption-need-backup-passphrase = プロトコルオプションにバックアップ鍵のパスフレーズを入力してください。
-options-encryption-set-up-secret-storage = 秘密ストレージをセットアップするには、別のクライアントを使用した後、生成されたバックアップ鍵のパスフレーズを "一般" タブに入力してください。
-options-encryption-set-up-backup-and-cross-signing = 暗号化鍵のバックアップとクロス署名を有効にするには、バックアップ鍵のパスフレーズを "一般" タブに入力するか、以下のいずれかのセッション ID を検証してください。
+options-encryption-set-up-secret-storage = 秘密ストレージをセットアップするには、別のクライアントを使用した後、生成されたバックアップ鍵のパスフレーズを [一般] タブに入力してください。
+options-encryption-set-up-backup-and-cross-signing = 暗号化鍵のバックアップとクロス署名を有効にするには、バックアップ鍵のパスフレーズを [一般] タブに入力するか、以下のいずれかのセッション ID を検証してください。
 # $sessionId (String) is the session ID, $sessionDisplayName (String) is the session display name
 options-encryption-session = { $sessionId } ({ $sessionDisplayName })
 # LOCALIZATION NOTE (connection-*):
@@ -158,9 +158,9 @@ command-roomname = { $commandName } &lt;name&gt;: 部屋の名前を設定しま
 # $commandName is the command name
 command-detail = { $commandName }: 部屋の詳細情報を表示します。
 # $commandName is the command name
-command-addalias = { $commandName } &lt;alias&gt;: 部屋の別名を作成します。&lt;alias&gt; に '#localname:domain' の書式で指定してください。別名を追加する権限が必要です。
+command-addalias = { $commandName } &lt;alias&gt;: 部屋の別名を作成します。&lt;alias&gt; に ‘#localname:domain’ の書式で指定してください。別名を追加する権限が必要です。
 # $commandName is the command name
-command-removealias = { $commandName } &lt;alias&gt;: 部屋の別名を削除します。&lt;alias&gt; に '#localname:domain' の書式で指定してください。別名を削除する権限が必要です。
+command-removealias = { $commandName } &lt;alias&gt;: 部屋の別名を削除します。&lt;alias&gt; に ‘#localname:domain’ の書式で指定してください。別名を削除する権限が必要です。
 # $commandName is the command name
 command-upgraderoom = { $commandName } &lt;newVersion&gt;: 部屋を &lt;newVersion&gt; に指定したバージョンにアップグレードします。部屋をアップグレードする権限が必要です。
 # $commandName is the command name
@@ -283,4 +283,4 @@ message-action-cancel = メッセージをキャンセル
 # LOCALIZATION NOTE (error-*)
 #    These are strings shown as system messages when an action the user took fails.
 #    $message is the message.
-error-send-message-failed = メッセージの送信中にエラーが発生しました: "{ $message }"
+error-send-message-failed = メッセージの送信中にエラーが発生しました: “{ $message }”
diff --git a/thunderbird-l10n/ja/localization/ja/chat/xmpp.ftl b/thunderbird-l10n/ja/localization/ja/chat/xmpp.ftl
index dc27928bd97dc9ee98961f14bc3bfed56a137c3a..cb53888dd3fca7b53a193fdcf1f500e66bbf7ee3 100644
--- a/thunderbird-l10n/ja/localization/ja/chat/xmpp.ftl
+++ b/thunderbird-l10n/ja/localization/ja/chat/xmpp.ftl
@@ -230,12 +230,12 @@ conversation-message-muc-shutdown = システムシャットダウンのため
 #   $user (String): is the name of the user whose version was requested.
 #   $clientName (String): is the client name response from the client.
 #   $clientVersion (String): is the client version response from the client.
-conversation-message-version = { $user } さんは "{ $clientName } { $clientVersion }" を使用しています。
+conversation-message-version = { $user } さんは “{ $clientName } { $clientVersion }” を使用しています。
 #   $user (String): is the name of the user whose version was requested.
 #   $clientName (String): is the client name response from the client.
 #   $clientVersion (String): is the client version response from the client.
 #   $systemResponse (String): is the operating system(OS) response from the client.
-conversation-message-version-with-os = { $user } さんは { $systemResponse } で "{ $clientName } { $clientVersion }" を使用しています。
+conversation-message-version-with-os = { $user } さんは { $systemResponse } で “{ $clientName } { $clientVersion }” を使用しています。
 # LOCALIZATION NOTE (options-*):
 #   These are the protocol specific options shown in the account manager and
 #   account wizard windows.
diff --git a/thunderbird-l10n/ja/localization/ja/messenger/about3Pane.ftl b/thunderbird-l10n/ja/localization/ja/messenger/about3Pane.ftl
index 11e3a7cd870be0cad9a4a36a0eb3713aedb6ec1e..f6545b58897ed87482c4bf318b9e3e55767fa66d 100644
--- a/thunderbird-l10n/ja/localization/ja/messenger/about3Pane.ftl
+++ b/thunderbird-l10n/ja/localization/ja/messenger/about3Pane.ftl
@@ -110,6 +110,8 @@ quick-filter-bar-textbox =
     .placeholder = このフォルダーのメッセージを絞り込む <{ quick-filter-bar-textbox-shortcut }>
 quick-filter-bar-search =
     .label = メッセージの絞り込み:
+quick-filter-bar-search2 =
+    .label = メッセージの絞り込み
 # Keyboard shortcut for the text search box.
 # This should match quick-filter-bar-show in messenger.ftl.
 quick-filter-bar-search-shortcut =
@@ -489,3 +491,17 @@ threadpane-sort-header-count = メッセージ <span>{ $total }</span> 通
 apply-current-view-to-folder-with-children-message = 現在のフォルダーのビューを { $name } フォルダー全体 (サブフォルダーを含む) に適用しますか?
 threadpane-card-menu-button =
     .title = メッセージメニュー
+message-list-placeholder-no-messages = メッセージが見つかりませんでした
+message-list-placeholder-multiple-folders = 複数のフォルダーが選択されています
+
+## Folder pane context menu
+
+# Variables:
+# $count (Number) - Number of selected folders.
+folder-pane-context-mark-folder-read =
+    .label =
+        { $count ->
+            [one] フォルダーを既読にする
+           *[other] 選択したフォルダーを既読にする
+        }
+    .accesskey = k
diff --git a/thunderbird-l10n/ja/localization/ja/messenger/aboutImport.ftl b/thunderbird-l10n/ja/localization/ja/messenger/aboutImport.ftl
index cdaa083fea4a4a5210f21665ca453afbfdcbc12e..f86e306b687f7d87ff360ea24545c4cf34e75206 100644
--- a/thunderbird-l10n/ja/localization/ja/messenger/aboutImport.ftl
+++ b/thunderbird-l10n/ja/localization/ja/messenger/aboutImport.ftl
@@ -109,6 +109,9 @@ calendar-items-title = インポートする項目を選択してください。
 calendar-items-loading = 項目の読み込み中...
 calendar-items-filter-input =
     .placeholder = 項目の絞り込み...
+calendar-items-filter-input2 =
+    .label = 項目の絞り込み
+    .placeholder = 項目を絞り込み...
 calendar-select-all-items = すべて選択
 calendar-deselect-all-items = すべての選択を解除
 calendar-target-title = 選んだ項目のインポート先を選択してください
diff --git a/thunderbird-l10n/ja/localization/ja/messenger/accountManager.ftl b/thunderbird-l10n/ja/localization/ja/messenger/accountManager.ftl
index 5ddfcaef8a5d283bfbee3555eb2bb5b0df83f85b..c82166d3cfe7e4d1cfb95920bee1f122a6f54e42 100644
--- a/thunderbird-l10n/ja/localization/ja/messenger/accountManager.ftl
+++ b/thunderbird-l10n/ja/localization/ja/messenger/accountManager.ftl
@@ -12,3 +12,6 @@ edit-vcard-dialog-accept-button = 保存
     .accesskey = S
 edit-vcard-dialog-cancel-button = キャンセル
     .accesskey = C
+account-manager-server-default-icon =
+    .title = 既定のアカウント
+    .alt = スターアイコン
diff --git a/thunderbird-l10n/ja/localization/ja/messenger/accountSettings.ftl b/thunderbird-l10n/ja/localization/ja/messenger/accountSettings.ftl
index 6fbe8159b2db12df85a3ecca3b73921192c6e43f..2baa2564053f029f15f423d5b1631d95f10dd127 100644
--- a/thunderbird-l10n/ja/localization/ja/messenger/accountSettings.ftl
+++ b/thunderbird-l10n/ja/localization/ja/messenger/accountSettings.ftl
@@ -1,3 +1,8 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+account-settings-color-label = 色:
+    .accesskey = C
+account-settings-reset-color-button =
+    .title = 色をリセット
diff --git a/thunderbird-l10n/ja/localization/ja/messenger/addressbook/aboutAddressBook.ftl b/thunderbird-l10n/ja/localization/ja/messenger/addressbook/aboutAddressBook.ftl
index 6fc5a30c166a8b5a3b084b2fa67df23432865e2c..dcaddaa83ccd9061cc2331b389a9b044af07161b 100644
--- a/thunderbird-l10n/ja/localization/ja/messenger/addressbook/aboutAddressBook.ftl
+++ b/thunderbird-l10n/ja/localization/ja/messenger/addressbook/aboutAddressBook.ftl
@@ -18,6 +18,14 @@ about-addressbook-toolbar-new-list =
     .label = 新しいアドレスリスト
 about-addressbook-toolbar-import =
     .label = インポート
+books-pane-create-contact-button = 新しい連絡先
+    .title = 新しい連絡先を作成します
+books-pane-create-book-button =
+    .title = 新しいアドレス帳を作成します
+books-pane-create-list-button =
+    .title = 新しいアドレスリストを作成します
+books-pane-import-button = インポート
+    .title = アドレス帳をインポートします
 
 ## Books
 
@@ -66,6 +74,14 @@ about-addressbook-search =
     .placeholder = { $name } を検索
 about-addressbook-search-all =
     .placeholder = すべてのアドレス帳を検索
+# Variables:
+# $name (String) - Name of the address book that will be searched.
+about-addressbook-search2 =
+    .label = { $name } を検索
+    .placeholder = { $name } を検索...
+about-addressbook-search-all2 =
+    .label = すべてのアドレス帳を検索
+    .placeholder = すべてのアドレス帳を検索...
 about-addressbook-sort-button2 =
     .title = リスト表示のオプションです
 about-addressbook-name-format-display =
diff --git a/thunderbird-l10n/ja/localization/ja/messenger/certError.ftl b/thunderbird-l10n/ja/localization/ja/messenger/certError.ftl
index 6e07c49b8bc45a8e802cf86d45a920a6f35a8dc4..a54a494648766c78d77d7b96f30226b9f4a96824 100644
--- a/thunderbird-l10n/ja/localization/ja/messenger/certError.ftl
+++ b/thunderbird-l10n/ja/localization/ja/messenger/certError.ftl
@@ -4,7 +4,7 @@
 
 # Variables:
 #   $hostname (string) - Hostname of the server with certificate error.
-cert-error-domain-mismatch = このサーバーの { $hostname } の証明書が正しくありません。誰かがこのサーバーになりすまそうとしている可能性があるため、この先へ進んではいけません。
+cert-error-domain-mismatch = このサーバーの { $hostname } の証明書が正しくありません。誰かがこのサーバーになりすまそうとしている可能性があるため、この先へ進まないでください。
 # Variables:
 #   $hostname (string) - Hostname of the server with certificate error.
 #   $not-after (Date) - Certificate is not valid after this time.
diff --git a/thunderbird-l10n/ja/localization/ja/messenger/openpgp/changeExpiryDlg.ftl b/thunderbird-l10n/ja/localization/ja/messenger/openpgp/changeExpiryDlg.ftl
index 69e7d7f686353866b3dce149b9d094cb0c6bd879..7f78ccf13b207a351e83f66a88d341dfe92dce60 100644
--- a/thunderbird-l10n/ja/localization/ja/messenger/openpgp/changeExpiryDlg.ftl
+++ b/thunderbird-l10n/ja/localization/ja/messenger/openpgp/changeExpiryDlg.ftl
@@ -2,14 +2,25 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-openpgp-change-expiry-title = 鍵の有効期限を変更
+openpgp-change-expiry-title = 鍵の有効期限の変更
 # Variables:
 # $date (String) - Date the key is expiring on.
 info-will-expire = 現在この鍵は { $date } に有効期限が切れるよう設定されています。
 info-already-expired = この鍵は有効期限が切れています。
 info-does-not-expire = 現在この鍵は有効期限が無期限に設定されています。
 info-explanation-1 = <b>鍵の有効期限が切れると</b>、その鍵は暗号化やデジタル署名に使用できなくなります。
+# Do not translate: OpenPGP
+info-explanation-1-complex = この OpenPGP 鍵は主鍵と少なくとも 1 個の<b>有効期限が異なる</b>副鍵で構成されます。
+select-key-prompt = 変更する鍵:
 info-explanation-2 = この鍵をより長い期間使用するのであれば、有効期限を変更し、公開鍵を通信相手と再度共有してください。
+usage-label = 用途:
+algorithm-label = アルゴリズム:
+created-label = 作成日:
 expire-no-change-label = 有効期限を変更しない
 expire-in-time-label = 有効期限を次の期間までにする:
 expire-never-expire-label = 有効期限を無期限にする
+partial-label-expired = 有効期限切れ
+partial-label-never-expires = 無期限
+# Variables:
+# $date (String) - Date the key is expiring on.
+partial-label-expires = 有効期限日: { $date }
diff --git a/thunderbird-l10n/ja/localization/ja/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/ja/localization/ja/messenger/openpgp/openpgp.ftl
index 095166809f993e019b7db5646724f4b607851136..736e0394eb6142fbfa7eebdc02ed3cb4088b400e 100644
--- a/thunderbird-l10n/ja/localization/ja/messenger/openpgp/openpgp.ftl
+++ b/thunderbird-l10n/ja/localization/ja/messenger/openpgp/openpgp.ftl
@@ -297,7 +297,7 @@ openpgp-key-details-expiry-label =
     .label = 有効期限
 openpgp-key-details-expiry-header = 有効期限
 openpgp-key-details-usage-label =
-    .label = 利用法
+    .label = 用途
 openpgp-key-details-fingerprint-label = フィンガープリント
 openpgp-key-details-legend-secret-missing = (!) マークが付いた鍵は秘密鍵が利用できません。
 openpgp-key-details-sel-action =
diff --git a/thunderbird-l10n/ja/localization/ja/messenger/unifiedToolbar.ftl b/thunderbird-l10n/ja/localization/ja/messenger/unifiedToolbar.ftl
index 480d5a112dc8fa703ea9ad86271f604c97b16a3f..4704c72649a8bcdf78157fbf1a6ec6e6ab860619 100644
--- a/thunderbird-l10n/ja/localization/ja/messenger/unifiedToolbar.ftl
+++ b/thunderbird-l10n/ja/localization/ja/messenger/unifiedToolbar.ftl
@@ -12,6 +12,8 @@ search-bar-button =
     .alt = 検索
 search-bar-item =
     .label = 検索:
+search-bar-item2 =
+    .label = 検索
 search-bar-placeholder = 検索...
 # Search bar placeholder with formatted key shortcut hint (platform dependent).
 # The key after the control modifier should match the key from quickSearchCmd.key
@@ -58,6 +60,9 @@ customize-save = 保存
 customize-unsaved-changes = 他のスペースの未保存の変更
 customize-search-bar =
     .label = ツールバーボタンを検索...
+customize-search-bar2 =
+    .label = ツールバーボタンを検索
+    .placeholder = ツールバーボタンを検索...
 customize-spaces-tabs =
     .aria-label = スペース
 customize-main-toolbar-target =
diff --git a/thunderbird-l10n/ja/manifest.json b/thunderbird-l10n/ja/manifest.json
index ec1ebe59923a3e476167c730c1881b13cd5c430b..39b7718aa0d3c87062e0accb6129b80abf1fc991 100644
--- a/thunderbird-l10n/ja/manifest.json
+++ b/thunderbird-l10n/ja/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: 日本語 (Japanese)",
-  "description": "Thunderbird Beta Language Pack for 日本語 (ja) – Japanese",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for 日本語 (ja) – Japanese",
+  "version": "128.0.20240710.185639",
   "languages": {
     "ja": {
-      "version": "20240627141832",
+      "version": "20240710213300",
       "chrome_resources": {
         "alerts": "chrome/ja/locale/ja/alerts/",
         "autoconfig": "chrome/ja/locale/ja/autoconfig/",
diff --git a/thunderbird-l10n/ka/chrome/ka/locale/branding/brand.dtd b/thunderbird-l10n/ka/chrome/ka/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..2373a39ea857d3caf8ded996bf029c587ffba8b3 100644
--- a/thunderbird-l10n/ka/chrome/ka/locale/branding/brand.dtd
+++ b/thunderbird-l10n/ka/chrome/ka/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird and the Thunderbird logos
-                                 are trademarks of the Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird და Thunderbird ლოგოები
+                                 Mozilla ფონდის სავაჭრო ნიშნებია.">
diff --git a/thunderbird-l10n/ka/chrome/ka/locale/branding/brand.properties b/thunderbird-l10n/ka/chrome/ka/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/ka/chrome/ka/locale/branding/brand.properties
+++ b/thunderbird-l10n/ka/chrome/ka/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/ka/localization/ka/branding/brand.ftl b/thunderbird-l10n/ka/localization/ka/branding/brand.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..8c791fd67f034428d484369a1aa72e173e5c2249
--- /dev/null
+++ b/thunderbird-l10n/ka/localization/ka/branding/brand.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
+trademarkInfo = Mozilla Thunderbird და Thunderbird-ლოგოები სავაჭრო ნიშნებს წარმოადგენს, რომელთა მესაკუთრეა Mozilla Foundation.
diff --git a/thunderbird-l10n/ka/manifest.json b/thunderbird-l10n/ka/manifest.json
index b61d8d4825ebbae3177a7e700878e64407703dac..e835bdbcf7624771c788ab479790814599b9364b 100644
--- a/thunderbird-l10n/ka/manifest.json
+++ b/thunderbird-l10n/ka/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: ქართული (Georgian)",
-  "description": "Thunderbird Beta Language Pack for ქართული (ka) – Georgian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for ქართული (ka) – Georgian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "ka": {
-      "version": "20240627141915",
+      "version": "20240710213342",
       "chrome_resources": {
         "alerts": "chrome/ka/locale/ka/alerts/",
         "autoconfig": "chrome/ka/locale/ka/autoconfig/",
diff --git a/thunderbird-l10n/kab/chrome/kab/locale/branding/brand.dtd b/thunderbird-l10n/kab/chrome/kab/locale/branding/brand.dtd
index 6258efab064368b98dfa7e7b9a051df7304347ca..073cfeb530ff2db1a9dfe027431e3139f7fdd308 100644
--- a/thunderbird-l10n/kab/chrome/kab/locale/branding/brand.dtd
+++ b/thunderbird-l10n/kab/chrome/kab/locale/branding/brand.dtd
@@ -1,12 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Biṭa">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird d iluguten n Thunderbir d tticraḍ ittwasersen n Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird d iluguten n Thunderbir 
+                                 d tticraḍ ittwasersen n Tebeddit Mozilla.">
diff --git a/thunderbird-l10n/kab/chrome/kab/locale/branding/brand.properties b/thunderbird-l10n/kab/chrome/kab/locale/branding/brand.properties
index 5af305cae3a21536ec629fe15efbbea7a186b421..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/kab/chrome/kab/locale/branding/brand.properties
+++ b/thunderbird-l10n/kab/chrome/kab/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Biṭa
-brandShorterName=Thunderbird Biṭa
-brandFullName=Mozilla Thunderbird Biṭa
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/kab/chrome/kab/locale/kab/messenger/messenger.properties b/thunderbird-l10n/kab/chrome/kab/locale/kab/messenger/messenger.properties
index ecb830690c02bb7fd3221b1b7ac56b45c5f8e995..010f1be31e367a6896447746ca734a060bec4272 100644
--- a/thunderbird-l10n/kab/chrome/kab/locale/kab/messenger/messenger.properties
+++ b/thunderbird-l10n/kab/chrome/kab/locale/kab/messenger/messenger.properties
@@ -132,6 +132,7 @@ serverType-pop3=Aqeddac n tirawt POP
 serverType-imap=Aqeddac n tirawt IMAP
 serverType-none=Asekles n tirawt adigan
 
+
 sizeColumnTooltip2=Asmizzwer s teɣzi
 sizeColumnHeader=Tiddi
 linesColumnTooltip2=Asmizzwer s izirigen
@@ -152,10 +153,6 @@ documentLoading=Asali n yizen…
 # Place the word %2$S in your translation where the name of the comma separated accounts should appear.
 autosyncProgress=Amtawi n yeznan di %1$S si %2$S…
 
-unreadMsgStatus=Ur ittwaɣri ara :%S
-selectedMsgStatus=Ifren: %S
-totalMsgStatus=Asemday: %S
-
 # localized folder names
 
 localFolders=Ikaramen idiganen
@@ -382,6 +379,8 @@ attachmentsPrintHeader=Ticeqqufin yeddan:
 # Connection Error Messages
 # LOCALIZATION NOTE(unknownHostError): %S is the server name
 unknownHostError=Tuccḍa n tuqqna ɣer uqeddac %S.
+# LOCALIZATION NOTE(oAuth2Error): %S is the server name
+oAuth2Error=Asesteb ur yeddi ara di lawan n tuqna γer uqedac %S.
 # LOCALIZATION NOTE(connectionRefusedError): %S is the server name
 connectionRefusedError=Ur izmir ara ad yeqqen ɣer uqeddac %S; Tuqqna tettwagi.
 # LOCALIZATION NOTE(netTimeoutError): %S is the server name
@@ -414,12 +413,6 @@ newMailNotification_messagetitle=%1$S si %2$S
 # #1 is the name of the account, #2 is the number of new messages
 newMailAlert_message=#1 isεa #2 izen amaynut;#1 isεa #2 iznan imaynuten
 
-# For the Quota tab in the mail folder properties dialog
-quotaPercentUsed=%S%% iččuṛ
-# for quota in main window (commandglue.js)
-percent=%S%%
-quotaTooltip2=Amur IMAP: %S i yettwasqedcen seg %S amatu. Ttekki akken ad twaliḍ talɣut lqayen.
-
 # for message views
 confirmViewDeleteTitle=Sentem
 confirmViewDeleteMessage=Tebɣiḍ ad tekseḍ timeẓri-agi?
@@ -760,8 +753,5 @@ panel.back = Uɣal
 # EXAMPLE: Error - Inbox on bob@example.com
 folderErrorAlertTitle = Tuccḍa - %S
 
-
 outOfDiskSpaceGeneric=There is not enough disk space for the operation attempted. You may need to perform a disk cleanup on your system.
 serverType-ews=Microsoft Exchange Mail Server
-# LOCALIZATION NOTE(oAuth2Error): %S is the server name
-oAuth2Error=Authentication failure while connecting to server %S.
diff --git a/thunderbird-l10n/kab/localization/kab/branding/brand.ftl b/thunderbird-l10n/kab/localization/kab/branding/brand.ftl
index 99eb7d8e8fec9a28145455534c65d21b6026219b..52f2d38d598d2c16a3ffeea2137af0bee86428fe 100644
--- a/thunderbird-l10n/kab/localization/kab/branding/brand.ftl
+++ b/thunderbird-l10n/kab/localization/kab/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Biṭa
--brand-full-name = Mozilla Thunderbird Biṭa
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/kab/localization/kab/calendar/calendar-itip-identity-dialog.ftl b/thunderbird-l10n/kab/localization/kab/calendar/calendar-itip-identity-dialog.ftl
index cdf0da30e5080e68a0999b37f7649afc1488ab06..87cebda8ba8428d360642df735dde2c39cf95d45 100644
--- a/thunderbird-l10n/kab/localization/kab/calendar/calendar-itip-identity-dialog.ftl
+++ b/thunderbird-l10n/kab/localization/kab/calendar/calendar-itip-identity-dialog.ftl
@@ -4,5 +4,6 @@
 
 calendar-itip-identity-dialog-title = Aɣelluy n tmeɣra?
 calendar-itip-identity-warning = Mazal ulac-ik·ikem ɣef tebdart n yinebgawen.
+calendar-itip-identity-dialog-box-title = Inebgi yettwaḍerrfen
 calendar-itip-identity-label = Err am:
 calendar-itip-identity-label-none = Qqen tadyant-a ɣer:
diff --git a/thunderbird-l10n/kab/localization/kab/calendar/calendar-summary-dialog.ftl b/thunderbird-l10n/kab/localization/kab/calendar/calendar-summary-dialog.ftl
index 07c86b1af8f798eeef00e162c55fa217a4eadd46..ae795d3ce37731e25ba5247ef08a53782c256a93 100644
--- a/thunderbird-l10n/kab/localization/kab/calendar/calendar-summary-dialog.ftl
+++ b/thunderbird-l10n/kab/localization/kab/calendar/calendar-summary-dialog.ftl
@@ -13,3 +13,5 @@ edit-button-context-menu-this-occurrence =
 edit-button-context-menu-all-occurrences =
     .label = Ẓreg akk timeḍriwin
     .accesskey = a
+description-context-menu-copy-link-text =
+    .label = Nɣel aḍris n useɣwen
diff --git a/thunderbird-l10n/kab/localization/kab/calendar/calendar-today-pane.ftl b/thunderbird-l10n/kab/localization/kab/calendar/calendar-today-pane.ftl
index 4fc4c6702076f04c159bc21250245acf08abe9db..3dbc998d7f2fe39e2cadf109fc682f3090c9beb9 100644
--- a/thunderbird-l10n/kab/localization/kab/calendar/calendar-today-pane.ftl
+++ b/thunderbird-l10n/kab/localization/kab/calendar/calendar-today-pane.ftl
@@ -4,5 +4,7 @@
 
 calendar-today-pane-show-events-and-tasks =
     .tooltiptext = Sken tidyanin d tiwuriwin
+calendar-today-pane-show-tasks-only =
+    .tooltiptext = Sken timsekriyin
 calendar-today-pane-show-events-only =
     .tooltiptext = Sken tidyanin
diff --git a/thunderbird-l10n/kab/localization/kab/calendar/calendar.ftl b/thunderbird-l10n/kab/localization/kab/calendar/calendar.ftl
index 5d67e796c1b77606b2837b6a1db2b54a7bf3318b..73e016bc52c17931c25d5133da52ba75ec40e3d7 100644
--- a/thunderbird-l10n/kab/localization/kab/calendar/calendar.ftl
+++ b/thunderbird-l10n/kab/localization/kab/calendar/calendar.ftl
@@ -358,6 +358,7 @@ html-task-completed = { $task } (immed)
 # Categories
 add-category = Rnu taggayt
 multiple-categories = Deqs n taggayin
+no-categories = Ula yiwen
 calendar-today = Ass-a
 calendar-tomorrow = Azekka
 yesterday = Iḍelli
diff --git a/thunderbird-l10n/kab/localization/kab/chat/irc.ftl b/thunderbird-l10n/kab/localization/kab/chat/irc.ftl
index bfc76bf43c9c39a5607c6e53d74d08d4d5671f3f..167cb8d294950087da53a425fe17689844fa4eb0 100644
--- a/thunderbird-l10n/kab/localization/kab/chat/irc.ftl
+++ b/thunderbird-l10n/kab/localization/kab/chat/irc.ftl
@@ -16,6 +16,7 @@ connection-error-time-out = Akud n tuqqna yezri
 connection-error-invalid-username = { $username } mačči d isem ameɣtu
 connection-error-invalid-password = Awal uffir n uqeddac d arameɣtu
 connection-error-password-required = Awal uffir yesra
+connection-error-invalid-user-password = Awal n uεeddi d arameɣtu
 # LOCALIZATION NOTE (join-chat-*):
 #   These show up on the join chat menu. An underscore is for the access key.
 join-chat-channel = _Abadu
diff --git a/thunderbird-l10n/kab/localization/kab/messenger/about3Pane.ftl b/thunderbird-l10n/kab/localization/kab/messenger/about3Pane.ftl
index 4629b86f37f2f91f2ec8cb76485b62f0b288aa71..37aa1401281c3c40b2c31c3948c8b2efb4cc0476 100644
--- a/thunderbird-l10n/kab/localization/kab/messenger/about3Pane.ftl
+++ b/thunderbird-l10n/kab/localization/kab/messenger/about3Pane.ftl
@@ -197,6 +197,8 @@ threadpane-column-header-select-all =
     .title = Fren akk iznan
 threadpane-column-label-select =
     .label = Fren iznan
+threadpane-cell-select =
+    .aria-label = Fren izen
 threadpane-column-label-thread =
     .label = Akala afessas
 threadpane-column-header-flagged =
@@ -215,6 +217,8 @@ threadpane-cell-attachments =
 threadpane-attachments-cell-label = Ticeqqufin yeddan
 threadpane-column-label-spam =
     .label = Aspam
+threadpane-cell-spam =
+    .aria-label = Addad n uspam
 threadpane-spam-cell-label = Aspam
 threadpane-column-label-unread-button =
     .label = Addad n tɣuri
@@ -423,3 +427,6 @@ apply-current-columns-to-folder-message = Snes tigejdan ukaram amiran i { $name
 apply-current-columns-to-folder-with-children-message = Snes tigejdan ukaram amiran i { $name } d warraw-is?
 threadpane-card-menu-button =
     .title = Umuɣ n yiznan
+
+## Folder pane context menu
+
diff --git a/thunderbird-l10n/kab/localization/kab/messenger/accountSettings.ftl b/thunderbird-l10n/kab/localization/kab/messenger/accountSettings.ftl
index 6fbe8159b2db12df85a3ecca3b73921192c6e43f..c548b9630aec50fe19576ef2f7e0bfda9ae4861c 100644
--- a/thunderbird-l10n/kab/localization/kab/messenger/accountSettings.ftl
+++ b/thunderbird-l10n/kab/localization/kab/messenger/accountSettings.ftl
@@ -1,3 +1,8 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+account-settings-color-label = Ini:
+    .accesskey = { "" }
+account-settings-reset-color-button =
+    .title = Wennez ini
diff --git a/thunderbird-l10n/kab/localization/kab/messenger/preferences/application-manager.ftl b/thunderbird-l10n/kab/localization/kab/messenger/preferences/application-manager.ftl
index 502dd8910f688daebbddb6518e074ee8d05809ff..5ff5781a2c792e88c130ecce31230f68135d720c 100644
--- a/thunderbird-l10n/kab/localization/kab/messenger/preferences/application-manager.ftl
+++ b/thunderbird-l10n/kab/localization/kab/messenger/preferences/application-manager.ftl
@@ -2,6 +2,9 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+app-manager-window-dialog2 =
+    .title = Aglam leqqayen n usnas
+app-manager-dialog-title = Aglam leqqayen n usnas
 remove-app-button =
     .label = Kkes
     .accesskey = K
diff --git a/thunderbird-l10n/kab/manifest.json b/thunderbird-l10n/kab/manifest.json
index 84aebfae0b6ce07329cbf2303c9ddc9d0a1590d2..1b424e1e7db235e2504f7dafc9972101b5645309 100644
--- a/thunderbird-l10n/kab/manifest.json
+++ b/thunderbird-l10n/kab/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Taqbaylit (Kabyle)",
-  "description": "Thunderbird Beta Language Pack for Taqbaylit (kab) – Kabyle",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Taqbaylit (kab) – Kabyle",
+  "version": "128.0.20240710.185639",
   "languages": {
     "kab": {
-      "version": "20240627141958",
+      "version": "20240710213425",
       "chrome_resources": {
         "alerts": "chrome/kab/locale/kab/alerts/",
         "autoconfig": "chrome/kab/locale/kab/autoconfig/",
diff --git a/thunderbird-l10n/kk/chrome/kk/locale/branding/brand.dtd b/thunderbird-l10n/kk/chrome/kk/locale/branding/brand.dtd
index 22d1dd29495ba09f219ec093aedc6ace809988af..cc13c1073053f7b788e58967b66b798b4ad0150d 100644
--- a/thunderbird-l10n/kk/chrome/kk/locale/branding/brand.dtd
+++ b/thunderbird-l10n/kk/chrome/kk/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird және Thunderbird логотиптері Mozilla Foundation
-                                 ұйымының тіркелген сауда белгілері болып табылады.">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird және Thunderbird логотиптері 
+                                 Mozilla Foundation ұйымының тіркелген сауда белгілері.">
diff --git a/thunderbird-l10n/kk/chrome/kk/locale/branding/brand.properties b/thunderbird-l10n/kk/chrome/kk/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/kk/chrome/kk/locale/branding/brand.properties
+++ b/thunderbird-l10n/kk/chrome/kk/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/kk/chrome/kk/locale/kk/global/narrate.properties b/thunderbird-l10n/kk/chrome/kk/locale/kk/global/narrate.properties
index af1c4f4ce7dec3f07c9e0c289e849fd2d5bf76a8..7d27e0ba102084d131f0e4445736d1e6742b91f7 100644
--- a/thunderbird-l10n/kk/chrome/kk/locale/kk/global/narrate.properties
+++ b/thunderbird-l10n/kk/chrome/kk/locale/kk/global/narrate.properties
@@ -28,6 +28,8 @@ forward = Алға
 # %S is the keyboard shortcut for the skip forward command
 next-label = Алға (%S)
 speed = Жылдамдығы
+slow-speed-label = Дыбыстауды баяулату
+fast-speed-label = Дыбыстауды жылдамдату
 selectvoicelabel = Дауыс:
 select-voice-header = Дауыс
 # Default voice is determined by the language of the document.
diff --git a/thunderbird-l10n/kk/chrome/kk/locale/kk/necko/necko.properties b/thunderbird-l10n/kk/chrome/kk/locale/kk/necko/necko.properties
index b02852b0e0d13432c2d06da7894be80c360cc361..0db7f3b5fc5d09a58244d7c27c6e22befbdfe402 100644
--- a/thunderbird-l10n/kk/chrome/kk/locale/kk/necko/necko.properties
+++ b/thunderbird-l10n/kk/chrome/kk/locale/kk/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize="%1$S" cookie файлы жарамсыз, өйткені оны
 CookiePathOversize="%1$S" cookie файлы жарамсыз, өйткені оның орналасу жолы тым ұзын. Макс. шамасы %2$S Б.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager="%1$S" cookie файлы пайдаланушы баптауларына сәйкес тайдырылды.
+CookieRejectedEmptyNameAndValue=Атауы және мән бос болған cookie файлы қабылданбады.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName="%1$S" cookie файлы атында жарамсыз таңбалары болған соң тайдырылды.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness="%1$S" cookie файлы тайдырылды,
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure="%1$S" cookie файлы тайдырылады, өйткені оның "Partitioned" атрибуты бар, бірақ, "secure" атрибуты жоқ.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=«%1$S» cookie файлы үшін «%2$S» қасиет мәні қабылданбады, себебі оның өлшемі тым үлкен. Максималды өлшемі - %3$S байт.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning="%1$S" cookie файлы жақын арада қабылданбайды, өйткені ол бөтен және оның "Partitioned" атрибуты жоқ.
 
diff --git a/thunderbird-l10n/kk/localization/kk/branding/brand.ftl b/thunderbird-l10n/kk/localization/kk/branding/brand.ftl
index b0c29323d5343cdba7de2890e72c9be978d5c667..ef27f6116126bb9a1d839fba7129533b708ba18d 100644
--- a/thunderbird-l10n/kk/localization/kk/branding/brand.ftl
+++ b/thunderbird-l10n/kk/localization/kk/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/kk/localization/kk/devtools/client/tooltips.ftl b/thunderbird-l10n/kk/localization/kk/devtools/client/tooltips.ftl
index 294089bbbb42bce473a5872d02ea9976d451d8fe..f1afa0491db563bc3b13f69ca42db3769bb75768 100644
--- a/thunderbird-l10n/kk/localization/kk/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/kk/localization/kk/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Көбірек білу</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> бұл элементке әсер етпейді, өйткені ол flex немесе тор контейнері емес.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> бұл элементке әсер етпейді, өйткені ол flex, тор немесе көпбағандық контейнері емес.
 inactive-css-not-multicol-container = <strong>{ $property }</strong> бұл элементке әсер етпейді, өйткені ол көпбағанды контейнер емес.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</
 inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> қасиеті үшін ::placeholder псевдо-элементтерде қолдау жоқ.
 inactive-css-property-because-of-display = <strong>{ $property }</strong> бұл элементке әсер етпейді, өйткені оның display қасиеті <strong>{ $display }</strong> етіп берілген.
 inactive-css-not-display-block-on-floated = <strong>display</strong> қасиетінің мәні қозғалтқышпен <strong>block</strong> етіп өзгертілді, өйткені элемент <strong>қалқымалы</strong>.
+inactive-css-not-display-block-on-floated-2 = <strong>display</strong> қасиетінің мәні қозғалтқышпен <strong>{ $display }</strong> етіп өзгертілді, өйткені элемент <strong>қалқымалы</strong>.
 inactive-css-property-is-impossible-to-override-in-visited = <strong>{ $property }</strong> қасиетін <strong>:visited</strong> шектеуі салдарынан үстінен жазу мүмкін емес.
 inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> бұл элементке әсер етпейді, өйткені ол орны бекітілген элементі емес.
 inactive-css-only-replaced-elements = <strong>{ $property }</strong> бұл элементке әсер етпейді, өйткені ол тек ауыстырылған элементтер үшін іске асырылуы мүмкін.
diff --git a/thunderbird-l10n/kk/manifest.json b/thunderbird-l10n/kk/manifest.json
index 922bf1628a6658a8b6e0a2abd20127b039a79600..5716a77ba3f6bff02941910d4f94d55743607796 100644
--- a/thunderbird-l10n/kk/manifest.json
+++ b/thunderbird-l10n/kk/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: қазақ тілі (Kazakh)",
-  "description": "Thunderbird Beta Language Pack for қазақ тілі (kk) – Kazakh",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for қазақ тілі (kk) – Kazakh",
+  "version": "128.0.20240710.185639",
   "languages": {
     "kk": {
-      "version": "20240627142042",
+      "version": "20240710213508",
       "chrome_resources": {
         "alerts": "chrome/kk/locale/kk/alerts/",
         "autoconfig": "chrome/kk/locale/kk/autoconfig/",
diff --git a/thunderbird-l10n/ko/chrome/ko/locale/branding/brand.dtd b/thunderbird-l10n/ko/chrome/ko/locale/branding/brand.dtd
index 3b6c08ef5aee39728cd4398163fd6f2b2e105bec..01b1885e291c3ee16fec21811218f45201ab8b7f 100644
--- a/thunderbird-l10n/ko/chrome/ko/locale/branding/brand.dtd
+++ b/thunderbird-l10n/ko/chrome/ko/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
 <!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird와 Thunderbird 로고는
-                                 Mozilla Foundation의 등록 상표입니다.">
+                                 Mozilla Foundation의 등록상표 입니다.">
diff --git a/thunderbird-l10n/ko/chrome/ko/locale/branding/brand.properties b/thunderbird-l10n/ko/chrome/ko/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/ko/chrome/ko/locale/branding/brand.properties
+++ b/thunderbird-l10n/ko/chrome/ko/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/ko/localization/ko/branding/brand.ftl b/thunderbird-l10n/ko/localization/ko/branding/brand.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..52f2d38d598d2c16a3ffeea2137af0bee86428fe
--- /dev/null
+++ b/thunderbird-l10n/ko/localization/ko/branding/brand.ftl
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
diff --git a/thunderbird-l10n/ko/localization/ko/toolkit/about/aboutAddons.ftl b/thunderbird-l10n/ko/localization/ko/toolkit/about/aboutAddons.ftl
index 47bf5a0d6cc572e51a5100a2538e485518af0e59..faecba92431228c4cb6fc1c630e0c6abd38ffe24 100644
--- a/thunderbird-l10n/ko/localization/ko/toolkit/about/aboutAddons.ftl
+++ b/thunderbird-l10n/ko/localization/ko/toolkit/about/aboutAddons.ftl
@@ -137,9 +137,9 @@ addon-category-dictionary-title =
 addon-category-locale = 언어팩
 addon-category-locale-title =
     .title = 언어팩
-addon-category-available-updates = 업데이트 가능
+addon-category-available-updates = 업데이트 있음
 addon-category-available-updates-title =
-    .title = 업데이트 가능
+    .title = 업데이트 있음
 addon-category-recent-updates = 최근 업데이트
 addon-category-recent-updates-title =
     .title = 최근 업데이트
@@ -199,7 +199,7 @@ addon-updates-reset-updates-to-manual = 모든 부가 기능을 수동 업데이
 addon-updates-updating = 업데이트 확인 중…
 addon-updates-installed = 업데이트 완료
 addon-updates-none-found = 업데이트 없음
-addon-updates-manual-updates-found = 업데이트 가능 항목 보기
+addon-updates-manual-updates-found = 업데이트 있는 항목 보기
 
 ## Add-on install/debug strings for page options menu
 
@@ -413,7 +413,7 @@ addon-badge-verified2 =
 
 ##
 
-available-updates-heading = 업데이트 가능
+available-updates-heading = 업데이트 있음
 recent-updates-heading = 최근 업데이트
 release-notes-loading = 로드 중…
 release-notes-error = 죄송합니다. 출시 정보를 로드하는 중에 오류가 발생했습니다.
diff --git a/thunderbird-l10n/ko/manifest.json b/thunderbird-l10n/ko/manifest.json
index 8b74b95daec1c0aefeab566c788156026ddd5b0b..fda44df97e2043391419fc3e83dedb51948720eb 100644
--- a/thunderbird-l10n/ko/manifest.json
+++ b/thunderbird-l10n/ko/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: 한국어 (Korean)",
-  "description": "Thunderbird Beta Language Pack for 한국어 (ko) – Korean",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for 한국어 (ko) – Korean",
+  "version": "128.0.20240710.185639",
   "languages": {
     "ko": {
-      "version": "20240627142126",
+      "version": "20240710213551",
       "chrome_resources": {
         "alerts": "chrome/ko/locale/ko/alerts/",
         "autoconfig": "chrome/ko/locale/ko/autoconfig/",
diff --git a/thunderbird-l10n/lt/chrome/lt/locale/branding/brand.dtd b/thunderbird-l10n/lt/chrome/lt/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..45be83d45f04c0859a5e32978874b0fb16d3b20a 100644
--- a/thunderbird-l10n/lt/chrome/lt/locale/branding/brand.dtd
+++ b/thunderbird-l10n/lt/chrome/lt/locale/branding/brand.dtd
@@ -1,13 +1,12 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird and the Thunderbird logos
-                                 are trademarks of the Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Vardas „Mozilla Thunderbird“ ir „Thunderbird“ logotipai yra bendrijos „Mozilla Foundation“ prekės ženklai.">
diff --git a/thunderbird-l10n/lt/chrome/lt/locale/branding/brand.properties b/thunderbird-l10n/lt/chrome/lt/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/lt/chrome/lt/locale/branding/brand.properties
+++ b/thunderbird-l10n/lt/chrome/lt/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/lt/localization/lt/branding/brand.ftl b/thunderbird-l10n/lt/localization/lt/branding/brand.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..52f2d38d598d2c16a3ffeea2137af0bee86428fe
--- /dev/null
+++ b/thunderbird-l10n/lt/localization/lt/branding/brand.ftl
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
diff --git a/thunderbird-l10n/lt/manifest.json b/thunderbird-l10n/lt/manifest.json
index c051d20e1bdce911eb4e489b01ffe71f3bf37739..e6b406a27fdf35a7a39d1c1267540b8badf44013 100644
--- a/thunderbird-l10n/lt/manifest.json
+++ b/thunderbird-l10n/lt/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Lietuvių (Lithuanian)",
-  "description": "Thunderbird Beta Language Pack for Lietuvių (lt) – Lithuanian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Lietuvių (lt) – Lithuanian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "lt": {
-      "version": "20240627141411",
+      "version": "20240710213416",
       "chrome_resources": {
         "alerts": "chrome/lt/locale/lt/alerts/",
         "autoconfig": "chrome/lt/locale/lt/autoconfig/",
diff --git a/thunderbird-l10n/lv/chrome/lv/locale/branding/brand.dtd b/thunderbird-l10n/lv/chrome/lv/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..a0aec514fe45d7b25467e50d36b7e9447a294f5f 100644
--- a/thunderbird-l10n/lv/chrome/lv/locale/branding/brand.dtd
+++ b/thunderbird-l10n/lv/chrome/lv/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird and the Thunderbird logos
-                                 are trademarks of the Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird un Thunderbird logo
+                                 ir Mozilla Foundation preču zīme.">
diff --git a/thunderbird-l10n/lv/chrome/lv/locale/branding/brand.properties b/thunderbird-l10n/lv/chrome/lv/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/lv/chrome/lv/locale/branding/brand.properties
+++ b/thunderbird-l10n/lv/chrome/lv/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/lv/localization/lv/branding/brand.ftl b/thunderbird-l10n/lv/localization/lv/branding/brand.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..52f2d38d598d2c16a3ffeea2137af0bee86428fe
--- /dev/null
+++ b/thunderbird-l10n/lv/localization/lv/branding/brand.ftl
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
diff --git a/thunderbird-l10n/lv/manifest.json b/thunderbird-l10n/lv/manifest.json
index 5d0b33114e2208c4c806f8340a19ace1fe3dfb5e..ac4092b00ac7377d15e08367bb7fddc67483152f 100644
--- a/thunderbird-l10n/lv/manifest.json
+++ b/thunderbird-l10n/lv/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Latviešu (Latvian)",
-  "description": "Thunderbird Beta Language Pack for Latviešu (lv) – Latvian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Latviešu (lv) – Latvian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "lv": {
-      "version": "20240627141454",
+      "version": "20240710213500",
       "chrome_resources": {
         "alerts": "chrome/lv/locale/lv/alerts/",
         "autoconfig": "chrome/lv/locale/lv/autoconfig/",
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/branding/brand.dtd b/thunderbird-l10n/ms/chrome/ms/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..a491cb82cddf70154d0977cc502d19371e9dd198 100644
--- a/thunderbird-l10n/ms/chrome/ms/locale/branding/brand.dtd
+++ b/thunderbird-l10n/ms/chrome/ms/locale/branding/brand.dtd
@@ -1,13 +1,14 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
+<!ENTITY  vendorShortName       "Mozilla">
+<!ENTITY  trademarkInfo.part1   "Logo Mozilla Thunderbird dan Thunderbird
+                                 adalah cap dagangan Mozilla Foundation.">
+
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
-<!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird and the Thunderbird logos
-                                 are trademarks of the Mozilla Foundation.">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/branding/brand.properties b/thunderbird-l10n/ms/chrome/ms/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/ms/chrome/ms/locale/branding/brand.properties
+++ b/thunderbird-l10n/ms/chrome/ms/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/ms/localization/ms/branding/brand.ftl b/thunderbird-l10n/ms/localization/ms/branding/brand.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..eaeaf9d3e39b54e8dd24c8e9a85b6bbe6d485274
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/branding/brand.ftl
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-short-name = Thunderbird
+-vendor-short-name = Mozilla
diff --git a/thunderbird-l10n/ms/manifest.json b/thunderbird-l10n/ms/manifest.json
index fcc80f82ff3be2fd8fad7fc5979b7e669ca1b9ff..c9e40cf25d26e83d5233cbf0cbed9d25a4eda68a 100644
--- a/thunderbird-l10n/ms/manifest.json
+++ b/thunderbird-l10n/ms/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Melayu (Malay)",
-  "description": "Thunderbird Beta Language Pack for Melayu (ms) – Malay",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Melayu (ms) – Malay",
+  "version": "128.0.20240710.185639",
   "languages": {
     "ms": {
-      "version": "20240627141536",
+      "version": "20240710213543",
       "chrome_resources": {
         "alerts": "chrome/ms/locale/ms/alerts/",
         "autoconfig": "chrome/ms/locale/ms/autoconfig/",
diff --git a/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/branding/brand.dtd b/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/branding/brand.dtd
index bfdd32c2bc94858c18e8ef9c1c48ed02339b6c37..5c2610796af5de980fec3aeb81dd8b4160bd0309 100644
--- a/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/branding/brand.dtd
+++ b/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/branding/brand.properties b/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/branding/brand.properties
+++ b/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/nb-NO/necko/necko.properties b/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/nb-NO/necko/necko.properties
index aa0bf51a11ba692abfa3e610124cf7a6f02a1e1c..99c1fe5fd9bfcac6e37ed81cbbcbd209e50a9f74 100644
--- a/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/nb-NO/necko/necko.properties
+++ b/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/nb-NO/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=Infokapsel «%1$S» er ugyldig fordi størrelsen er for stor. Mak
 CookiePathOversize=Infokapsel «%1$S» er ugyldig fordi filstistørrelsen er for stor. Maks størrelse er %2$S B.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Infokapsel «%1$S» ble avvist på grunn av brukerenes innstilte tillatelser.
+CookieRejectedEmptyNameAndValue=Infokapsel med et tomt navn og en tom verdi har blitt avvist.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Infokapsel «%1$S» ble avvist på grunn av ugyldige tegn i navnet.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=Infokapsel «%1$S» ble avvist fordi sammenheng
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=Cookie “%1$S” has been rejected because it has the “Partitioned” attribute but is missing the “secure” attribute.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=The value of the attribute “%2$S” for the cookie “%1$S” has been rejected because its size is too big. Max size is %3$S B.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Cookie “%1$S” will soon be rejected because it is foreign and does not have the “Partitioned“ attribute.
 
diff --git a/thunderbird-l10n/nb-NO/localization/nb-NO/branding/brand.ftl b/thunderbird-l10n/nb-NO/localization/nb-NO/branding/brand.ftl
index 5f208b9052d90b1b71c505fbdf280242e70f5127..52f2d38d598d2c16a3ffeea2137af0bee86428fe 100644
--- a/thunderbird-l10n/nb-NO/localization/nb-NO/branding/brand.ftl
+++ b/thunderbird-l10n/nb-NO/localization/nb-NO/branding/brand.ftl
@@ -12,11 +12,10 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
 -vendor-short-name = Mozilla
-trademarkInfo = Mozilla Thunderbird og Thunderbird-logoer er varemarker som tilhører Mozilla.
diff --git a/thunderbird-l10n/nb-NO/localization/nb-NO/devtools/client/tooltips.ftl b/thunderbird-l10n/nb-NO/localization/nb-NO/devtools/client/tooltips.ftl
index f8d2eb748147c525d418a679dc893a687ee77a25..e5f644e3bfaeb2c136274eb4ec0a87b815bfbc95 100644
--- a/thunderbird-l10n/nb-NO/localization/nb-NO/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/nb-NO/localization/nb-NO/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Learn more</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> has no effect on this element since it’s neither a flex container nor a grid container.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> has no effect on this element since it’s not a flex container, a grid container, or a multi-column container.
 inactive-css-not-multicol-container = <strong>{ $property }</strong> has no effect on this element since it’s not a multi-column container.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</
 inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> is not supported on ::placeholder pseudo-elements.
 inactive-css-property-because-of-display = <strong>{ $property }</strong> has no effect on this element since it has a display of <strong>{ $display }</strong>.
 inactive-css-not-display-block-on-floated = The <strong>display</strong> value has been changed by the engine to <strong>block</strong> because the element is <strong>floated</strong>.
+inactive-css-not-display-block-on-floated-2 = The <strong>display</strong> value has been changed by the engine to <strong>{ $display }</strong> because the element is <strong>floated</strong>.
 inactive-css-property-is-impossible-to-override-in-visited = It’s impossible to override <strong>{ $property }</strong> due to <strong>:visited</strong> restriction.
 inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> has no effect on this element since it’s not a positioned element.
 inactive-css-only-replaced-elements = <strong>{ $property }</strong> has no effect on this element since it can only be applied to replaced elements.
diff --git a/thunderbird-l10n/nb-NO/manifest.json b/thunderbird-l10n/nb-NO/manifest.json
index d4a4fa3c795f4a3353f15c5b4c280da43bad2b39..9ab707e563c977a47fd656a2005bd15c2f1b3637 100644
--- a/thunderbird-l10n/nb-NO/manifest.json
+++ b/thunderbird-l10n/nb-NO/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Norsk Bokmål (Norwegian Bokmål)",
-  "description": "Thunderbird Beta Language Pack for Norsk Bokmål (nb-NO) – Norwegian Bokmål",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Norsk Bokmål (nb-NO) – Norwegian Bokmål",
+  "version": "128.0.20240710.185639",
   "languages": {
     "nb-NO": {
-      "version": "20240627141619",
+      "version": "20240710213626",
       "chrome_resources": {
         "alerts": "chrome/nb-NO/locale/nb-NO/alerts/",
         "autoconfig": "chrome/nb-NO/locale/nb-NO/autoconfig/",
diff --git a/thunderbird-l10n/nl/chrome/nl/locale/branding/brand.dtd b/thunderbird-l10n/nl/chrome/nl/locale/branding/brand.dtd
index aac0dd2ffb9b872de700da09d690a200fa258f73..bf8c329daec3130e7d1908981023cdb236ef8c94 100644
--- a/thunderbird-l10n/nl/chrome/nl/locale/branding/brand.dtd
+++ b/thunderbird-l10n/nl/chrome/nl/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/nl/chrome/nl/locale/branding/brand.properties b/thunderbird-l10n/nl/chrome/nl/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/nl/chrome/nl/locale/branding/brand.properties
+++ b/thunderbird-l10n/nl/chrome/nl/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/nl/chrome/nl/locale/nl/necko/necko.properties b/thunderbird-l10n/nl/chrome/nl/locale/nl/necko/necko.properties
index 1d684339d874a6c060cf6cd934d0acb59b8b80a4..f828d8b4f1a5dd7e132255ada82c9af1dde2e73c 100644
--- a/thunderbird-l10n/nl/chrome/nl/locale/nl/necko/necko.properties
+++ b/thunderbird-l10n/nl/chrome/nl/locale/nl/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=Cookie ‘%1$S’ is ongeldig omdat deze te groot is. Maximale gr
 CookiePathOversize=Cookie ‘%1$S’ is ongeldig omdat de padgrootte te groot is. Maximale grootte is %2$S B.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Cookie ‘%1$S’ is geweigerd door gebruiker ingestelde toestemmingen.
+CookieRejectedEmptyNameAndValue=Cookie met een lege naam en een lege waarde is geweigerd.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Cookie ‘%1$S’ is geweigerd vanwege ongeldige tekens in de naam.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=Cookie ‘%1$S’ is afgewezen, omdat deze zich
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=Cookie ‘%1$S’ is afgewezen omdat het het attribuut ‘Partitioned’ bevat, maar het attribuut ‘secure’ ontbreekt.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=De waarde van het attribuut ‘%2$S’ voor de cookie ‘%1$S’ is geweigerd omdat de grootte ervan te groot is. Maximale grootte is %3$S B.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Cookie ‘%1$S’ wordt binnenkort geweigerd, omdat dit extern is en het attribuut ‘Partitioned’ niet heeft.
 
diff --git a/thunderbird-l10n/nl/localization/nl/branding/brand.ftl b/thunderbird-l10n/nl/localization/nl/branding/brand.ftl
index bc0b75102871843cda1cf341bdc67de1b981f1c9..d7dda8a71e9a9ea0200d66561f5a338e8bef78dc 100644
--- a/thunderbird-l10n/nl/localization/nl/branding/brand.ftl
+++ b/thunderbird-l10n/nl/localization/nl/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/nl/localization/nl/devtools/client/tooltips.ftl b/thunderbird-l10n/nl/localization/nl/devtools/client/tooltips.ftl
index 9be9e3aed1d48891a4dc7f98130ff63b228f675f..4ec140ed07f8378d21db212fe0c4d4c6027c811d 100644
--- a/thunderbird-l10n/nl/localization/nl/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/nl/localization/nl/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Meer informatie</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> heeft geen effect op dit element aangezien het geen flexcontainer of gridcontainer is.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> heeft geen effect op dit element, omdat het geen flex-container, grid-container of een container met meerdere kolommen is.
 inactive-css-not-multicol-container = <strong>{ $property }</strong> heeft geen effect op dit element aangezien het geen container met meerdere kolommen is.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</
 inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> wordt niet ondersteund op ::placeholder-pseudo-elementen.
 inactive-css-property-because-of-display = <strong>{ $property }</ strong> heeft geen effect op dit element, omdat het een weergave van <strong>{ $display }</ strong> heeft.
 inactive-css-not-display-block-on-floated = De waarde <strong>display</strong> is door de engine in <strong>block</strong> gewijzigd omdat het element <strong>floated</strong> is.
+inactive-css-not-display-block-on-floated-2 = De waarde <strong>display</strong> is door de engine in <strong>{ $display }</strong> gewijzigd omdat het element <strong>floated</strong> is.
 inactive-css-property-is-impossible-to-override-in-visited = Het is onmogelijk om <strong>{ $property }</strong> te overschrijven vanwege de beperking <strong>:visited</strong>.
 inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> heeft geen effect op dit element aangezien het geen gepositioneerd element is.
 inactive-css-only-replaced-elements = <strong>{ $property }</strong> heeft geen effect op dit element, aangezien het alleen op vervangen elementen kan worden toegepast.
diff --git a/thunderbird-l10n/nl/manifest.json b/thunderbird-l10n/nl/manifest.json
index b45c855ba990c7ea48cb37916d3b614dd30cd1e9..a38bd58e7fa8d1889812f0605a3f6d745507d460 100644
--- a/thunderbird-l10n/nl/manifest.json
+++ b/thunderbird-l10n/nl/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Nederlands (Dutch)",
-  "description": "Thunderbird Beta Language Pack for Nederlands (nl) – Dutch",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Nederlands (nl) – Dutch",
+  "version": "128.0.20240710.185639",
   "languages": {
     "nl": {
-      "version": "20240627141703",
+      "version": "20240710213710",
       "chrome_resources": {
         "alerts": "chrome/nl/locale/nl/alerts/",
         "autoconfig": "chrome/nl/locale/nl/autoconfig/",
diff --git a/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/branding/brand.dtd b/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/branding/brand.dtd
index 2b3f92d8ed284df07da7ddc133c5186f7aa619cc..236df3639c42d84442f64693701edad001ffb521 100644
--- a/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/branding/brand.dtd
+++ b/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/branding/brand.properties b/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/branding/brand.properties
+++ b/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/nn-NO/global/narrate.properties b/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/nn-NO/global/narrate.properties
index cc2755626f58a7d10b171b460ce204586fd2113c..e61c064d3c77dcbb88196732f328706433a35065 100644
--- a/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/nn-NO/global/narrate.properties
+++ b/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/nn-NO/global/narrate.properties
@@ -12,6 +12,8 @@ back = Tilbake
 # "Listen, which allows users to listen to Firefox reading the text,
 # instead of having to read it themselves." This is the name
 # of the feature and it is the label for the popup button.
+# Header for the narrate menu
+read-aloud-header = Les høgt
 # %S is the keyboard shortcut for the listen command
 read-aloud-label = Les høgt (%S)
 # %S is the keyboard shortcut for the skip back command
@@ -26,7 +28,10 @@ forward = Fram
 # %S is the keyboard shortcut for the skip forward command
 next-label = Fram (%S)
 speed = Fart
+slow-speed-label = Set ned opplesingsfarta
+fast-speed-label = Set opp opplesingsfarta
 selectvoicelabel = Røyst:
+select-voice-header = Røyst
 # Default voice is determined by the language of the document.
 defaultvoice = Standard
 
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/branding/brand.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/branding/brand.ftl
index c5f09443f64b19a0f7dc78c9eef10a15bda279a9..33a74e9b59cdf0bd87c7b73119c66b4322e00da7 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/branding/brand.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/calendar/calendar-itip-identity-dialog.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/calendar/calendar-itip-identity-dialog.ftl
index ddda94b8e639c0936d1038808f42d55a81d20200..cae3b9c361eeb04f30be123bd41979bbc01d9afc 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/calendar/calendar-itip-identity-dialog.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/calendar/calendar-itip-identity-dialog.ftl
@@ -5,5 +5,6 @@
 calendar-itip-identity-dialog-title = Ikkje innbydd?
 calendar-itip-identity-warning = Du er ikkje med på gjestelista enno.
 calendar-itip-identity-dialog-box-title = Ubedd gjest
+calendar-itip-identity-warning-body = E-postadressa som er kopla til kalendern du importerer denne inbydinga til, finst ikkje med på gjestelista.
 calendar-itip-identity-label = Svar som:
 calendar-itip-identity-label-none = Knyt denne hendinga til:
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/chat/matrix-properties.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/chat/matrix-properties.ftl
index 8d86240f7d73d7a19cf59d03fd630a8bb2fb3369..be22640e375e15b48b7dd6ebdcc13296464bc1ba 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/chat/matrix-properties.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/chat/matrix-properties.ftl
@@ -44,6 +44,7 @@ connection-request-access = Fullfører godkjenning
 connection-error-no-supported-flow = Sørvaren tilbyr ingen kompatibel innloggingsflyt.
 connection-error-auth-cancelled = Du avbraut godkjenningsprosessen.
 connection-error-session-ended = Økta vart logga ut.
+connection-error-server-not-found = Klarte ikkje å identifiere Matrix-sørvaren for den spesifiserte Matrix-kontoen.
 # LOCALIZATION NOTE (chat-room-field-*):
 #   These are the name of fields displayed in the 'Join Chat' dialog
 #   for Matrix accounts.
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/crashreporter/crashreporter.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/crashreporter/crashreporter.ftl
index c92f9b8484ea5bdf410a72b0d0640ef36f32befc..b51fcaa525c420c25763fb5bbac35175697494fc 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/crashreporter/crashreporter.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/crashreporter/crashreporter.ftl
@@ -5,7 +5,7 @@
 crashreporter-branded-title = { -brand-short-name } Krasjrapportering
 crashreporter-apology = Vi beklagar
 crashreporter-crashed-and-restore = { -brand-short-name } hadde eit problem og krasja. { -brand-short-name } vil prøve å gjenopprette fanene og vindauga dine når programmet startar på nytt.
-crashreporter-plea = For å hjelpa oss å stilla diagnose og å ordna problemet, kan du senda oss ein krasjrapport.
+crashreporter-plea = For å hjelpe oss å stille diagnose og å ordne problemet, kan du sende oss ein krasjrapport.
 crashreporter-information = Dette programmet køyrer etter at eit programkrasj oppstår for å rapportere problemet til { -vendor-short-name }.  Det bør ikkje køyrast direkte.
 crashreporter-error = Eit uventa problem har oppstått og { -brand-short-name } krasja. Desverre er krasjrapportering ikkje i stand til å sende rapporten om krasjet.
 # $details (String) - the reason that a crash report cannot be submitted
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/devtools/client/tooltips.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/devtools/client/tooltips.ftl
index f8d2eb748147c525d418a679dc893a687ee77a25..e5f644e3bfaeb2c136274eb4ec0a87b815bfbc95 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Learn more</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> has no effect on this element since it’s neither a flex container nor a grid container.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> has no effect on this element since it’s not a flex container, a grid container, or a multi-column container.
 inactive-css-not-multicol-container = <strong>{ $property }</strong> has no effect on this element since it’s not a multi-column container.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</
 inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> is not supported on ::placeholder pseudo-elements.
 inactive-css-property-because-of-display = <strong>{ $property }</strong> has no effect on this element since it has a display of <strong>{ $display }</strong>.
 inactive-css-not-display-block-on-floated = The <strong>display</strong> value has been changed by the engine to <strong>block</strong> because the element is <strong>floated</strong>.
+inactive-css-not-display-block-on-floated-2 = The <strong>display</strong> value has been changed by the engine to <strong>{ $display }</strong> because the element is <strong>floated</strong>.
 inactive-css-property-is-impossible-to-override-in-visited = It’s impossible to override <strong>{ $property }</strong> due to <strong>:visited</strong> restriction.
 inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> has no effect on this element since it’s not a positioned element.
 inactive-css-only-replaced-elements = <strong>{ $property }</strong> has no effect on this element since it can only be applied to replaced elements.
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/about3Pane.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/about3Pane.ftl
index 8f4864b9bbfb7d5a6f7990163d1f9d6c475aacc7..ba6418da711d820af2ad1ef9782258f9cf541fe3 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/about3Pane.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/about3Pane.ftl
@@ -231,6 +231,8 @@ threadpane-column-header-spam =
     .title = Sorter etter søppelpoststatus
 threadpane-column-label-spam =
     .label = Spam
+threadpane-cell-spam =
+    .aria-label = Spamstatus
 threadpane-spam-cell-label = Spam
 threadpane-column-header-unread-button =
     .title = Sorter etter lesen-status
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/aboutSupportMail.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/aboutSupportMail.ftl
index 211df54908e7065427de708f787ab02d36686c10..fff7831062a6475faba287496304f8bd6211adab 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/aboutSupportMail.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/aboutSupportMail.ftl
@@ -29,3 +29,4 @@ libs-rnp-status-load-failed = Klarte ikkje å laste inn. OpenPGP vil ikkje funge
 libs-rnp-status-incompatible = Inkompatibel versjon. OpenPGP vil ikkje fungere.
 libs-rnp-status-unofficial = Uoffisiell versjon. OpenPGP vil kanskje ikkje fungere som forventa.
 libs-otr-status-ok = OK
+libs-otr-status-error = Klarte ikkje å laste inn. OTR-chattekryptering vil ikkje fungere.
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/appmenu.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/appmenu.ftl
index 390d13640506204602cb998b17ed621f6367de9b..7097f14d60c294f7d51450965e055a745b2dd900 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/appmenu.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/appmenu.ftl
@@ -171,6 +171,9 @@ appmenu-help-get-help =
 appmenu-help-explore-features =
     .label = Utforsk funksjonar
     .accesskey = U
+appmenu-help-get-release-help =
+    .label = Få hjelp med { -brand-short-name }
+    .accesskey = F
 appmenu-help-shortcuts =
     .label = Tastatursnarvegar
     .accesskey = T
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/importDialog.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/importDialog.ftl
index f92f99456ba0a40600cc9cf1e7691b84d826fee7..22231f2d92a8e576ccbf1602e0948329b4565d23 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/importDialog.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/importDialog.ftl
@@ -4,3 +4,18 @@
 
 # Short name of the import module
 thunderbird-import-name = Thunderbird
+# Description of the import module
+thunderbird-import-description = Importer e-post frå ei Thunderbird-profilmappe.
+import-from-thunderbird-zip =
+    .label = Thunderbird (eksportert profilbackup; zip-fil mindre enn 2 GB)
+    .accesskey = T
+import-from-thunderbird-dir =
+    .label = Thunderbird (profilmappe)
+    .accesskey = T
+import-select-profile-zip = Vel ei zippa profilmappe
+import-select-profile-dir = Vel ei profilmappe
+zip-file-too-big-title = Zip-fila er for stor
+zip-file-too-big-message = Den valde zip-fila er større enn 2GB. Pakk henne ut først, importer så frå den utpakka fila i staden.
+wizardpage-failed =
+    .label = Mislykka import
+wizardpage-failed-message = Uventa mislykka import, meir informasjon kan vere tilgjengeleg i feilkonsollen.
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/mailWidgets.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/mailWidgets.ftl
index 093e4ea0ed8889d81d44021927d66776d34d6b4d..2529f4fdbc078d3cf2e0e698e742e68479bf1a95 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/mailWidgets.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/mailWidgets.ftl
@@ -8,3 +8,6 @@ threadpane-apply-changes-prompt-title = Bruke endringane no?
 # Variables:
 #  $name (String): The name of the folder to apply to.
 threadpane-apply-changes-prompt-no-children-text = Bruk gjeldande mappevising på { $name }?
+# Variables:
+#  $name (String): The name of the folder to apply to.
+threadpane-apply-changes-prompt-with-children-text = Bruke gjeldande mappe på { $name } og underliggande mapper?
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/messenger.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/messenger.ftl
index 87acfe9c1f93b05b9be1493fc5a901ead22123a9..05b32b53cbe809f6698437fdb2275f19972e8366 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/messenger.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/messenger.ftl
@@ -153,9 +153,42 @@ appmenu-addons-and-themes =
 
 ## Context menu
 
+context-menu-mark-reply =
+    .aria-label = Svar
+    .tooltiptext = Svar
+context-menu-archive =
+    .aria-label = Arkiver
+    .tooltiptext = Arkiver
+context-menu-mark-junk =
+    .aria-label = Merk som søppel
+    .tooltiptext = Merk som søppel
+mail-context-menu-open =
+    .label = Opne
+    .accesskey = O
+mail-context-menu-reply =
+    .label = Svar
+    .accesskey = S
+mail-context-menu-forward-redirect =
+    .label = Vidaresend og omdiriger
+    .accesskey = V
 mail-context-menu-forward-forward =
     .label = Vidaresend
     .accesskey = V
+mail-context-menu-forward-inline =
+    .label = Innebygd
+    .accesskey = I
+# Variables:
+# $count (Number) - Number of selected messages.
+mail-context-menu-forward-as-attachment =
+    .label =
+        { $count ->
+            [one] Som vedlegg
+           *[other] Som vedlegg
+        }
+    .accesskey = S
+mail-context-menu-organize =
+    .label = Organiser
+    .accesskey = O
 mail-context-menu-threads =
     .label = Trådar
     .accesskey = T
@@ -166,12 +199,41 @@ context-menu-cancel-msg =
     .label = Avbryt melding
 # Variables:
 # $count (Number) - Number of selected messages.
+mail-context-delete-messages =
+    .label =
+        { $count ->
+            [one] Slett melding
+           *[other] Slett valde meldingar
+        }
+# Variables:
+# $count (Number) - Number of selected messages.
 mail-context-undelete-messages =
     .label =
         { $count ->
             [one] Angre sletting av melding
            *[other] Angre valde meldingar
         }
+# Variables:
+# $count (Number) - Number of selected messages.
+mail-context-messages-delete =
+    .label =
+        { $count ->
+            [one] Slett melding
+           *[other] Slett valde meldingar
+        }
+    .tooltiptext = { mail-context-messages-delete.label }
+# Variables:
+# $count (Number) - Number of selected messages.
+mail-context-messages-undelete =
+    .label =
+        { $count ->
+            [one] Angre sletting av melding
+           *[other] Angre sletting av valde meldingar
+        }
+    .tooltiptext = { mail-context-messages-undelete.label }
+context-menu-decrypt-to-folder2 =
+    .label = Lag dekryptert kopi i
+    .accesskey = a
 
 ## Message header pane
 
@@ -180,6 +242,10 @@ other-action-redirect-msg =
 message-header-msg-flagged =
     .title = Med stjerne
     .aria-label = Med stjerne
+# Variables:
+# $address (String) - The email address of the recipient this picture belongs to.
+message-header-recipient-avatar =
+    .alt = Profilbilde for { $address }.
 
 ## Message header cutomize panel
 
@@ -196,6 +262,9 @@ message-header-button-style-text =
     .label = Tekst
 message-header-button-style-icons =
     .label = Ikon
+message-header-show-sender-full-address =
+    .label = Vis alltid fullstendig adresse til avsendar
+    .accesskey = V
 message-header-show-big-avatar =
     .label = Større profilbilde
     .accesskey = S
@@ -244,6 +313,8 @@ spaces-toolbar-button-settings2 =
     .title = Innstillingar
 spaces-context-new-tab-item =
     .label = Opne i ny fane
+spaces-context-new-window-item =
+    .label = Opne i nytt vindauge
 # Variables:
 # $tabName (String) - The name of the tab this item will switch to.
 spaces-context-switch-tab-item =
@@ -285,6 +356,7 @@ chat-button-unread-messages = { $count }
 menuitem-customize-label =
     .label = Tilpass…
 spaces-customize-background-color = Bakgrunnsfarge
+spaces-customize-icon-color = Knappefarge
 customize-panel-button-save = Ferdig
     .accesskey = F
 
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/changeExpiryDlg.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/changeExpiryDlg.ftl
index f61117eeaf180c27daa1723c16b5d369b8c22492..e127794e445883d0cbb292dcd1bae2fb4e8d37e2 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/changeExpiryDlg.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/changeExpiryDlg.ftl
@@ -9,8 +9,12 @@ info-will-expire = Denne nøkkelen er konfigurert til å gå ut den { $date }.
 info-already-expired = Denne nøkkelen har allereie gått ut.
 info-does-not-expire = Denne nøkkelen er for tida konfigurert til aldri å gå ut.
 info-explanation-1 = <b>Når ein nøkkel sluttar å gjelde</b> er det ikkje lenger råd å bruke han for kryptering eller digital signering.
+# Do not translate: OpenPGP
+info-explanation-1-complex = Denne OpenPGP-nøkkelen består av ein primærnøkkel og minst ein undernøkkel <b>med ulike utløpsdatoar</b>.
+select-key-prompt = Nøkkel som skal endrast:
 info-explanation-2 = Om du vil bruke denne nøkkelen over lenger tid, endrar du datoen for når han går ut, og deler så den offentlege nøkkelen med samtalepartnarane dine igjen.
 usage-label = Bruk:
+algorithm-label = Algoritme:
 created-label = Oppretta:
 expire-no-change-label = Ikkje endre går ut-dato
 expire-in-time-label = Nøkkelen går ut om:
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/keyAssistant.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/keyAssistant.ftl
index a12a8cc707ea98b916628dfb369eb1b2991dd683..97cab2db52a8a1ee50d0ab44c4a56dc26cebad01 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/keyAssistant.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/keyAssistant.ftl
@@ -16,6 +16,7 @@ openpgp-key-assistant-key-source =
         [one] Kjelder
        *[other] Kjelder
     }
+openpgp-key-assistant-key-collected-attachment = e-postvedlegg
 openpgp-key-assistant-key-collected-keyserver = nøkkelsørvar
 
 ## Discovery section
@@ -23,6 +24,7 @@ openpgp-key-assistant-key-collected-keyserver = nøkkelsørvar
 
 ## Dialog buttons
 
+openpgp-key-assistant-issue-resolve-button = Løys…
 openpgp-key-assistant-view-key-button = Vis nøkkel…
 openpgp-key-assistant-recipients-show-button = Vis
 openpgp-key-assistant-recipients-hide-button = Gøym
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/openpgp-frontend.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/openpgp-frontend.ftl
index 99a28fba97af6b7c8340942e589b386284032461..75ce5326b914810b8b77266b6b8c329df3418146 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/openpgp-frontend.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/openpgp-frontend.ftl
@@ -36,6 +36,7 @@ openpgp-broken-exchange-repair =
 openpgp-broken-exchange-wait = Vent litt…
 openpgp-has-nested-encrypted-parts = Denne meldinga inneheld ytterlegare krypterte delar.
 openpgp-show-encrypted-parts = Dekrypter og vis
+openpgp-show-signed-parts = Opne og vis
 openpgp-cannot-decrypt-because-mdc =
     Dette er ei kryptert melding som brukar ein gammel og sårbar mekanisme.
     Han kan ha blitt endra under transport, med eit føremål om å stele innhaldet.
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/openpgp.ftl
index c367d9c8edd7538f359d58c6204018c0ddfb7afa..d691fbe0c700ad45b35720d69125af20ec5e2e23 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/openpgp.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/openpgp.ftl
@@ -4,6 +4,18 @@
 
 e2e-intro-description = For å sende krypterte eller digitalt signerte meldingar, må du konfigurere ein krypteringsteknologi, anten OpenPGP eller S/MIME.
 e2e-intro-description-more = Vel den personlege nøkkelen din for å slå på OpenPGP, eller det personlege sertifikatet ditt for å slå på S/MIME. For ein personlig nøkkel eller eit sertifikat eig du den tilsvarande hemmelege nøkkelen.
+# A title for a dialog. Do not translate "CSR".
+e2e-csr-title = Generer CSR
+# A label for a button that proceeds to the next step
+e2e-csr-continue = Hald fram
+# A label for a button that goes back one step
+e2e-csr-back = Tilbake
+# Do not translate: CSR
+e2e-csr-button =
+    .label = Generer og lagre ei CSR-fil som…
+e2e-sign-message =
+    .label = Signer ukrypterte meldingar
+    .accesskey = u
 e2e-advanced-section = Avanserte innstillingar
 e2e-encrypt-drafts =
     .label = Lagre utkast til meldingar i kryptert format
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/preferences/receipts.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/preferences/receipts.ftl
index aed323f7f08331a47c275a39ebb9bd60a6eb2eb3..ebe0331364efe05e3eeb0a362cf20a388e2c14b2 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/preferences/receipts.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/preferences/receipts.ftl
@@ -5,14 +5,35 @@
 receipts-dialog-window =
     .title = Kvitteringar
 receipts-dialog-title = Kvitteringar
+return-receipt-checkbox-control =
+    .label = Be alltid om kvittering frå mottakar ved sending av e-post
+    .accesskey = B
 receipt-arrive-label = Når du får ei kvittering:
+receipt-leave-radio-control =
+    .label = Lat ho liggje i innboksen
+    .accesskey = L
 receipt-move-radio-control =
     .label = Flytt ho til «Sendt»-mappa
     .accesskey = F
 receipt-request-label = Når eg mottek førespurnad for kvittering:
+receipt-return-never-radio-control =
+    .label = Aldri send kvitteringar
+    .accesskey = A
+receipt-return-some-radio-control =
+    .label = Tillat kvitteringar for nokre meldingar
+    .accesskey = T
+receipt-not-to-cc-label =
+    .value = Om eg ikkje er i Til- eller Kopi-feltet:
+    .accesskey = O
 receipt-send-never-label =
     .label = Aldri send
 receipt-send-always-label =
     .label = Alltid send
 receipt-send-ask-label =
     .label = Spør meg
+sender-outside-domain-label =
+    .value = Om sendaren er utanfor domenet mitt:
+    .accesskey = O
+other-cases-text-label =
+    .value = I alle andre høve:
+    .accesskey = a
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/syncAccounts.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/syncAccounts.ftl
index b6bdc109695f9781e067a56b92b51ddf0f8cbb20..6c7f8f6799145005ddf6458e22e7b849f88d3f98 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/syncAccounts.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/syncAccounts.ftl
@@ -9,6 +9,9 @@
 ## These strings are shown in a desktop notification after the user requests we resend a verification email.
 
 sync-verification-sent-title = Stadfesting sendt
+# Variables:
+# $userEmail (String) - Email address of the account used for sync.
+sync-verification-sent-body = Ei stadfestingslenke er sendt til { $userEmail }.
 sync-verification-not-sent-title = Klarte ikkje å sende stadfesting
 sync-verification-not-sent-body = Vi klarte ikkje å sende ei stadfesting på e-post no, prøv på nytt seinare.
 
@@ -21,4 +24,5 @@ sync-signout-dialog-button = Logg ut
 ## These strings are shown in a confirmation dialog when the user chooses to stop syncing.
 
 sync-disconnect-dialog-title = Kople frå?
+sync-disconnect-dialog-body = { -brand-product-name } vil slutte å synkronisere, men slettar ingen data på denne eininga.
 sync-disconnect-dialog-button = Kople frå
diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/treeView.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/treeView.ftl
index c2b0601afad13acbb9220c358d2e5675200b2471..0c7e3b0d433e283ef1ed65317af8faa14bf878f0 100644
--- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/treeView.ftl
+++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/treeView.ftl
@@ -8,3 +8,9 @@
 tree-list-view-column-picker =
     .title = Vel kolonner du vil vise
 tree-list-view-row-watched-thread = Tråden vert overvaka
+tree-list-view-row-spam =
+    .alt = Spamstatus-ikon
+    .title = Meldingar merkte som spam
+tree-list-view-row-not-spam =
+    .alt = Spamstatus-ikon
+    .title = Meldingar ikkje merkte som spam
diff --git a/thunderbird-l10n/nn-NO/manifest.json b/thunderbird-l10n/nn-NO/manifest.json
index 77f6b8e2caae6f72b0e395c4da6f2f8b29d4efe6..faf1368890db7f66bf9ee503d67cf382b8a6884c 100644
--- a/thunderbird-l10n/nn-NO/manifest.json
+++ b/thunderbird-l10n/nn-NO/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Nynorsk (Norwegian Nynorsk)",
-  "description": "Thunderbird Beta Language Pack for Nynorsk (nn-NO) – Norwegian Nynorsk",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Nynorsk (nn-NO) – Norwegian Nynorsk",
+  "version": "128.0.20240710.185639",
   "languages": {
     "nn-NO": {
-      "version": "20240627141649",
+      "version": "20240710213319",
       "chrome_resources": {
         "alerts": "chrome/nn-NO/locale/nn-NO/alerts/",
         "autoconfig": "chrome/nn-NO/locale/nn-NO/autoconfig/",
diff --git a/thunderbird-l10n/pa-IN/chrome/pa-IN/locale/branding/brand.dtd b/thunderbird-l10n/pa-IN/chrome/pa-IN/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..0ed7d848571989fcdbfb37373f861237a4b9eab3 100644
--- a/thunderbird-l10n/pa-IN/chrome/pa-IN/locale/branding/brand.dtd
+++ b/thunderbird-l10n/pa-IN/chrome/pa-IN/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/pa-IN/chrome/pa-IN/locale/branding/brand.properties b/thunderbird-l10n/pa-IN/chrome/pa-IN/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/pa-IN/chrome/pa-IN/locale/branding/brand.properties
+++ b/thunderbird-l10n/pa-IN/chrome/pa-IN/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/pa-IN/localization/pa-IN/toolkit/intl/languageNames.ftl b/thunderbird-l10n/pa-IN/localization/pa-IN/toolkit/intl/languageNames.ftl
index 30084b8383c39e45b5dbb84e5e85a0b0cb3e9a04..1b32230913d4abee52b4cc92e2e0d259afd287fe 100644
--- a/thunderbird-l10n/pa-IN/localization/pa-IN/toolkit/intl/languageNames.ftl
+++ b/thunderbird-l10n/pa-IN/localization/pa-IN/toolkit/intl/languageNames.ftl
@@ -166,6 +166,7 @@ language-name-se = ਉੱਤਰੀ ਸਾਂਮੀ
 language-name-sg = ਸਾਂਗਰੋ
 language-name-si = ਸਿੰਹਾਲਾ
 language-name-sk = ਸਲੋਵਾਕ
+language-name-skr = ਸਰਾਇਕੀ
 language-name-sl = ਸਲੋਵੀਅਨ
 language-name-sm = ਸਾਮੋਨਾ
 language-name-sn = ਸੋਨਾ
diff --git a/thunderbird-l10n/pa-IN/manifest.json b/thunderbird-l10n/pa-IN/manifest.json
index 15cd15dfc6f8be55b77e7528090d871714719e3f..63cec16bf5464eb57c75d397d9a4e530252f59f2 100644
--- a/thunderbird-l10n/pa-IN/manifest.json
+++ b/thunderbird-l10n/pa-IN/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: ਪੰਜਾਬੀ (Punjabi)",
-  "description": "Thunderbird Beta Language Pack for ਪੰਜਾਬੀ (pa-IN) – Punjabi",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for ਪੰਜਾਬੀ (pa-IN) – Punjabi",
+  "version": "128.0.20240710.185639",
   "languages": {
     "pa-IN": {
-      "version": "20240627141731",
+      "version": "20240710213401",
       "chrome_resources": {
         "alerts": "chrome/pa-IN/locale/pa-IN/alerts/",
         "autoconfig": "chrome/pa-IN/locale/pa-IN/autoconfig/",
diff --git a/thunderbird-l10n/pl/chrome/pl/locale/branding/brand.dtd b/thunderbird-l10n/pl/chrome/pl/locale/branding/brand.dtd
index 7c2c1f011eca5b89a3d9b10f8697f141df8cf09c..49ac427ab4152ea6f151d7f75b1bd13e9aa3647b 100644
--- a/thunderbird-l10n/pl/chrome/pl/locale/branding/brand.dtd
+++ b/thunderbird-l10n/pl/chrome/pl/locale/branding/brand.dtd
@@ -1,13 +1,12 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird oraz logotyp Thunderbird
- to znaki towarowe Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird oraz logotyp Thunderbird to znaki towarowe Mozilla Foundation.">
diff --git a/thunderbird-l10n/pl/chrome/pl/locale/branding/brand.properties b/thunderbird-l10n/pl/chrome/pl/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..0837ee16ebc86d611a2902897a84d13b07af4921 100644
--- a/thunderbird-l10n/pl/chrome/pl/locale/branding/brand.properties
+++ b/thunderbird-l10n/pl/chrome/pl/locale/branding/brand.properties
@@ -1,7 +1,8 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/pl/chrome/pl/locale/pl/devtools/client/debugger.properties b/thunderbird-l10n/pl/chrome/pl/locale/pl/devtools/client/debugger.properties
index 3775b39bd2c9cf0face2a19206927ee46930a975..0ed69828962daf8d03317b2c1db6c27b2a3333c9 100644
--- a/thunderbird-l10n/pl/chrome/pl/locale/pl/devtools/client/debugger.properties
+++ b/thunderbird-l10n/pl/chrome/pl/locale/pl/devtools/client/debugger.properties
@@ -146,6 +146,12 @@ stopTraceButtonTooltip2=Zatrzymaj śledzenie ramek JavaScript. (%S)
 # This is used to force logging JavaScript traces in the Web Console.
 traceInWebConsole=Śledź w konsoli WWW
 
+# LOCALIZATION NOTE (traceInProfiler): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces to a firefox profiler record,
+# which is opened when you stop tracing.
+traceInProfiler=Śledź do profilera
+
 # LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
 # of the trace button, which is in the top of the debugger right sidebar.
 # This is used to force logging JavaScript traces in the stdout.
@@ -647,6 +653,10 @@ original=oryginalnym
 # input element
 expressions.placeholder=Dodaj wyrażenie do obserwowania
 
+# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression
+# input element
+expressions.errorMsg=Nieprawidłowe wyrażenie…
+
 # LOCALIZATION NOTE (expressions.placeholder): Placeholder text for expression
 # input element
 expressions.placeholder2=Dodaj wyrażenie
@@ -655,10 +665,6 @@ expressions.placeholder2=Dodaj wyrażenie
 # for when the`map variable names`is off and the debugger is paused in an original source
 expressions.noOriginalScopes=Mapowanie oryginalnych nazw zmiennych jest wyłączone. Wartości wyrażeń mogą być niedokładne.
 
-# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression
-# input element
-expressions.errorMsg=Nieprawidłowe wyrażenie…
-
 # LOCALIZATION NOTE (expressions.label): For the "Add watch expression" context menu item in the editor
 expressions.label=Dodaj wyrażenie do obserwowania
 expressions.accesskey=D
diff --git a/thunderbird-l10n/pl/chrome/pl/locale/pl/devtools/shared/styleinspector.properties b/thunderbird-l10n/pl/chrome/pl/locale/pl/devtools/shared/styleinspector.properties
index f02c781207f1bed4874628344d65971f78c1df2f..caa8716a81c3858e2ef9d122504785958b6d269c 100644
--- a/thunderbird-l10n/pl/chrome/pl/locale/pl/devtools/shared/styleinspector.properties
+++ b/thunderbird-l10n/pl/chrome/pl/locale/pl/devtools/shared/styleinspector.properties
@@ -63,6 +63,12 @@ rule.warning.title=Nieprawidłowa wartość własności
 # the title attribute of the warning icon.
 rule.warningName.title=Nieprawidłowa nazwa własności
 
+# LOCALIZATION NOTE (rule.warningInvalidAtComputedValueTime.title): When a property value
+# is invalid at computed time in the rule view, a warning icon is displayed.
+# This text is used for the title attribute of the warning icon.
+# The argument is the expected CSS syntax (e.g. '<color>').
+rule.warningInvalidAtComputedValueTime.title=Wartość własności nie pasuje do oczekiwanej składni %S
+
 # LOCALIZATION NOTE (rule.filterProperty.title): Text displayed in the tooltip
 # of the search button that is shown next to a property that has been overridden
 # in the rule view.
@@ -84,6 +90,11 @@ rule.variableValue=%S = %S
 # variable name.
 rule.variableUnset=Zmienna „%S” nie jest ustawiona
 
+# LOCALIZATION NOTE (rule.selectorSpecificity.title): This text is used as a title attribute
+# on the selectors displayed in the inspector rules view.
+# The first argument is the computed specificity, which looks like "(0,0,1)".
+rule.selectorSpecificity.title=Swoistość: %S
+
 # LOCALIZATION NOTE (rule.selectorHighlighter.tooltip): Text displayed in a
 # tooltip when the mouse is over a selector highlighter icon in the rule view.
 rule.selectorHighlighter.tooltip=Wyróżnia wszystkie elementy pasujące do selektora
@@ -112,6 +123,10 @@ rule.flexToggle.tooltip=Kliknij, by przełączyć wyróżnianie Flexbox
 # when the mouse is over a CSS Grid toggle icon in the rule view.
 rule.gridToggle.tooltip=Kliknij, by przełączyć wyróżnianie CSS Grid
 
+# LOCALIZATION NOTE (rule.shapeToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a CSS shape toggle icon in the rule view (e.g. for clip-path property).
+rule.shapeToggle.tooltip=Kliknij, by przełączyć edytor kształtów CSS
+
 # LOCALIZATION NOTE (rule.filterStyles.placeholder): This is the placeholder that
 # goes in the search box when no search term has been entered.
 rule.filterStyles.placeholder=Filtruj style
@@ -265,13 +280,3 @@ styleinspector.contextmenu.copyRule=Kopiuj regułę
 # LOCALIZATION NOTE (styleinspector.contextmenu.copySelector): Text displayed in the
 # rule view context menu for copying the selector.
 styleinspector.contextmenu.copySelector=Kopiuj selektor
-
-# LOCALIZATION NOTE (rule.warningInvalidAtComputedValueTime.title): When a property value
-# is invalid at computed time in the rule view, a warning icon is displayed.
-# This text is used for the title attribute of the warning icon.
-# The argument is the expected CSS syntax (e.g. '<color>').
-rule.warningInvalidAtComputedValueTime.title=Property value does not match expected %S syntax
-# LOCALIZATION NOTE (rule.selectorSpecificity.title): This text is used as a title attribute
-# on the selectors displayed in the inspector rules view.
-# The first argument is the computed specificity, which looks like "(0,0,1)".
-rule.selectorSpecificity.title=Specificity: %S
diff --git a/thunderbird-l10n/pl/chrome/pl/locale/pl/global/dom/dom.properties b/thunderbird-l10n/pl/chrome/pl/locale/pl/global/dom/dom.properties
index 7dc91db49858563fd12280eeaed38560a156059f..3f997c800d903bfc6f68eb4b0630a82b50b208d1 100644
--- a/thunderbird-l10n/pl/chrome/pl/locale/pl/global/dom/dom.properties
+++ b/thunderbird-l10n/pl/chrome/pl/locale/pl/global/dom/dom.properties
@@ -140,8 +140,25 @@ MediaEMEInsecureContextDeprecatedWarning=Używanie Encrypted Media Extensions na
 MediaEMENoCapabilitiesDeprecatedWarning=Wywoływanie metody „navigator.requestMediaKeySystemAccess()” (z „%S”) bez przekazania parametru „MediaKeySystemConfiguration” zawierającego „audioCapabilities” lub „videoCapabilities” jest przestarzałe i wkrótce nie będzie obsługiwane.
 # LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (a "codecs" string in the "contentType") that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
 MediaEMENoCodecsDeprecatedWarning=Wywoływanie metody „navigator.requestMediaKeySystemAccess()” (z „%S”) z parametrem „MediaKeySystemConfiguration” zawierającym „audioCapabilities” lub „videoCapabilities”, jednak bez „contentType”, z ciągiem znaków „codecs” jest przestarzałe i wkrótce nie będzie obsługiwane.
+
 # LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
 MutationEventWarning=Korzystanie z Mutation Events jest przestarzałe. Należy używać MutationObserver.
+
+# LOCALIZATION NOTE: Do not translate "DOMAttrModified", "MutationEvent", "MutationObserver"
+DOMAttrModifiedWarning=Dodawanie obserwatora do DOMAttrModified jest przestarzałe i wkrótce zostanie usunięte. Zamiast MutationEvent należy używać MutationObserver. https://developer.mozilla.org/docs/Web/API/MutationObserver
+# LOCALIZATION NOTE: Do not translate "DOMCharacterDataModified", "MutationEvent", "MutationObserver"
+DOMCharacterDataModifiedWarning=Dodawanie obserwatora do DOMCharacterDataModified jest przestarzałe i wkrótce zostanie usunięte. Zamiast MutationEvent należy używać MutationObserver. https://developer.mozilla.org/docs/Web/API/MutationObserver
+# LOCALIZATION NOTE: Do not translate "DOMNodeInserted", "MutationEvent", "MutationObserver"
+DOMNodeInsertedWarning=Dodawanie obserwatora do DOMNodeInserted jest przestarzałe i wkrótce zostanie usunięte. Zamiast MutationEvent należy używać MutationObserver. https://developer.mozilla.org/docs/Web/API/MutationObserver
+# LOCALIZATION NOTE: Do not translate "DOMNodeInsertedIntoDocument", "MutationEvent", "MutationObserver"
+DOMNodeInsertedIntoDocumentWarning=Dodawanie obserwatora do DOMNodeInsertedIntoDocument jest przestarzałe i wkrótce zostanie usunięte. Zamiast MutationEvent należy używać MutationObserver. https://developer.mozilla.org/docs/Web/API/MutationObserver
+# LOCALIZATION NOTE: Do not translate "DOMNodeRemoved", "MutationEvent", "MutationObserver"
+DOMNodeRemovedWarning=Dodawanie obserwatora do DOMNodeRemoved jest przestarzałe i wkrótce zostanie usunięte. Zamiast MutationEvent należy używać MutationObserver. https://developer.mozilla.org/docs/Web/API/MutationObserver
+# LOCALIZATION NOTE: Do not translate "DOMNodeRemovedFromDocument", "MutationEvent", "MutationObserver"
+DOMNodeRemovedFromDocumentWarning=Dodawanie obserwatora do DOMNodeRemovedFromDocument jest przestarzałe i wkrótce zostanie usunięte. Zamiast MutationEvent należy używać MutationObserver. https://developer.mozilla.org/docs/Web/API/MutationObserver
+# LOCALIZATION NOTE: Do not translate "DOMSubtreeModified", "MutationEvent", "MutationObserver"
+DOMSubtreeModifiedWarning=Dodawanie obserwatora do DOMSubtreeModified jest przestarzałe i wkrótce zostanie usunięte. Zamiast MutationEvent należy używać MutationObserver. https://developer.mozilla.org/docs/Web/API/MutationObserver
+
 BlockAutoplayError=Automatyczne odtwarzanie jest możliwe jedynie po wyrażeniu zgody przez użytkownika, gdy strona zostanie aktywowana przez użytkownika lub treść jest wyciszona.
 BlockAutoplayWebAudioStartError=Automatyczne uruchomienie AudioContext zostało zatrzymane. Musi zostać utworzone lub wznowione po geście użytkownika na stronie.
 # LOCALIZATION NOTE: Do not translate "Components"
@@ -239,6 +256,8 @@ ManifestImageUnsupportedPurposes=Element „%1$S” w %2$S. indeksie zawiera ni
 # LOCALIZATION NOTE: %1$S is the name of the parent property that has a repeated purpose (e.g., "icons"). %2$S is the index of the image object that has the repeated purpose (from 0). %3$S is the repeated purposes. E.g. "icons item at index 2 includes repeated purpose(s): a b."
 ManifestImageRepeatedPurposes=Element „%1$S” w %2$S. indeksie zawiera powtarzające się zastosowania: %3$S.
 PatternAttributeCompileFailure=Nie udało się sprawdzić „<input pattern='%S'>”, ponieważ atrybut „pattern” nie zawiera prawidłowego wyrażenia regularnego: „%S”.
+# LOCALIZATION NOTE: %1$S is the regexp pattern, %2$S the regexp flags, %3$S the error message. Do not translate <input pattern>
+PatternAttributeCompileFailurev2=Nie udało się sprawdzić „<input pattern='%1$S'>”, ponieważ „/%1$S/%2$S” nie zawiera prawidłowego wyrażenia regularnego: %3$S
 # LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
 TargetPrincipalDoesNotMatch=Nie udało się wykonać „postMessage” dla „DOMWindow”: dostarczony cel („%S”) jest różny od domeny okna odbiorcy („%S”).
 # LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
@@ -479,21 +498,7 @@ InstallTriggerInstallDeprecatedWarning=InstallTrigger.install() jest przestarza
 # LOCALIZATION NOTE: Do not translate "HTMLOptionsCollection.length". %1$S is the invalid value, %2$S is the current limit.
 SelectOptionsLengthAssignmentWarning=Odmówiono rozwinięcia listy opcji <select> przez przypisanie do HTMLOptionsCollection.length (wartość %1$S). Maksymalny obsługiwany rozmiar to %2$S.
 
+
 InvalidFormControlUnfocusable=Nieprawidłowy element formularza nie ma możliwości aktywacji.
 # LOCALIZATION NOTE: Do not translate "name="
 InvalidNamedFormControlUnfocusable=Nieprawidłowy element formularza z „name='%S'” nie ma możliwości aktywacji.
-
-# LOCALIZATION NOTE: Do not translate "DOMAttrModified", "MutationEvent", "MutationObserver"
-DOMAttrModifiedWarning=Adding a listener for DOMAttrModified is deprecated and will be removed soon. Instead of a MutationEvent, use MutationObserver. https://developer.mozilla.org/docs/Web/API/MutationObserver
-# LOCALIZATION NOTE: Do not translate "DOMCharacterDataModified", "MutationEvent", "MutationObserver"
-DOMCharacterDataModifiedWarning=Adding a listener for DOMCharacterDataModified is deprecated and will be removed soon. Instead of a MutationEvent, use MutationObserver. https://developer.mozilla.org/docs/Web/API/MutationObserver
-# LOCALIZATION NOTE: Do not translate "DOMNodeInserted", "MutationEvent", "MutationObserver"
-DOMNodeInsertedWarning=Adding a listener for DOMNodeInserted is deprecated and will be removed soon. Instead of a MutationEvent, use MutationObserver. https://developer.mozilla.org/docs/Web/API/MutationObserver
-# LOCALIZATION NOTE: Do not translate "DOMNodeInsertedIntoDocument", "MutationEvent", "MutationObserver"
-DOMNodeInsertedIntoDocumentWarning=Adding a listener for DOMNodeInsertedIntoDocument is deprecated and will be removed soon. Instead of a MutationEvent, use MutationObserver. https://developer.mozilla.org/docs/Web/API/MutationObserver
-# LOCALIZATION NOTE: Do not translate "DOMNodeRemoved", "MutationEvent", "MutationObserver"
-DOMNodeRemovedWarning=Adding a listener for DOMNodeRemoved is deprecated and will be removed soon. Instead of a MutationEvent, use MutationObserver. https://developer.mozilla.org/docs/Web/API/MutationObserver
-# LOCALIZATION NOTE: Do not translate "DOMNodeRemovedFromDocument", "MutationEvent", "MutationObserver"
-DOMNodeRemovedFromDocumentWarning=Adding a listener for DOMNodeRemovedFromDocument is deprecated and will be removed soon. Instead of a MutationEvent, use MutationObserver. https://developer.mozilla.org/docs/Web/API/MutationObserver
-# LOCALIZATION NOTE: Do not translate "DOMSubtreeModified", "MutationEvent", "MutationObserver"
-DOMSubtreeModifiedWarning=Adding a listener for DOMSubtreeModified is deprecated and will be removed soon. Instead of a MutationEvent, use MutationObserver. https://developer.mozilla.org/docs/Web/API/MutationObserver
diff --git a/thunderbird-l10n/pl/chrome/pl/locale/pl/global/narrate.properties b/thunderbird-l10n/pl/chrome/pl/locale/pl/global/narrate.properties
index 90dcd7372a371804a4ac6cfe2717de0a90a73a4b..7523d25b2c18d9d2f5a5b82bfc69511af565834b 100644
--- a/thunderbird-l10n/pl/chrome/pl/locale/pl/global/narrate.properties
+++ b/thunderbird-l10n/pl/chrome/pl/locale/pl/global/narrate.properties
@@ -12,6 +12,8 @@ back = Do tyłu
 # "Listen, which allows users to listen to Firefox reading the text,
 # instead of having to read it themselves." This is the name
 # of the feature and it is the label for the popup button.
+# Header for the narrate menu
+read-aloud-header = Czytaj na głos
 # %S is the keyboard shortcut for the listen command
 read-aloud-label = Czytaj na głos (%S)
 # %S is the keyboard shortcut for the skip back command
@@ -26,7 +28,10 @@ forward = Do przodu
 # %S is the keyboard shortcut for the skip forward command
 next-label = Do przodu (%S)
 speed = Szybkość
+slow-speed-label = Zwolnij lektora
+fast-speed-label = Przyspiesz lektora
 selectvoicelabel = Lektor:
+select-voice-header = Lektor
 # Default voice is determined by the language of the document.
 defaultvoice = Domyślny
 
diff --git a/thunderbird-l10n/pl/chrome/pl/locale/pl/necko/necko.properties b/thunderbird-l10n/pl/chrome/pl/locale/pl/necko/necko.properties
index c48b261c6be8b0048d9826613a7aa6c0daa605cd..f2e4d3476703c17500aeb289423c55714aae950b 100644
--- a/thunderbird-l10n/pl/chrome/pl/locale/pl/necko/necko.properties
+++ b/thunderbird-l10n/pl/chrome/pl/locale/pl/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=Ciasteczko „%1$S” jest nieprawidłowe, ponieważ jego rozmiar
 CookiePathOversize=Ciasteczko „%1$S” jest nieprawidłowe, ponieważ jego rozmiar ścieżki jest za duży. Maksymalny rozmiar to %2$S B.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Ciasteczko „%1$S” zostało odrzucone przez uprawnienia ustawione przez użytkownika.
+CookieRejectedEmptyNameAndValue=Ciasteczko o pustej nazwie i pustej wartości zostało odrzucone.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Ciasteczko „%1$S” zostało odrzucone z powodu nieprawidłowych znaków w nazwie.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=Ciasteczko „%1$S” zostało odrzucone, ponie
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=Ciasteczko „%1$S” zostało odrzucone, ponieważ ma atrybut „Partitioned”, ale nie ma atrybutu „secure”.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=Wartość atrybutu „%2$S” dla ciasteczka „%1$S” została odrzucona, ponieważ jej rozmiar jest za duży. Maksymalny rozmiar to %3$S B.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Ciasteczko „%1$S” wkrótce zostanie odrzucone, ponieważ jest obce i nie ma atrybutu „Partitioned”.
 
diff --git a/thunderbird-l10n/pl/localization/pl/branding/brand.ftl b/thunderbird-l10n/pl/localization/pl/branding/brand.ftl
index 9aa58d662564cc0301c87e8a0e28c0f367b599ea..d7b510bf68b86232ac821402a751cce96fbaa1b5 100644
--- a/thunderbird-l10n/pl/localization/pl/branding/brand.ftl
+++ b/thunderbird-l10n/pl/localization/pl/branding/brand.ftl
@@ -14,41 +14,49 @@
 
 -brand-shorter-name =
     { $case ->
-        [gen] Thunderbirda Beta
-        [dat] Thunderbirdowi Beta
-        [acc] Thunderbirda Beta
-        [ins] Thunderbirdem Beta
-        [loc] Thunderbirdzie Beta
-       *[nom] Thunderbird Beta
+       *[nom] Thunderbird
+        [gen] Thunderbirda
+        [dat] Thunderbirdowi
+        [acc] Thunderbirda
+        [ins] Thunderbirdem
+        [loc] Thunderbirdzie
     }
 -brand-short-name =
     { $case ->
-        [gen] Thunderbirda Beta
-        [dat] Thunderbirdowi Beta
-        [acc] Thunderbirda Beta
-        [ins] Thunderbirdem Beta
-        [loc] Thunderbirdzie Beta
-       *[nom] Thunderbird Beta
+       *[nom] Thunderbird
+        [gen] Thunderbirda
+        [dat] Thunderbirdowi
+        [acc] Thunderbirda
+        [ins] Thunderbirdem
+        [loc] Thunderbirdzie
     }
 -brand-full-name =
     { $case ->
-        [gen] Mozilli Thunderbird Beta
-        [dat] Mozilli Thunderbird Beta
-        [acc] Mozillę Thunderbird Beta
-        [ins] Mozillą Thunderbird Beta
-        [loc] Mozilli Thunderbird Beta
-       *[nom] Mozilla Thunderbird Beta
+       *[nom] Mozilla Thunderbird
+        [gen] Mozilli Thunderbird
+        [dat] Mozilli Thunderbird
+        [acc] Mozillę Thunderbird
+        [ins] Mozillą Thunderbird
+        [loc] Mozilli Thunderbird
     }
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
--brand-product-name = Thunderbird
+-brand-product-name =
+    { $case ->
+       *[nom] Thunderbird
+        [gen] Thunderbirda
+        [dat] Thunderbirdowi
+        [acc] Thunderbirda
+        [ins] Thunderbirdem
+        [loc] Thunderbirdzie
+    }
 -vendor-short-name =
     { $case ->
+       *[nom] Mozilla
         [gen] Mozilli
         [dat] Mozilli
         [acc] Mozillę
         [ins] Mozillą
         [loc] Mozilli
-       *[nom] Mozilla
     }
 trademarkInfo = Mozilla Thunderbird oraz logotyp Thunderbird to znaki towarowe Mozilla Foundation.
diff --git a/thunderbird-l10n/pl/localization/pl/calendar/calendar-today-pane.ftl b/thunderbird-l10n/pl/localization/pl/calendar/calendar-today-pane.ftl
index 6fbe8159b2db12df85a3ecca3b73921192c6e43f..e3390f5e69c0286c78cdce43650591566b6619f3 100644
--- a/thunderbird-l10n/pl/localization/pl/calendar/calendar-today-pane.ftl
+++ b/thunderbird-l10n/pl/localization/pl/calendar/calendar-today-pane.ftl
@@ -1,3 +1,12 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-today-pane-show-events-and-tasks =
+    .tooltiptext = Pokaż wydarzenia i zadania
+calendar-today-pane-show-tasks-only =
+    .tooltiptext = Pokaż zadania
+calendar-today-pane-show-events-only =
+    .tooltiptext = Pokaż wydarzenia
+calendar-today-pane-close-button =
+    .tooltiptext = Ukryj panel bieżących spraw
diff --git a/thunderbird-l10n/pl/localization/pl/calendar/calendar.ftl b/thunderbird-l10n/pl/localization/pl/calendar/calendar.ftl
index 7531ec15cd98589f2c29e6ebfb1fcefe03d20009..f0c6a4693bcf46ecb65a97ffe5a328686ea6541c 100644
--- a/thunderbird-l10n/pl/localization/pl/calendar/calendar.ftl
+++ b/thunderbird-l10n/pl/localization/pl/calendar/calendar.ftl
@@ -360,6 +360,7 @@ html-task-completed = { $task } (ukończone)
 # Categories
 add-category = Dodaj kategorię
 multiple-categories = Wiele kategorii
+no-categories = Brak
 calendar-today = Dziś
 calendar-tomorrow = Jutro
 yesterday = Wczoraj
diff --git a/thunderbird-l10n/pl/localization/pl/chat/irc.ftl b/thunderbird-l10n/pl/localization/pl/chat/irc.ftl
index 167d9866363f5ce522cd030b461fe0761bbbcaf8..8b29c690034283d634a1f690c30aa437acfe8d61 100644
--- a/thunderbird-l10n/pl/localization/pl/chat/irc.ftl
+++ b/thunderbird-l10n/pl/localization/pl/chat/irc.ftl
@@ -16,6 +16,7 @@ connection-error-time-out = Upłynął limit czasu połączenia
 connection-error-invalid-username = „{ $username }” jest niedozwoloną nazwą użytkownika
 connection-error-invalid-password = Nieprawidłowe hasło serwera
 connection-error-password-required = Wymagane hasło
+connection-error-invalid-user-password = Nieprawidłowe hasło
 # LOCALIZATION NOTE (join-chat-*):
 #   These show up on the join chat menu. An underscore is for the access key.
 join-chat-channel = _Kanał
diff --git a/thunderbird-l10n/pl/localization/pl/devtools/client/perftools.ftl b/thunderbird-l10n/pl/localization/pl/devtools/client/perftools.ftl
index 99db0fe6665debfc57a0392e966add53c1023937..e7fead4b720f48102fabf22edbe672e36d2e7e44 100644
--- a/thunderbird-l10n/pl/localization/pl/devtools/client/perftools.ftl
+++ b/thunderbird-l10n/pl/localization/pl/devtools/client/perftools.ftl
@@ -43,9 +43,7 @@ perftools-range-interval-milliseconds = { NUMBER($interval, maxFractionalUnits:
 
 # The size of the memory buffer used to store things in the profiler.
 perftools-range-entries-label = Rozmiar bufora:
-
 perftools-custom-threads-label = Dodaj własne wątki według nazw:
-
 perftools-devtools-interval-label = Przedział:
 perftools-devtools-threads-label = Wątki:
 perftools-devtools-settings-label = Ustawienia
@@ -113,7 +111,6 @@ perftools-thread-jvm-pool =
 ##
 
 perftools-record-all-registered-threads = Pomiń powyższy wybór i nagraj wszystkie zarejestrowane wątki
-
 perftools-tools-threads-input-label =
     .title = Te nazwy wątków to lista oddzielona przecinkami, która jest używana do włączenia profilowania wątków w profilerze. Nazwa może tylko częściowo pasować do nazwy wątku, aby została uwzględniona. Spacje są rozróżniane.
 
@@ -121,7 +118,6 @@ perftools-tools-threads-input-label =
 ## devtools.performance.new-panel-onboarding preference is true.
 
 perftools-onboarding-message = <b>Nowość</b>: { -profiler-brand-name } jest teraz zintegrowany z narzędziami dla programistów. <a>Więcej informacji</a> o tym nowym potężnym narzędziu.
-
 perftools-onboarding-close-button =
     .aria-label = Zamknij ten komunikat
 
@@ -129,32 +125,29 @@ perftools-onboarding-close-button =
 
 
 # Presets and their l10n IDs are defined in the file
-# devtools/client/performance-new/popup/background.jsm.js
+# devtools/client/performance-new/shared/background.jsm.js
 # The same labels and descriptions are also defined in appmenu.ftl.
 
+
 # Presets and their l10n IDs are defined in the file
-# devtools/client/performance-new/shared/background.jsm.js
+# devtools/client/performance-new/shared/background.sys.mjs
 # The same labels and descriptions are also defined in appmenu.ftl.
 
 perftools-presets-web-developer-label = Dla twórców witryn
 perftools-presets-web-developer-description = Zalecane ustawienie do debugowania większości aplikacji internetowych o niskim wpływie na wydajność.
-
 perftools-presets-firefox-label = { -brand-shorter-name }
-perftools-presets-firefox-description = Zalecane ustawienie do profilowania programu { -brand-shorter-name }.
-
+perftools-presets-firefox-description = Zalecane ustawienie do profilowania { -brand-shorter-name(case: "gen") }.
 perftools-presets-graphics-label = Grafika
-perftools-presets-graphics-description = Ustawienie do badania błędów graficznych w programie { -brand-shorter-name }.
-
+perftools-presets-graphics-description = Ustawienie do badania błędów graficznych w { -brand-shorter-name(case: "loc") }.
 perftools-presets-media-label = Multimedia
-perftools-presets-media-description2 = Ustawienie do badania błędów dźwięku i obrazu w programie { -brand-shorter-name }.
-
+perftools-presets-media-description2 = Ustawienie do badania błędów dźwięku i obrazu w { -brand-shorter-name(case: "loc") }.
 perftools-presets-networking-label = Sieć
-perftools-presets-networking-description = Ustawienie do badania błędów sieciowych w programie { -brand-shorter-name }.
-
+perftools-presets-networking-description = Ustawienie do badania błędów sieciowych w { -brand-shorter-name(case: "loc") }.
 # "Power" is used in the sense of energy (electricity used by the computer).
 perftools-presets-power-label = Energia
-perftools-presets-power-description = Ustawienie do badania błędów użycia energii w programie { -brand-shorter-name } o niskim wpływie na wydajność.
-
+perftools-presets-power-description = Ustawienie do badania błędów użycia energii w { -brand-shorter-name(case: "loc") } o niskim wpływie na wydajność.
+perftools-presets-debug-label = Debugowanie
+perftools-presets-debug-description = Ustawienie do debugowania w { -brand-shorter-name(case: "loc") }. Wysoki wpływ na wydajność. Nie należy używać do pracy nad wydajnością, tylko do zrozumienia zachowania przeglądarki.
 perftools-presets-custom-label = Inne
 
 ##
diff --git a/thunderbird-l10n/pl/localization/pl/devtools/client/tooltips.ftl b/thunderbird-l10n/pl/localization/pl/devtools/client/tooltips.ftl
index 7068abf2bac12864ca815bdb4b84098ce7cc26ad..da34489f927bed381f19c575dff9eed52d9c45d6 100644
--- a/thunderbird-l10n/pl/localization/pl/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/pl/localization/pl/devtools/client/tooltips.ftl
@@ -14,9 +14,20 @@ learn-more = <span data-l10n-name="link">Więcej informacji</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ nie jest on kontenerem Flex ani Grid.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ nie jest on kontenerem Flex, kontenerem Grid ani kontenerem wielokolumnowym.
 inactive-css-not-multicol-container = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ nie jest on kontenerem wielokolumnowym.
+inactive-css-column-span = <strong>{ $property }</strong> nie ma rozciągającego wpływu na ten element, ponieważ nie jest on w kontenerze wielokolumnowym.
 inactive-css-not-grid-or-flex-item = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ nie jest on elementem Grid ani Flex.
 inactive-css-not-grid-item = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ nie jest on elementem Grid.
 inactive-css-not-grid-container = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ nie jest on kontenerem Grid.
@@ -28,8 +39,10 @@ inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</
 inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> nie jest obsługiwane na pseudoelementach ::placeholder.
 inactive-css-property-because-of-display = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ wyświetla <strong>{ $display }</strong>.
 inactive-css-not-display-block-on-floated = Wartość <strong>display</strong> została zmieniona przez silnik na <strong>block</strong>, ponieważ element to <strong>floated</strong>.
+inactive-css-not-display-block-on-floated-2 = Wartość <strong>display</strong> została zmieniona przez silnik na <strong>{ $display }</strong>, ponieważ element to <strong>floated</strong>.
 inactive-css-property-is-impossible-to-override-in-visited = Zastąpienie <strong>{ $property }</strong> jest niemożliwe z powodu ograniczenia <strong>:visited</strong>.
 inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ nie jest on elementem pozycjonowanym.
+inactive-css-only-replaced-elements = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ może być stosowane tylko do zastąpionych elementów.
 inactive-text-overflow-when-no-overflow = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ <strong>overflow:hidden</strong> nie jest ustawione.
 inactive-css-not-for-internal-table-elements = <strong>{ $property }</strong> nie ma wpływu na wewnętrzne elementy tabeli.
 inactive-css-not-for-internal-table-elements-except-table-cells = <strong>{ $property }</strong> nie ma wpływu na wewnętrzne elementy tabeli, z wyjątkiem komórek tabeli.
@@ -37,6 +50,7 @@ inactive-css-not-table = <strong>{ $property }</strong> nie ma wpływu na ten el
 inactive-css-not-table-cell = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ nie jest on komórką tabeli.
 inactive-scroll-padding-when-not-scroll-container = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ nie można go przewijać.
 inactive-css-border-image = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ nie można go stosować do wewnętrznych elementów tabeli, w których <strong>border-collapse</strong> jest ustawione na <strong>collapse</strong> w nadrzędnym elemencie tabeli.
+inactive-css-resize = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ można go stosować tylko do elementów z wartością „overflow” inną niż „visible”, a także do niektórych zastąpionych elementów, takich jak obszary tekstowe.
 inactive-css-ruby-element = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ jest to element rubi. Jego rozmiar zależy od rozmiaru czcionki tekstu rubi.
 
 ## In the Rule View when a CSS property cannot be successfully applied we display
@@ -54,6 +68,7 @@ inactive-css-text-wrap-balance-lines-exceeded =
        *[many] <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ ma on więcej niż { $lineCount } wierszy.
     }
 inactive-css-text-wrap-balance-fragmented = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ jest on sfragmentaryzowany, tj. jego zawartość jest podzielona na wiele kolumn lub stron.
+inactive-css-no-width-height = <strong>{ $property }</strong> nie ma wpływu na ten element, ponieważ nie można ustawić jego szerokości i wysokości.
 
 ## In the Rule View when a CSS property cannot be successfully applied we display
 ## an icon. When this icon is hovered this message is displayed to explain how
@@ -64,6 +79,7 @@ inactive-css-not-grid-or-flex-container-fix = Spróbuj dodać <strong>display:gr
 inactive-css-not-grid-or-flex-or-block-container-fix = Spróbuj dodać <strong>display:grid</strong>, <strong>display:flex</strong> lub <strong>display:block</strong>. { learn-more }
 inactive-css-not-grid-or-flex-container-or-multicol-container-fix = Spróbuj dodać <strong>display:grid</strong>, <strong>display:flex</strong> lub <strong>columns:2</strong>. { learn-more }
 inactive-css-not-multicol-container-fix = Spróbuj dodać <strong>column-count</strong> lub <strong>column-width</strong>. { learn-more }
+inactive-css-column-span-fix = Spróbuj dodać <strong>column-count</strong> lub <strong>column-width</strong> do jednego z elementów nadrzędnych. { learn-more }
 inactive-css-not-grid-or-flex-item-fix-3 = Spróbuj dodać <strong>display:grid</strong>, <strong>display:flex</strong>, <strong>display:inline-grid</strong> lub <strong>display:inline-flex</strong> do elementu nadrzędnego. { learn-more }
 inactive-css-not-grid-item-fix-2 = Spróbuj dodać <strong>display:grid</strong> lub <strong>display:inline-grid</strong> do elementu nadrzędnego. { learn-more }
 inactive-css-not-grid-container-fix = Spróbuj dodać <strong>display:grid</strong> lub <strong>display:inline-grid</strong>. { learn-more }
@@ -74,6 +90,7 @@ inactive-css-non-replaced-inline-or-table-row-or-row-group-fix = Spróbuj dodać
 inactive-css-non-replaced-inline-or-table-column-or-column-group-fix = Spróbuj dodać <strong>display:inline-block</strong>. { learn-more }
 inactive-css-not-display-block-on-floated-fix = Spróbuj usunąć <strong>float</strong> lub dodać <strong>display:block</strong>. { learn-more }
 inactive-css-position-property-on-unpositioned-box-fix = Spróbuj ustawić jego własność <strong>position</strong> na coś innego niż <strong>static</strong>. { learn-more }
+inactive-css-only-replaced-elements-fix = Upewnij się, że dodajesz własność do zastąpionego elementu. { learn-more }
 inactive-text-overflow-when-no-overflow-fix = Spróbuj dodać <strong>overflow:hidden</strong>. { learn-more }
 inactive-css-not-for-internal-table-elements-fix = Spróbuj ustawić jego własność <strong>display</strong> na coś innego niż <strong>table-cell</strong>, <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong> lub <strong>table-footer-group</strong>. { learn-more }
 inactive-css-not-for-internal-table-elements-except-table-cells-fix = Spróbuj ustawić jego własność <strong>display</strong> na coś innego niż <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong> lub <strong>table-footer-group</strong>. { learn-more }
@@ -81,6 +98,7 @@ inactive-css-not-table-fix = Spróbuj dodać <strong>display:table</strong> lub
 inactive-css-not-table-cell-fix = Spróbuj dodać <strong>display:table-cell</strong>. { learn-more }
 inactive-scroll-padding-when-not-scroll-container-fix = Spróbuj dodać <strong>overflow:auto</strong>, <strong>overflow:scroll</strong> lub <strong>overflow:hidden</strong>. { learn-more }
 inactive-css-border-image-fix = W nadrzędnym elemencie tabeli usuń własność lub zmień wartość <strong>border-collapse</strong> na inną niż <strong>collapse</strong>. { learn-more }
+inactive-css-resize-fix = Spróbuj ustawić <strong>overflow</strong> na wartość inną niż <strong>visible</strong> lub namierz obsługujący go zastąpiony element. { learn-more }
 inactive-css-ruby-element-fix = Spróbuj zmienić <strong>font-size</strong> tekstu rubi. { learn-more }
 inactive-css-text-wrap-balance-lines-exceeded-fix = Spróbuj zmniejszyć liczbę wierszy. { learn-more }
 inactive-css-text-wrap-balance-fragmented-fix = Unikaj dzielenia zawartości elementu, np. usuwając kolumny lub używając <strong>page-break-inside:avoid</strong>. { learn-more }
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/about3Pane.ftl b/thunderbird-l10n/pl/localization/pl/messenger/about3Pane.ftl
index 6738e865c820edf68846da30768ae9410008060a..aa033b132f7c08ac109952733a18399a78196cf2 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/about3Pane.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/about3Pane.ftl
@@ -122,6 +122,8 @@ quick-filter-bar-textbox =
     .placeholder = Filtrowanie wiadomości <{ quick-filter-bar-textbox-shortcut }>
 quick-filter-bar-search =
     .label = Filtruj wiadomości:
+quick-filter-bar-search2 =
+    .label = Filtruj wiadomości
 # Keyboard shortcut for the text search box.
 # This should match quick-filter-bar-show in messenger.ftl.
 quick-filter-bar-search-shortcut =
@@ -541,3 +543,17 @@ threadpane-sort-header-count =
     }
 threadpane-card-menu-button =
     .title = Menu wiadomości
+message-list-placeholder-no-messages = Nie znaleziono wiadomości
+message-list-placeholder-multiple-folders = Zaznaczono wiele folderów
+
+## Folder pane context menu
+
+# Variables:
+# $count (Number) - Number of selected folders.
+folder-pane-context-mark-folder-read =
+    .label =
+        { $count ->
+            [one] Oznacz folder jako przeczytany
+           *[other] Oznacz foldery jako przeczytane
+        }
+    .accesskey = O
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/aboutImport.ftl b/thunderbird-l10n/pl/localization/pl/messenger/aboutImport.ftl
index 01d82caedaf7cc09ed1bc34da6fb6441ddcbbf82..9381d1a2b968faf4488d1187fda2d79d9f2332ef 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/aboutImport.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/aboutImport.ftl
@@ -3,195 +3,120 @@
 # file, you can obtain one at http://mozilla.org/MPL/2.0/.
 
 import-page-title = Importuj
-
 export-page-title = Eksportuj
 
 ## Header
 
 import-start = Narzędzie importowania
-
 import-start-title = Importuj ustawienia lub dane z aplikacji lub pliku.
-
 import-start-description = Wybierz źródło, z którego importować. Później będzie można wybrać, które dane zaimportować.
-
 import-from-app = Importuj z aplikacji
-
 import-file = Importuj z pliku
-
 import-file-title = Wybierz plik, aby zaimportować jego zawartość.
-
 import-file-description = Wybierz, aby zaimportować kopię zapasową profilu, książki adresowe lub kalendarze.
-
 import-address-book-title = Importuj plik książki adresowej
-
 import-calendar-title = Importuj plik kalendarza
-
 export-profile = Eksportuj
 
 ## Buttons
 
 button-back = Wstecz
-
 button-continue = Kontynuuj
-
 button-export = Eksportuj
-
 button-finish = Zakończ
 
 ## Import from app steps
 
 app-name-thunderbird = Thunderbird
-
 app-name-seamonkey = SeaMonkey
-
 app-name-outlook = Outlook
-
 app-name-becky = Becky! Internet Mail
-
 app-name-apple-mail = Apple Mail
-
 source-thunderbird = Importuj z innej instalacji programu { app-name-thunderbird }
-
 source-thunderbird-description = Importuj ustawienia, filtry, wiadomości i inne dane z profilu programu { app-name-thunderbird }.
-
 source-seamonkey = Importuj z instalacji programu { app-name-seamonkey }
-
 source-seamonkey-description = Importuj ustawienia, filtry, wiadomości i inne dane z profilu programu { app-name-seamonkey }.
-
 source-outlook = Importuj z programu { app-name-outlook }
-
 source-outlook-description = Importuj konta, książki adresowe i wiadomości z programu { app-name-outlook }.
-
 source-becky = Importuj z programu { app-name-becky }
-
 source-becky-description = Importuj książki adresowe i wiadomości z programu { app-name-becky }.
-
 source-apple-mail = Importuj z programu { app-name-apple-mail }
-
 source-apple-mail-description = Importuj wiadomości z programu { app-name-apple-mail }.
-
 source-file2 = Importuj z pliku
-
 source-file-description = Wybierz plik, aby zaimportować książki adresowe, kalendarze lub kopię zapasową profilu (plik ZIP).
 
 ## Import from file selections
 
 file-profile2 = Importuj kopię zapasową profilu
-
 file-profile-description = Wybierz wcześniej utworzoną kopię zapasową profilu Thunderbirda (.zip)
-
 file-calendar = Importuj kalendarze
-
 file-calendar-description = Wybierz plik zawierający wyeksportowane kalendarze lub wydarzenia (.ics)
-
 file-addressbook = Importuj książki adresowe
-
 file-addressbook-description = Wybierz plik zawierający wyeksportowane książki adresowe i kontakty
 
 ## Import from app profile steps
 
 from-app-thunderbird = Importuj z profilu programu { app-name-thunderbird }
-
 from-app-seamonkey = Importuj z profilu programu { app-name-seamonkey }
-
 from-app-outlook = Importuj z programu { app-name-outlook }
-
 from-app-becky = Importuj z programu { app-name-becky }
-
 from-app-apple-mail = Importuj z programu { app-name-apple-mail }
-
 profiles-pane-title-thunderbird = Importuj ustawienia i dane z profilu programu { app-name-thunderbird }.
-
 profiles-pane-title-seamonkey = Importuj ustawienia i dane z profilu programu { app-name-seamonkey }.
-
 profiles-pane-title-outlook = Importuj dane z programu { app-name-outlook }.
-
 profiles-pane-title-becky = Importuj dane z programu { app-name-becky }.
-
 profiles-pane-title-apple-mail = Importuj wiadomości z programu { app-name-apple-mail }.
-
 profile-source = Importuj z profilu
-
 # $profileName (string) - name of the profile
 profile-source-named = Importuj z profilu <strong>„{ $profileName }”</strong>
-
 profile-file-picker-directory = Wybierz folder profilu
-
 profile-file-picker-archive = Wybierz plik <strong>ZIP</strong>
-
 profile-file-picker-archive-description = Plik ZIP musi być mniejszy niż 2 GB.
-
 profile-file-picker-archive-title = Wybierz plik ZIP (mniejszy niż 2 GB)
-
 items-pane-title2 = Wybierz, co zaimportować:
-
 items-pane-directory = Katalog:
-
 items-pane-profile-name = Nazwa profilu:
-
 items-pane-checkbox-accounts = Konta i ustawienia
-
 items-pane-checkbox-address-books = Książki adresowe
-
 items-pane-checkbox-calendars = Kalendarze
-
 items-pane-checkbox-mail-messages = Wiadomości pocztowe
-
 items-pane-override = Istniejące lub identyczne dane nie zostaną zastąpione.
 
 ## Import from address book file steps
 
 import-from-addr-book-file-description = Wybierz format pliku zawierającego dane książki adresowej.
-
 addr-book-csv-file = Plik z wartościami rozdzielonymi przecinkami lub tabulatorami (.csv, .tsv)
-
 addr-book-ldif-file = Plik LDIF (.ldif)
-
 addr-book-vcard-file = Plik vCard (.vcf, .vcard)
-
 addr-book-sqlite-file = Plik bazy danych SQLite (.sqlite)
-
 addr-book-mab-file = Plik bazy danych Mork (.mab)
-
 addr-book-file-picker = Wybierz plik książki adresowej
-
 addr-book-csv-field-map-title = Dopasuj nazwy pól
-
 addr-book-csv-field-map-desc = Wybierz pola książki adresowej odpowiadające polom źródłowym. Odznacz pola, które nie mają być importowane.
-
 addr-book-directories-title = Wybierz, gdzie zaimportować wybrane dane
-
 addr-book-directories-pane-source = Plik źródłowy:
-
 # $addressBookName (string) - name of the new address book that would be created.
 addr-book-import-into-new-directory2 = Utwórz nowy katalog o nazwie <strong>„{ $addressBookName }”</strong>
-
 # $addressBookName (string) - name of the address book to import into
 addr-book-summary-title = Importuj wybrane dane do katalogu „{ $addressBookName }”
-
 # $addressBookName (string) - name of the address book that will be created.
 addr-book-summary-description = Zostanie utworzona nowa książka adresowa o nazwie „{ $addressBookName }”.
 
 ## Import from calendar file steps
 
 import-from-calendar-file-desc = Wybierz plik iCalendar (.ics) do zaimportowania.
-
 calendar-items-title = Wybierz elementy do zaimportowania.
-
 calendar-items-loading = Wczytywanie elementów…
-
 calendar-items-filter-input =
     .placeholder = Filtruj elementy…
-
+calendar-items-filter-input2 =
+    .label = Filtruj elementy
+    .placeholder = Filtruj elementy…
 calendar-select-all-items = Zaznacz wszystko
-
 calendar-deselect-all-items = Odznacz wszystko
-
 calendar-target-title = Wybierz, gdzie zaimportować wybrane elementy.
-
 # $targetCalendar (string) - name of the new calendar that would be created
 calendar-import-into-new-calendar2 = Utwórz nowy kalendarz o nazwie <strong>„{ $targetCalendar }”</strong>
-
 # $itemCount (number) - count of selected items (tasks, events) that will be imported
 # $targetCalendar (string) - name of the calendar the items will be imported into
 calendar-summary-title =
@@ -200,7 +125,6 @@ calendar-summary-title =
         [few] Importuj { $itemCount } elementy do kalendarza „{ $targetCalendar }”
        *[many] Importuj { $itemCount } elementów do kalendarza „{ $targetCalendar }”
     }
-
 # $targetCalendar (string) - name of the calendar that will be created
 calendar-summary-description = Zostanie utworzony nowy kalendarz o nazwie „{ $targetCalendar }”.
 
@@ -208,77 +132,52 @@ calendar-summary-description = Zostanie utworzony nowy kalendarz o nazwie „{
 
 # $progressPercent (string) - percent formatted progress (for example "10%")
 progress-pane-importing2 = Importowanie… { $progressPercent }
-
 # $progressPercent (string) - percent formatted progress (for example "10%")
 progress-pane-exporting2 = Eksportowanie… { $progressPercent }
-
 progress-pane-finished-desc2 = Ukończono.
-
 error-pane-title = Błąd
-
 error-message-zip-file-too-big2 = Wybrany plik ZIP jest większy niż 2 GB. Najpierw go rozpakuj, a następnie zaimportuj z rozpakowanego folderu.
-
 error-message-extract-zip-file-failed2 = Rozpakowanie pliku ZIP się nie powiodło. Rozpakuj go ręcznie, a następnie zaimportuj z rozpakowanego folderu.
-
 error-message-failed = Import nieoczekiwanie się nie powiódł. Więcej informacji może być dostępnych w konsoli błędów.
-
 error-failed-to-parse-ics-file = W pliku nie znaleziono elementów możliwych do zaimportowania.
-
 error-export-failed = Eksport nieoczekiwanie się nie powiódł. Więcej informacji może być dostępnych w konsoli błędów.
-
 error-message-no-profile = Nie odnaleziono profilu.
 
 ## <csv-field-map> element
 
 csv-first-row-contains-headers = Pierwszy wiersz zawiera nazwy pól
-
 csv-source-field = Pole źródłowe
-
 csv-source-first-record = Pierwszy rekord
-
 csv-source-second-record = Drugi rekord
-
 csv-target-field = Pole książki adresowej
 
 ## Export tab
 
 export-profile-title = Eksportuj konta, wiadomości, książki adresowe i ustawienia do pliku ZIP.
-
 export-profile-description = Jeśli obecny profil jest większy niż 2 GB, sugerujemy samodzielne utworzenie kopii zapasowej.
-
 export-open-profile-folder = Otwórz folder profilu
-
 export-file-picker2 = Eksportuj do pliku ZIP
-
 export-brand-name = { -brand-product-name }
 
 ## Summary pane
 
 summary-pane-title = Dane do zaimportowania
-
 summary-pane-start = Rozpocznij import
-
 summary-pane-warning = { -brand-product-name } będzie musiał zostać ponownie uruchomiony po ukończeniu importowania.
-
 summary-pane-start-over = Uruchom ponownie narzędzie importowania
 
 ## Footer area
 
 footer-help = Potrzebujesz pomocy?
-
 footer-import-documentation = Dokumentacja importowania
-
 footer-export-documentation = Dokumentacja eksportowania
-
 footer-support-forum = Forum pomocy
 
 ## Step navigation on top of the wizard pages
 
 step-list =
     .aria-label = Kroki importowania
-
 step-confirm = Potwierdź
-
 # Variables:
 # $number (number) - step number
 step-count = { $number }
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/aboutSupportMail.ftl b/thunderbird-l10n/pl/localization/pl/messenger/aboutSupportMail.ftl
index 5db85c7e9a919eb68eba6044b050969bcbf76e32..134b11150446248e60f5109ad99f7b561df24727 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/aboutSupportMail.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/aboutSupportMail.ftl
@@ -16,6 +16,7 @@ accounts-default = Domyślne?
 identity-name = Tożsamość
 send-via-email = Wyślij e-mailem
 app-basics-telemetry = Dane telemetrii
+app-basics-glean = Dane Glean
 app-basics-cache-use = Użycie pamięci podręcznej
 mail-libs-title = Biblioteki
 libs-table-heading-library = Biblioteka
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/accountManager.ftl b/thunderbird-l10n/pl/localization/pl/messenger/accountManager.ftl
index ed8e6ed99d039174f6835903dc0b4755c7576e38..babdf2340425452013c5f0f6134f0193d376adce 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/accountManager.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/accountManager.ftl
@@ -12,3 +12,6 @@ edit-vcard-dialog-accept-button = Zapisz
     .accesskey = Z
 edit-vcard-dialog-cancel-button = Anuluj
     .accesskey = A
+account-manager-server-default-icon =
+    .title = Domyślne konto
+    .alt = Ikona gwiazdki
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/accountSettings.ftl b/thunderbird-l10n/pl/localization/pl/messenger/accountSettings.ftl
index 6fbe8159b2db12df85a3ecca3b73921192c6e43f..bcb95a01a7872d18ea21fb0fca761d3aaec5bc1d 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/accountSettings.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/accountSettings.ftl
@@ -1,3 +1,8 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+account-settings-color-label = Kolor:
+    .accesskey = K
+account-settings-reset-color-button =
+    .title = Kolor pierwotny
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/addressbook/aboutAddressBook.ftl b/thunderbird-l10n/pl/localization/pl/messenger/addressbook/aboutAddressBook.ftl
index b5a76c51d1769a0425c4cfb3aa940441518ca12a..87d97543ed8ed953d771388d3d9e5b1c0dddc319 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/addressbook/aboutAddressBook.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/addressbook/aboutAddressBook.ftl
@@ -18,6 +18,14 @@ about-addressbook-toolbar-new-list =
     .label = Nowa lista
 about-addressbook-toolbar-import =
     .label = Importuj
+books-pane-create-contact-button = Nowy kontakt
+    .title = Utwórz nowy kontakt
+books-pane-create-book-button =
+    .title = Utwórz nową książkę adresową
+books-pane-create-list-button =
+    .title = Utwórz nową listę dystrybucyjną
+books-pane-import-button = Importuj
+    .title = Importuj książki adresowe
 
 ## Books
 
@@ -76,6 +84,14 @@ about-addressbook-search =
     .placeholder = Szukaj w „{ $name }”
 about-addressbook-search-all =
     .placeholder = Szukaj we wszystkich książkach adresowych
+# Variables:
+# $name (String) - Name of the address book that will be searched.
+about-addressbook-search2 =
+    .label = Szukaj w „{ $name }”
+    .placeholder = Szukaj w „{ $name }”…
+about-addressbook-search-all2 =
+    .label = Szukaj we wszystkich książkach adresowych
+    .placeholder = Szukaj we wszystkich książkach adresowych…
 about-addressbook-sort-button2 =
     .title = Opcje wyświetlania listy
 about-addressbook-name-format-display =
@@ -92,76 +108,93 @@ about-addressbook-sort-email-ascending =
     .label = Sortuj według adresów e-mail (A→Z)
 about-addressbook-sort-email-descending =
     .label = Sortuj według adresów e-mail (Z→A)
-about-addressbook-horizontal-layout =
-    .label = Przełącz na układ poziomy
-about-addressbook-vertical-layout =
-    .label = Przełącz na układ pionowy
 about-addressbook-table-layout =
     .label = Układ tabeli
 
 ## Card column headers
 ## Each string is listed here twice, and the values should match.
 
-about-addressbook-column-header-generatedname = Imię i nazwisko
-about-addressbook-column-label-generatedname =
-    .label = { about-addressbook-column-header-generatedname }
-about-addressbook-column-header-emailaddresses = Adresy e-mail
-about-addressbook-column-label-emailaddresses =
-    .label = { about-addressbook-column-header-emailaddresses }
-about-addressbook-column-header-phonenumbers = Numery telefonu
-about-addressbook-column-label-phonenumbers =
-    .label = { about-addressbook-column-header-phonenumbers }
-about-addressbook-column-header-addresses = Adresy
-about-addressbook-column-label-addresses =
-    .label = { about-addressbook-column-header-addresses }
-about-addressbook-column-header-title = Tytuł
-about-addressbook-column-label-title =
-    .label = { about-addressbook-column-header-title }
-about-addressbook-column-header-department = Dział
-about-addressbook-column-label-department =
-    .label = { about-addressbook-column-header-department }
-about-addressbook-column-header-organization = Firma/Organizacja
-about-addressbook-column-label-organization =
-    .label = { about-addressbook-column-header-organization }
-about-addressbook-column-header-addrbook = Książka adresowa
-about-addressbook-column-label-addrbook =
-    .label = { about-addressbook-column-header-addrbook }
 about-addressbook-column-header-generatedname2 = Imię i nazwisko
     .title = Sortuj według imienia i nazwiska
 about-addressbook-column-label-generatedname2 =
     .label = Imię i nazwisko
+# Variables:
+# $title (String) - Contact name for tooltip.
+about-addressbook-cell-generatedname2 =
+    .aria-label = Imię i nazwisko
+    .title = { $title }
 about-addressbook-column-header-emailaddresses2 = Adresy e-mail
     .title = Sortuj według adresów e-mail
 about-addressbook-column-label-emailaddresses2 =
     .label = Adresy e-mail
+# Variables:
+# $title (String) - Contact email addresses for tooltip.
+about-addressbook-cell-emailaddresses2 =
+    .aria-label = Adresy e-mail
+    .title = { $title }
 about-addressbook-column-header-nickname2 = Pseudonim
     .title = Sortuj według pseudonimu
 about-addressbook-column-label-nickname2 =
     .label = Pseudonim
+# Variables:
+# $title (String) - Contact nickname for tooltip.
+about-addressbook-cell-nickname2 =
+    .aria-label = Pseudonim
+    .title = { $title }
 about-addressbook-column-header-phonenumbers2 = Numery telefonu
     .title = Sortuj według numerów telefonu
 about-addressbook-column-label-phonenumbers2 =
     .label = Numery telefonu
+# Variables:
+# $title (String) - Contact phone numbers for tooltip.
+about-addressbook-cell-phonenumbers2 =
+    .aria-label = Numery telefonu
+    .title = { $title }
 about-addressbook-column-header-addresses2 = Adresy
     .title = Sortuj według adresów
 about-addressbook-column-label-addresses2 =
     .label = Adresy
+# Variables:
+# $title (String) - Contact addresses for tooltip.
+about-addressbook-cell-addresses2 =
+    .aria-label = Adresy
+    .title = { $title }
 about-addressbook-column-header-title2 = Tytuł
     .title = Sortuj według tytułu
 about-addressbook-column-label-title2 =
     .label = Tytuł
+# Variables:
+# $title (String) - Contact job title for tooltip.
+about-addressbook-cell-title2 =
+    .aria-label = Tytuł
+    .title = { $title }
 about-addressbook-column-header-department2 = Dział
     .title = Sortuj według działu
 about-addressbook-column-label-department2 =
     .label = Dział
+# Variables:
+# $title (String) - Contact department for tooltip.
+about-addressbook-cell-department2 =
+    .aria-label = Dział
+    .title = { $title }
 about-addressbook-column-header-organization2 = Firma/Organizacja
     .title = Sortuj według firmy/organizacji
 about-addressbook-column-label-organization2 =
     .label = Firma/Organizacja
+# Variables:
+# $title (String) - Contact organization for tooltip.
+about-addressbook-cell-organization2 =
+    .aria-label = Firma/Organizacja
+    .title = { $title }
 about-addressbook-column-header-addrbook2 = Książka adresowa
     .title = Sortuj według książki adresowej
 about-addressbook-column-label-addrbook2 =
     .label = Książka adresowa
+# Variables:
+# $title (String) - Contact address for tooltip.
+about-addressbook-cell-addrbook2 =
+    .aria-label = Książka adresowa
+    .title = { $title }
 about-addressbook-cards-context-write =
     .label = Napisz
 about-addressbook-confirm-delete-mixed-title = Usuń kontakty i listy
@@ -197,16 +230,6 @@ about-addressbook-confirm-remove-contacts-title =
        *[other] Usuń kontakty
     }
 # Variables:
-# $count (Number) - The number of contacts to be removed.
-# $name (String) - The name of the contact to be removed, if $count is 1.
-# $list (String) - The name of the list that contacts will be removed from.
-about-addressbook-confirm-remove-contacts =
-    { $count ->
-        [one] Czy na pewno usunąć kontakt „{ $name }” z listy „{ $list }”?
-        [few] Czy na pewno usunąć te { $count } kontakty z listy „{ $list }”?
-       *[many] Czy na pewno usunąć te { $count } kontaktów z listy „{ $list }”?
-    }
-# Variables:
 # $name (String) - The name of the contact to be removed.
 # $list (String) - The name of the list that contacts will be removed from.
 about-addressbook-confirm-remove-contacts-single = Czy na pewno usunąć kontakt „{ $name }” z listy „{ $list }”?
@@ -227,15 +250,6 @@ about-addressbook-confirm-delete-contacts-title =
        *[other] Usuń kontakty
     }
 # Variables:
-# $count (Number) - The number of contacts to be deleted.
-# $name (String) - The name of the contact to be deleted, if $count is 1.
-about-addressbook-confirm-delete-contacts =
-    { $count ->
-        [one] Czy na pewno usunąć kontakt „{ $name }”?
-        [few] Czy na pewno usunąć te { $count } kontakty?
-       *[many] Czy na pewno usunąć te { $count } kontaktów?
-    }
-# Variables:
 # $name (String) - The name of the contact to be deleted.
 about-addressbook-confirm-delete-contacts-single = Czy na pewno usunąć kontakt „{ $name }”?
 # Variables:
@@ -258,30 +272,6 @@ about-addressbook-placeholder-no-search-results = Nie odnaleziono kontaktów
 
 ## Details
 
-# Variables:
-# $count (Number) - The number of selected items (will never be fewer than two)
-about-addressbook-selection-mixed-header =
-    { $count ->
-        [one] { $count } wybrany kontakt i lista
-        [few] { $count } wybrane kontakty i listy
-       *[many] { $count } wybranych kontaktów i list
-    }
-# Variables:
-# $count (Number) - The number of selected contacts
-about-addressbook-selection-contacts-header =
-    { $count ->
-        [one] { $count } wybrany kontakt
-        [few] { $count } wybrane kontakty
-       *[many] { $count } wybranych kontaktów
-    }
-# Variables:
-# $count (Number) - The number of selected lists
-about-addressbook-selection-lists-header =
-    { $count ->
-        [one] { $count } wybrana lista
-        [few] { $count } wybrane listy
-       *[many] { $count } wybranych list
-    }
 # Variables:
 # $count (Number) - The number of selected items (will never be fewer than 2).
 about-addressbook-selection-mixed-header2 =
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/appmenu.ftl b/thunderbird-l10n/pl/localization/pl/messenger/appmenu.ftl
index c74467cd03e251e69806c4f7a4afb196d766a44b..786e5fcf9640d675d551a1028528855935acd2a9 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/appmenu.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/appmenu.ftl
@@ -174,6 +174,9 @@ appmenu-help-get-help =
 appmenu-help-explore-features =
     .label = Odkrywaj możliwości
     .accesskey = m
+appmenu-help-get-release-help =
+    .label = Pomoc programu { -brand-short-name }
+    .accesskey = P
 appmenu-help-shortcuts =
     .label = Skróty klawiaturowe
     .accesskey = S
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/menubar.ftl b/thunderbird-l10n/pl/localization/pl/messenger/menubar.ftl
index 53255fad5e19f4a9aec051b893e60a7441f52da0..70313e6bf043b00a85394f3e5d1c88450cb14132 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/menubar.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/menubar.ftl
@@ -26,6 +26,9 @@ menu-help-get-help =
 menu-help-explore-features =
     .label = Odkrywaj możliwości
     .accesskey = m
+menu-help-get-release-help =
+    .label = Pomoc programu { -brand-short-name }
+    .accesskey = P
 menu-help-shortcuts =
     .label = Skróty klawiaturowe
     .accesskey = S
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/openpgp/changeExpiryDlg.ftl b/thunderbird-l10n/pl/localization/pl/messenger/openpgp/changeExpiryDlg.ftl
index daa37668c14cadbd9424092b997505b58cc31fd4..9c3de3527662ad94c551d32e7a47169451e2fe4d 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/openpgp/changeExpiryDlg.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/openpgp/changeExpiryDlg.ftl
@@ -2,21 +2,25 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-openpgp-change-key-expiry-title =
-    .title = Zmień datę wygaśnięcia klucza
 openpgp-change-expiry-title = Zmień datę wygaśnięcia klucza
+# Variables:
+# $date (String) - Date the key is expiring on.
 info-will-expire = Ten klucz jest obecnie skonfigurowany do wygaśnięcia w dniu { $date }.
 info-already-expired = Ten klucz już wygasł.
 info-does-not-expire = Ten klucz jest obecnie skonfigurowany tak, aby nigdy nie wygasł.
 info-explanation-1 = <b>Po wygaśnięciu klucza</b> nie można już używać go do szyfrowania ani podpisywania cyfrowego.
+# Do not translate: OpenPGP
+info-explanation-1-complex = Ten klucz OpenPGP składa się z klucza głównego i co najmniej jednego klucza podrzędnego <b>z różnymi datami wygaśnięcia</b>.
+select-key-prompt = Klucz do zmiany:
 info-explanation-2 = Aby używać tego klucza przez dłuższy czas, zmień jego datę wygaśnięcia, a następnie ponownie udostępnij klucz publiczny swoim rozmówcom.
-expire-dont-change =
-    .label = Nie zmieniaj daty wygaśnięcia
-expire-never-label =
-    .label = Klucz nigdy nie wygaśnie
-expire-in-label =
-    .label = Klucz wygaśnie za:
-expire-in-months = mies.
+usage-label = Zastosowania:
+algorithm-label = Algorytm:
+created-label = Utworzono:
 expire-no-change-label = Nie zmieniaj daty wygaśnięcia
 expire-in-time-label = Klucz wygaśnie za:
 expire-never-expire-label = Klucz nigdy nie wygaśnie
+partial-label-expired = wygasły
+partial-label-never-expires = nigdy nie wygasa
+# Variables:
+# $date (String) - Date the key is expiring on.
+partial-label-expires = wygasa: { $date }
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/pl/localization/pl/messenger/openpgp/openpgp.ftl
index 1c117dfe09deebc1b0c1fd55f88a6a178c8d80f2..33b0beb143d539ece49358386eae5c953ffaed28 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/openpgp/openpgp.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/openpgp/openpgp.ftl
@@ -4,6 +4,37 @@
 
 e2e-intro-description = Do wysyłania zaszyfrowanych lub cyfrowo podpisanych wiadomości wymagana jest konfiguracja technologii szyfrowania OpenPGP lub S/MIME.
 e2e-intro-description-more = Wybierz swój klucz osobisty, aby umożliwić korzystanie z OpenPGP, lub certyfikat osobisty, aby umożliwić korzystanie z S/MIME. Dla klucza lub certyfikatu osobistego posiadasz odpowiedni tajny klucz.
+# Do not translate: S/MIME, CSR, CA
+e2e-csr-intro = Aby uzyskać nowy osobisty certyfikat S/MIME, wygeneruj żądanie podpisania certyfikatu (CSR) i prześlij je do organu certyfikacji (CA).
+# Do not translate: S/MIME, CSR
+e2e-csr-intro-info = Wybierz katalog lokalny i nazwę dla pliku CSR oraz odpowiedz na poniższe pytania dotyczące ustawiania algorytmu i mocy.
+# A title for a dialog. Do not translate "CSR".
+e2e-csr-title = Wygeneruj CSR
+# A label for a button that proceeds to the next step
+e2e-csr-continue = Kontynuuj
+# A label for a button that goes back one step
+e2e-csr-back = Wstecz
+# Do not translate: CSR
+e2e-csr-button =
+    .label = Wygeneruj i zapisz plik CSR jako…
+# Do not translate: CSR
+e2e-csr-select-title = Algorytm CSR
+# Do not translate: RSA, ECC, S/MIME
+e2e-csr-select-alg = Wybierz RSA (zalecany) lub ECC jako algorytm kryptograficzny dla nowego certyfikatu S/MIME.
+# Do not translate: S/MIME
+e2e-csr-select-strength = Wybierz żądaną moc kryptograficzną (szybsza przy niższych liczbach lub bezpieczniejsza przy wyższych liczbach) dla nowego certyfikatu S/MIME lub zachowaj ustawienie domyślne.
+# $type is a cryptographic algorithm like RSA or ECC
+# $strength is a text that describes an additional property of the cryptographic parameter, such as a number for RSA, or the name of a cryptographic curve for ECC.
+# $file A filename
+# Do not translate: CSR
+e2e-csr-summary = Nowy tajny klucz { $type } ({ $strength }) zostanie wygenerowany w ustawieniach { -brand-short-name(case: "gen") }. Proces ten może zająć trochę czasu i spowodować tymczasowy brak reakcji — prosimy o cierpliwość na tym etapie. W międzyczasie zostanie utworzony plik żądania podpisania certyfikatu (CSR), zapisany jako { $file }.
+# $email An email address
+# Do not translate: CSR
+e2e-csr-include-email = Dołącz adres e-mail ({ $email }) do CSR (zalecane)
+# $file A filename
+e2e-csr-success = CSR zostało pomyślnie zapisane w pliku { $file }
+# $file A filename
+e2e-csr-failure = Nie można zapisać CSR w pliku { $file }
 e2e-signing-description = Podpis cyfrowy umożliwia odbiorcom sprawdzenie, czy wiadomość została wysłana przez Ciebie, a jej treść nie została zmieniona. Zaszyfrowane wiadomości są zawsze domyślnie podpisane.
 e2e-sign-message =
     .label = Podpisz niezaszyfrowane wiadomości
@@ -505,6 +536,7 @@ key-man-button-export-pub-key = E&ksportuj tylko klucze publiczne
 key-man-button-refresh-all = &Odśwież wszystkie klucze
 key-man-loading-keys = Wczytywanie kluczy, proszę czekać…
 ascii-armor-file = Pliki zakodowanego ASCII (*.asc)
+text-file = Pliki tekstowe (*.txt)
 no-key-selected = Aby wykonać wybrane działanie, należy wybrać co najmniej jeden klucz
 export-to-file = Eksportuj klucz publiczny do pliku
 export-keypair-to-file = Eksportuj tajny i publiczny klucz do pliku
@@ -627,6 +659,9 @@ no-update-found = Masz już klucze, które zostały wykryte w Internecie.
 
 ## Strings used in keyRing.sys.mjs & GnuPGCryptoAPI.sys.mjs
 
+
+## Strings used in keyRing.sys.mjs
+
 fail-key-extract = Błąd: polecenie odczytu klucza się nie powiodło
 
 ## Strings used in keyRing.jsm
@@ -646,6 +681,10 @@ confirm-permissive-import = Zaimportowanie się nie powiodło. Importowany klucz
 
 ## Strings used in trust.jsm
 
+# Variables:
+# $fingerprints (String) - A comma-separated list of fingerprints, either one or multiple, for example "ABCDEF7890ABCDEF7890ABCDEF7890ABCDEF7890, 0123456789012345678901234567890123456789"
+imported-secret-with-unsupported-features = Część zaimportowanych tajnych kluczy ogłasza nieobsługiwaną funkcję. Jeśli użyjesz takiego klucza jako klucza osobistego, rozmówcy mogą wysyłać Ci wiadomości lub klucze publiczne w niezgodnym formacie. Dotyczy to importowanych tajnych kluczy z następującymi odciskami: { $fingerprints }.
+help-button = Pomoc
 
 ## Strings used in trust.sys.mjs
 
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/preferences/am-archiveoptions.ftl b/thunderbird-l10n/pl/localization/pl/messenger/preferences/am-archiveoptions.ftl
index e09839a0dd395b1c155973331428cb288d01c985..b555b42f8d71306a111f6f13a7c95356043f66f5 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/preferences/am-archiveoptions.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/preferences/am-archiveoptions.ftl
@@ -16,6 +16,9 @@ archive-monthly =
 keep-folder-structure =
     .label = Utrzymuj istniejącą strukturę folderów w archiwum
     .accesskey = U
+recreate-inbox =
+    .label = Odtwórz folder Odebrane
+    .accesskey = O
 archive-example-label = Przykład
 # This should match the default name for the "Archives" folder.
 archive-folder-name =
@@ -23,3 +26,7 @@ archive-folder-name =
 # This should match the default name for the "Inbox" folder.
 inbox-folder-name =
     .label = Odebrane
+child-folder-name =
+    .label = Podfolder folderu Odebrane
+sibling-folder-name =
+    .label = Folder Odebrane tego samego poziomu
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/preferences/passwordManager.ftl b/thunderbird-l10n/pl/localization/pl/messenger/preferences/passwordManager.ftl
index 68bd0da57a056e4e2d8a97486ceff90f3e673146..2d95f3682136819cd7cb59221a2da074755cd1fe 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/preferences/passwordManager.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/preferences/passwordManager.ftl
@@ -4,9 +4,9 @@
 
 saved-logins =
     .title = Zachowane dane logowania
-saved-logins-title = Zachowane dane logowania
 window-close =
     .key = w
+saved-logins-title = Zachowane dane logowania
 focus-search-primary-shortcut =
     .key = f
 focus-search-alt-shortcut =
@@ -81,3 +81,10 @@ password-os-auth-dialog-message = Potwierdź swoją tożsamość, aby wyświetli
 password-os-auth-dialog-message-macosx = wyświetlenie zachowanych haseł
 # Don't change this label.
 password-os-auth-dialog-caption = { -brand-full-name }
+# The macOS strings are preceded by the operating system with "Thunderbird is trying to ".
+# This message can be seen when attempting to disable osauth in about:preferences.
+password-os-auth-change-dialog-message =
+    { PLATFORM() ->
+        [macos] zmiana ustawień haseł
+       *[other] { -brand-short-name } próbuje zmienić ustawienia haseł. Aby na to pozwolić, zaloguj się na swoim urządzeniu.
+    }
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/preferences/preferences.ftl b/thunderbird-l10n/pl/localization/pl/messenger/preferences/preferences.ftl
index 9242f550e75324afb4f58d981365f32a24f12458..c579578f5845428773d60a230584de5b34eaf422 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/preferences/preferences.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/preferences/preferences.ftl
@@ -571,6 +571,9 @@ primary-password-description = Hasło główne chroni wszystkie hasła użytkown
 primary-password-label =
     .label = Używaj hasła głównego
     .accesskey = U
+# This operation requires the user to authenticate with the operating system (device sign-in)
+forms-os-reauth =
+    .label = Wymagaj zalogowania się na urządzeniu, aby wypełniać hasła i zarządzać nimi
 primary-password-button =
     .label = Zmień hasło główne…
     .accesskey = h
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/searchbar.ftl b/thunderbird-l10n/pl/localization/pl/messenger/searchbar.ftl
index b920f2edb9fabbad9e6750b5f40888fdc8263360..2ea9a5f15a0b118c8950f45c721c34ece00a55fe 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/searchbar.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/searchbar.ftl
@@ -5,3 +5,6 @@
 search-bar-clear-button =
     .alt = Wyczyść
     .title = Wyczyść pole tekstowe
+search-bar-search-button =
+    .alt = Szukaj
+    .title = Szukaj
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/treeView.ftl b/thunderbird-l10n/pl/localization/pl/messenger/treeView.ftl
index e03dfab2f8f7638998706616ad7095808debc222..9a8bc5a44bc3c6cf619df03d8f9b8334cb7d516b 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/treeView.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/treeView.ftl
@@ -19,6 +19,8 @@ tree-list-view-column-picker =
     .title = Zaznacz, które kolumny będą wyświetlane
 tree-list-view-column-picker-restore =
     .label = Przywróć porządek kolumn
+tree-list-view-column-picker-restore-default-columns =
+    .label = Przywróć domyślne kolumny
 tree-list-view-row-thread-button =
     .title = To jest wiadomość z wątkami
 tree-list-view-row-ignored-thread = Wątek ignorowany
diff --git a/thunderbird-l10n/pl/localization/pl/messenger/unifiedToolbar.ftl b/thunderbird-l10n/pl/localization/pl/messenger/unifiedToolbar.ftl
index 5c6600d2f80c08aa92323462145659395e773c3b..5ca383f0e6dd8caf44c65ea7dcb172542b066e6e 100644
--- a/thunderbird-l10n/pl/localization/pl/messenger/unifiedToolbar.ftl
+++ b/thunderbird-l10n/pl/localization/pl/messenger/unifiedToolbar.ftl
@@ -12,6 +12,8 @@ search-bar-button =
     .alt = Szukaj
 search-bar-item =
     .label = Szukaj:
+search-bar-item2 =
+    .label = Szukaj
 search-bar-placeholder = Szukaj…
 # Search bar placeholder with formatted key shortcut hint (platform dependent).
 # The key after the control modifier should match the key from quickSearchCmd.key
@@ -60,6 +62,9 @@ customize-save = Zapisz
 customize-unsaved-changes = Niezapisane zmiany w innych miejscach
 customize-search-bar =
     .label = Przyciski paska wyszukiwania…
+customize-search-bar2 =
+    .label = Przyciski paska wyszukiwania
+    .placeholder = Przyciski paska wyszukiwania…
 customize-spaces-tabs =
     .aria-label = Miejsca
 customize-main-toolbar-target =
diff --git a/thunderbird-l10n/pl/localization/pl/toolkit/about/aboutSupport.ftl b/thunderbird-l10n/pl/localization/pl/toolkit/about/aboutSupport.ftl
index 7443b5b1363d6f46a1938de824955dccb64b4f4a..eb7de7cd43ff43b362484aee012cf9fd875d2b88 100644
--- a/thunderbird-l10n/pl/localization/pl/toolkit/about/aboutSupport.ftl
+++ b/thunderbird-l10n/pl/localization/pl/toolkit/about/aboutSupport.ftl
@@ -421,6 +421,20 @@ support-printing-modified-settings = Zmienione ustawienia drukowania
 support-printing-prefs-name = Nazwa
 support-printing-prefs-value = Wartość
 
+## Remote Settings sections
+
+support-remote-settings-title = Ustawienia zdalne
+support-remote-settings-status = Stan
+support-remote-settings-status-ok = OK
+# Status when synchronization is not working.
+support-remote-settings-status-broken = Nie działa
+support-remote-settings-last-check = Ostatnie sprawdzenie
+support-remote-settings-local-timestamp = Lokalny czas
+support-remote-settings-sync-history = Historia
+support-remote-settings-sync-history-status = Stan
+support-remote-settings-sync-history-datetime = Data
+support-remote-settings-sync-history-infos = Informacje
+
 ## Normandy sections
 
 support-remote-experiments-title = Zdalne eksperymenty
diff --git a/thunderbird-l10n/pl/localization/pl/toolkit/intl/languageNames.ftl b/thunderbird-l10n/pl/localization/pl/toolkit/intl/languageNames.ftl
index 79b36964017f0d4b0b967a58adece00a1cf2dd6e..a32bf16ddc85805c7d470bcea9c7ab4d53774a86 100644
--- a/thunderbird-l10n/pl/localization/pl/toolkit/intl/languageNames.ftl
+++ b/thunderbird-l10n/pl/localization/pl/toolkit/intl/languageNames.ftl
@@ -166,6 +166,7 @@ language-name-se = Lapoński północny
 language-name-sg = Sango
 language-name-si = Syngaleski
 language-name-sk = Słowacki
+language-name-skr = Saraiki
 language-name-sl = Słoweński
 language-name-sm = Samoański
 language-name-sn = Szona
diff --git a/thunderbird-l10n/pl/manifest.json b/thunderbird-l10n/pl/manifest.json
index f91a52f954f296722dea9022f22b3ecee91cb94a..56f6fe920a2f4fe68f78f032a1229bbd4282dc53 100644
--- a/thunderbird-l10n/pl/manifest.json
+++ b/thunderbird-l10n/pl/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Polski (Polish)",
-  "description": "Thunderbird Beta Language Pack for Polski (pl) – Polish",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Polski (pl) – Polish",
+  "version": "128.0.20240710.185639",
   "languages": {
     "pl": {
-      "version": "20240627141814",
+      "version": "20240710213443",
       "chrome_resources": {
         "alerts": "chrome/pl/locale/pl/alerts/",
         "autoconfig": "chrome/pl/locale/pl/autoconfig/",
diff --git a/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/branding/brand.dtd b/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/branding/brand.dtd
index 8ed35ee241c305f6e3f72d2b3a8ba2787e91b0c4..9be97bc60b23bb61a04f3df1c793405b917bf79f 100644
--- a/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/branding/brand.dtd
+++ b/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird e logotipos do Thunderbird
-                                 são marcas registradas da Fundação Mozilla.">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird e os logos do Thunderbird
+                                 são marcas registradas da Mozilla Foundation.">
diff --git a/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/branding/brand.properties b/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/branding/brand.properties
+++ b/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/pt-BR/global/narrate.properties b/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/pt-BR/global/narrate.properties
index 23a4e38418336225f52bb6b71f2c0e53f9c6f8da..8f650add1bd622fa103d7eb25faf9298198e5f38 100644
--- a/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/pt-BR/global/narrate.properties
+++ b/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/pt-BR/global/narrate.properties
@@ -28,6 +28,8 @@ forward = Avançar
 # %S is the keyboard shortcut for the skip forward command
 next-label = Avançar (%S)
 speed = Velocidade
+slow-speed-label = Diminuir velocidade da narração
+fast-speed-label = Aumentar velocidade da narração
 selectvoicelabel = Voz:
 select-voice-header = Voz
 # Default voice is determined by the language of the document.
diff --git a/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/pt-BR/necko/necko.properties b/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/pt-BR/necko/necko.properties
index e2133025a59ddf3f9e134a5795ce715beac25ab4..f10f8e30454f17d50a361947b29bbb7728cf8243 100644
--- a/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/pt-BR/necko/necko.properties
+++ b/thunderbird-l10n/pt-BR/chrome/pt-BR/locale/pt-BR/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=O cookie “%1$S” é inválido porque seu tamanho é grande dem
 CookiePathOversize=O cookie “%1$S” é inválido porque o caminho é grande demais. O tamanho máximo é de %2$S B.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=O cookie “%1$S” foi rejeitado por permissões definidas pelo usuário.
+CookieRejectedEmptyNameAndValue=Cookie com nome e valor vazios foi rejeitado.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=O cookie “%1$S” foi rejeitado por ter caracteres inválidos no nome.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=O cookie “%1$S” foi rejeitado porque está
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=O cookie “%1$S” foi rejeitado porque tem o atributo “Partitioned”, mas falta o atributo “secure”.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=O valor do atributo “%2$S” do cookie “%1$S” foi rejeitado porque o tamanho é grande demais. O tamanho máximo é %3$S B.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=O cookie “%1$S” será rejeitado em breve por ser estrangeiro e não ter o atributo “Partitioned“.
 
diff --git a/thunderbird-l10n/pt-BR/localization/pt-BR/branding/brand.ftl b/thunderbird-l10n/pt-BR/localization/pt-BR/branding/brand.ftl
index 3416b252bb87fc3098d4bfbdac4eb5bd8b344ba7..a03561e3bfe258d88767147b79aa4d63a7121fc4 100644
--- a/thunderbird-l10n/pt-BR/localization/pt-BR/branding/brand.ftl
+++ b/thunderbird-l10n/pt-BR/localization/pt-BR/branding/brand.ftl
@@ -12,11 +12,11 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
 -vendor-short-name = Mozilla
-trademarkInfo = Mozilla Thunderbird e os logotipos do Thunderbird são marcas registradas da Fundação Mozilla.
+trademarkInfo = Mozilla Thunderbird e os logotipos Thunderbird são marcas registradas da Fundação Mozilla.
diff --git a/thunderbird-l10n/pt-BR/localization/pt-BR/devtools/client/tooltips.ftl b/thunderbird-l10n/pt-BR/localization/pt-BR/devtools/client/tooltips.ftl
index 4ea5aba8a56136b35b79812986735e4f6a5a5932..e2a6ae38483d74c84491dcd83681c38f9600eb25 100644
--- a/thunderbird-l10n/pt-BR/localization/pt-BR/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/pt-BR/localization/pt-BR/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Saiba mais</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> não tem efeito neste elemento, pois não é um flex container nem grid container.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> não tem efeito neste elemento, pois não é um flex container, grid container, nem multi-column container.
 inactive-css-not-multicol-container = <strong>{ $property }</strong> não tem efeito neste elemento, pois não é um multi-column container.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = Não há suporte para<s
 inactive-css-placeholder-pseudo-element-not-supported = Não há suporte para<strong>{ $property }</strong> em pseudo-elementos ::placeholder.
 inactive-css-property-because-of-display = <strong>{ $property }</strong> não tem efeito neste elemento, pois tem um display de <strong>{ $display }</strong>.
 inactive-css-not-display-block-on-floated = O valor de <strong>display</strong> foi alterado pelo mecanismo para <strong>block</strong> porque o elemento é <strong>floated</strong>.
+inactive-css-not-display-block-on-floated-2 = O valor de <strong>display</strong> foi alterado pelo mecanismo para <strong>{ $display }</strong> porque o elemento é <strong>floated</strong>.
 inactive-css-property-is-impossible-to-override-in-visited = Não é possível substituir <strong>{ $property }</strong> devido à restrição <strong>:visited</strong>.
 inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> não tem efeito neste elemento, pois não é um elemento posicionado.
 inactive-css-only-replaced-elements = <strong>{ $property }</strong> não tem efeito neste elemento, pois só pode ser aplicado a elementos substituídos.
diff --git a/thunderbird-l10n/pt-BR/manifest.json b/thunderbird-l10n/pt-BR/manifest.json
index db0609b9c07b2feb28363973e4b603433a4c09e8..31a57a4df5aaf2acb6682417606a9736555b119c 100644
--- a/thunderbird-l10n/pt-BR/manifest.json
+++ b/thunderbird-l10n/pt-BR/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Português (BR)",
-  "description": "Thunderbird Beta Language Pack for Português (BR) (pt-BR) – Brazilian Portuguese",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Português (BR) (pt-BR) – Brazilian Portuguese",
+  "version": "128.0.20240710.185639",
   "languages": {
     "pt-BR": {
-      "version": "20240627141857",
+      "version": "20240710213527",
       "chrome_resources": {
         "alerts": "chrome/pt-BR/locale/pt-BR/alerts/",
         "autoconfig": "chrome/pt-BR/locale/pt-BR/autoconfig/",
diff --git a/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/branding/brand.dtd b/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/branding/brand.dtd
index 41c1d5ad4d10e4ea0402477568d6671284409112..53d94a454b65d7b270413bcdb76c6d3643e05c9f 100644
--- a/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/branding/brand.dtd
+++ b/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Os logótipos do Mozilla Thunderbird e Thunderbird
+<!ENTITY  trademarkInfo.part1   "O Mozilla Thunderbird e os logótipos do Thunderbird
                                  são marcas registadas da Fundação Mozilla.">
diff --git a/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/branding/brand.properties b/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/branding/brand.properties
+++ b/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/pt-PT/global/narrate.properties b/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/pt-PT/global/narrate.properties
index 5fbca47cadbb37743ac3873e7b43ebfedafa6cbe..ec792545e9a0ebad3dc9a1018ddd0b84af4284dd 100644
--- a/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/pt-PT/global/narrate.properties
+++ b/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/pt-PT/global/narrate.properties
@@ -28,6 +28,8 @@ forward = Avançar
 # %S is the keyboard shortcut for the skip forward command
 next-label = Avançar (%S)
 speed = Velocidade
+slow-speed-label = Abrandar a narração
+fast-speed-label = Acelerar a narração
 selectvoicelabel = Voz:
 select-voice-header = Voz
 # Default voice is determined by the language of the document.
diff --git a/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/pt-PT/necko/necko.properties b/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/pt-PT/necko/necko.properties
index 05eb74873912db1a905f7914cfca8b6f69036f35..969cdd72aecd3302b2eaf830ea4953865116154b 100644
--- a/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/pt-PT/necko/necko.properties
+++ b/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/pt-PT/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=A cookie “%1$S” é inválida porque o seu tamanho é muito gr
 CookiePathOversize=A cookie “%1$S” é inválida porque o tamanho do seu caminho é muito grande. O tamanho máximo é de %2$S B.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=A cookie “%1$S” foi rejeitada por permissões definidas pelo utilizador.
+CookieRejectedEmptyNameAndValue=A cookie com nome e valor vazios foi rejeitada.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=A cookie “%1$S” foi rejeitada por conter carateres inválidos no nome.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=A cookie “%1$S” foi rejeitada porque está
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=O cookie “%1$S” foi rejeitado porque este tem o atributo “Particionado” mas tem em falta o atributo “seguro”.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=O valor do atributo “%2$S” para a cookie “%1$S” foi rejeitado porque o seu tamanho é muito grande. O tamanho máximo é de %3$S B.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=O cookie “%1$S” será rejeitado em breve porque é externo e não tem o atributo “Particionado“.
 
diff --git a/thunderbird-l10n/pt-PT/localization/pt-PT/branding/brand.ftl b/thunderbird-l10n/pt-PT/localization/pt-PT/branding/brand.ftl
index cf067771001b60d81fea370997f4b0dd63b145e3..c39e7481ec91c57bd0586e1c2725962b9af21872 100644
--- a/thunderbird-l10n/pt-PT/localization/pt-PT/branding/brand.ftl
+++ b/thunderbird-l10n/pt-PT/localization/pt-PT/branding/brand.ftl
@@ -12,11 +12,11 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
 -vendor-short-name = Mozilla
-trademarkInfo = Os logótipos do Mozilla Thunderbird e Thunderbird são marcas registadas da Fundação Mozilla.
+trademarkInfo = O Mozilla Thunderbird e o logótipo do Thunderbird são marcas registadas da Mozilla Foundation.
diff --git a/thunderbird-l10n/pt-PT/localization/pt-PT/devtools/client/tooltips.ftl b/thunderbird-l10n/pt-PT/localization/pt-PT/devtools/client/tooltips.ftl
index 0f95c3dfb75443e1aff9b8695452f172e8145075..d6697e77a722ea132f082e1c418f3338c9163cbc 100644
--- a/thunderbird-l10n/pt-PT/localization/pt-PT/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/pt-PT/localization/pt-PT/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Saber mais</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> não tem efeito neste elemento porque não é um contentor flex ou contentor grid.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> não tem efeito neste elemento pois este não é um contentor flex, contentor grid, ou um contentor multi-colunas.
 inactive-css-not-multicol-container = <strong>{ $property }</strong> não tem efeito neste elemento, pois não é um contentor de várias colunas.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</
 inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> não é suportado em pseudo-elementos ::placeholder.
 inactive-css-property-because-of-display = <strong>{ $property }</strong> não tem efeito neste elemento pois este tem um display de <strong>{ $display }</strong>.
 inactive-css-not-display-block-on-floated = O valor de <strong>display</strong> foi alterado pelo motor para <strong>block</strong> porque o elemento é <strong>floated</strong>.
+inactive-css-not-display-block-on-floated-2 = O valor de <strong>display</strong> foi alterado pelo motor para <strong>{ $display }</strong> porque o elemento está <strong>floated</strong>.
 inactive-css-property-is-impossible-to-override-in-visited = É impossível substituir <strong> { $property } </strong> devido à restrição <strong>:visited </strong>.
 inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> não tem efeito neste elemento porque não é um elemento posicional.
 inactive-css-only-replaced-elements = <strong>{ $property }</strong> não tem efeito neste elemento dado que só pode ser aplicado para elementos substituídos.
diff --git a/thunderbird-l10n/pt-PT/manifest.json b/thunderbird-l10n/pt-PT/manifest.json
index b223b3809314d2b5f39388dabafe4c55f94b8e00..55953828dae9fbe44882ca3721151455a18015ce 100644
--- a/thunderbird-l10n/pt-PT/manifest.json
+++ b/thunderbird-l10n/pt-PT/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Português (PT) (Portuguese)",
-  "description": "Thunderbird Beta Language Pack for Português (PT) (pt-PT) – Portuguese",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Português (PT) (pt-PT) – Portuguese",
+  "version": "128.0.20240710.185639",
   "languages": {
     "pt-PT": {
-      "version": "20240627141941",
+      "version": "20240710213611",
       "chrome_resources": {
         "alerts": "chrome/pt-PT/locale/pt-PT/alerts/",
         "autoconfig": "chrome/pt-PT/locale/pt-PT/autoconfig/",
diff --git a/thunderbird-l10n/rm/chrome/rm/locale/branding/brand.dtd b/thunderbird-l10n/rm/chrome/rm/locale/branding/brand.dtd
index f7f7c175819d7302a57f1a129b44619e4a2957fe..b17ba7860c144520d697c716bb30f96ef13ed213 100644
--- a/thunderbird-l10n/rm/chrome/rm/locale/branding/brand.dtd
+++ b/thunderbird-l10n/rm/chrome/rm/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
 <!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird ed ils logos da Thunderbird
-èn marcas da la Mozilla Foundation.">
+                                 èn marcas commerzialas da la Mozilla Foundation.">
diff --git a/thunderbird-l10n/rm/chrome/rm/locale/branding/brand.properties b/thunderbird-l10n/rm/chrome/rm/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/rm/chrome/rm/locale/branding/brand.properties
+++ b/thunderbird-l10n/rm/chrome/rm/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/rm/chrome/rm/locale/rm/devtools/client/debugger.properties b/thunderbird-l10n/rm/chrome/rm/locale/rm/devtools/client/debugger.properties
index db6c35b2cee2197a15bf94f82fe9e0d4e20ac364..9c76692e09487f2e9a1265e89970a1cc4bd11526 100644
--- a/thunderbird-l10n/rm/chrome/rm/locale/rm/devtools/client/debugger.properties
+++ b/thunderbird-l10n/rm/chrome/rm/locale/rm/devtools/client/debugger.properties
@@ -146,6 +146,12 @@ stopTraceButtonTooltip2=Stop tracing JavaScript frames. (%S)
 # This is used to force logging JavaScript traces in the Web Console.
 traceInWebConsole=Trace in the web console
 
+# LOCALIZATION NOTE (traceInProfiler): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces to a firefox profiler record,
+# which is opened when you stop tracing.
+traceInProfiler=Trace to the profiler
+
 # LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
 # of the trace button, which is in the top of the debugger right sidebar.
 # This is used to force logging JavaScript traces in the stdout.
diff --git a/thunderbird-l10n/rm/chrome/rm/locale/rm/devtools/shared/styleinspector.properties b/thunderbird-l10n/rm/chrome/rm/locale/rm/devtools/shared/styleinspector.properties
index 3d9047dc2a4d11cb141bad585e35cc5b9aee69a3..d5b42501bccd177b578a25f48990291ca841aeb6 100644
--- a/thunderbird-l10n/rm/chrome/rm/locale/rm/devtools/shared/styleinspector.properties
+++ b/thunderbird-l10n/rm/chrome/rm/locale/rm/devtools/shared/styleinspector.properties
@@ -123,6 +123,10 @@ rule.flexToggle.tooltip=Click to toggle the Flexbox highlighter
 # when the mouse is over a CSS Grid toggle icon in the rule view.
 rule.gridToggle.tooltip=Click to toggle the CSS Grid highlighter
 
+# LOCALIZATION NOTE (rule.shapeToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a CSS shape toggle icon in the rule view (e.g. for clip-path property).
+rule.shapeToggle.tooltip=Click to toggle the CSS Shape editor
+
 # LOCALIZATION NOTE (rule.filterStyles.placeholder): This is the placeholder that
 # goes in the search box when no search term has been entered.
 rule.filterStyles.placeholder=Filter Styles
diff --git a/thunderbird-l10n/rm/chrome/rm/locale/rm/global/dom/dom.properties b/thunderbird-l10n/rm/chrome/rm/locale/rm/global/dom/dom.properties
index 9c5a660ce0ef123ea02c88ded3b36f621600fb99..eb2079c61625a104be57a5855cf7d1e09e1d7ebf 100644
--- a/thunderbird-l10n/rm/chrome/rm/locale/rm/global/dom/dom.properties
+++ b/thunderbird-l10n/rm/chrome/rm/locale/rm/global/dom/dom.properties
@@ -256,6 +256,8 @@ ManifestImageUnsupportedPurposes=L'element «%1$S» en la posiziun %2$S cuntegna
 # LOCALIZATION NOTE: %1$S is the name of the parent property that has a repeated purpose (e.g., "icons"). %2$S is the index of the image object that has the repeated purpose (from 0). %3$S is the repeated purposes. E.g. "icons item at index 2 includes repeated purpose(s): a b."
 ManifestImageRepeatedPurposes=L'element «%1$S» en la posiziun %2$S cuntegna almain in intent («purpose») repetì: %3$S.
 PatternAttributeCompileFailure=Impussibel da controllar <input pattern='%S'> perquai ch'il muster n'è betg regexp valid: %S
+# LOCALIZATION NOTE: %1$S is the regexp pattern, %2$S the regexp flags, %3$S the error message. Do not translate <input pattern>
+PatternAttributeCompileFailurev2=Impussibel da controllar <input pattern=‘%1$S’> perquai che «/%1$S/%2$S» n’è nagina regexp valida: %3$S
 # LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
 TargetPrincipalDoesNotMatch=Betg reussì dad exequir ‘postMessage’ sin ‘DOMWindow’: L'origin da la destinaziun furnì (‘%S’) na correspunda betg a l'origin da la fanestra da destinatur (‘%S’).
 # LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
diff --git a/thunderbird-l10n/rm/chrome/rm/locale/rm/global/narrate.properties b/thunderbird-l10n/rm/chrome/rm/locale/rm/global/narrate.properties
index a569e66d92974abf8728cf1044ba6282b20cfe80..2d87282e2390f0d610077d9615be7a393992e8fa 100644
--- a/thunderbird-l10n/rm/chrome/rm/locale/rm/global/narrate.properties
+++ b/thunderbird-l10n/rm/chrome/rm/locale/rm/global/narrate.properties
@@ -12,6 +12,8 @@ back = Enavos
 # "Listen, which allows users to listen to Firefox reading the text,
 # instead of having to read it themselves." This is the name
 # of the feature and it is the label for the popup button.
+# Header for the narrate menu
+read-aloud-header = Leger dad aut
 # %S is the keyboard shortcut for the listen command
 read-aloud-label = Preleger dad aut (%S)
 # %S is the keyboard shortcut for the skip back command
@@ -26,7 +28,10 @@ forward = Enavant
 # %S is the keyboard shortcut for the skip forward command
 next-label = Enavant (%S)
 speed = Sveltezza
+slow-speed-label = Ralentar la prelecziun
+fast-speed-label = Accelerar la prelecziun
 selectvoicelabel = Vusch:
+select-voice-header = Vusch
 # Default voice is determined by the language of the document.
 defaultvoice = Standard
 
diff --git a/thunderbird-l10n/rm/chrome/rm/locale/rm/necko/necko.properties b/thunderbird-l10n/rm/chrome/rm/locale/rm/necko/necko.properties
index b25e5b1de88f9a7cce5c430486006718b10060da..979fd24e7ec20651bd230183474e83881a6fed39 100644
--- a/thunderbird-l10n/rm/chrome/rm/locale/rm/necko/necko.properties
+++ b/thunderbird-l10n/rm/chrome/rm/locale/rm/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=Il cookie «%1$S» è nunvalid perquai ch'el è memia grond. La g
 CookiePathOversize=Il cookie «%1$S» è nunvalid perquai che ses percurs (path) è memia grond. La grondezza maximala è %2$S bytes.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Il cookie «%1$S» è vegnì refusà a basa da las permissiuns definidas da l'utilisadra u da l'utilisader.
+CookieRejectedEmptyNameAndValue=In cookie cun in num vid ed ina valur vida è vegnì refusà.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Il cookie «%1$S» è vegnì refusà perquai che ses num cuntegna caracters nunvalids.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=Il cookie «%1$S» è vegnì refusà perquai ch
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=Il cookie «%1$S» è vegnì refusà perquai ch’el ha l’attribut «Partitioned», ma l’attribut «secure» manca.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=La valur da l’attribut «%2$S» per il cookie «%1$S» è vegnì refusà perquai che sia dimensiun è memia gronda. La dimensiun maximala è %3$S B.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Il cookie «%1$S» vegn prest a vegnir refusà perquai ch’el è ester e n’ha nagin attribut «Partitioned».
 
diff --git a/thunderbird-l10n/rm/localization/rm/branding/brand.ftl b/thunderbird-l10n/rm/localization/rm/branding/brand.ftl
index aa30ee793d1fe486d9d5b2d789bec3cb81286807..a0aa57c921a18b207ae4c237d997457ad7715fad 100644
--- a/thunderbird-l10n/rm/localization/rm/branding/brand.ftl
+++ b/thunderbird-l10n/rm/localization/rm/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/rm/localization/rm/calendar/calendar.ftl b/thunderbird-l10n/rm/localization/rm/calendar/calendar.ftl
index f88283fc64bee20483f7d46c0b71c2d2e26eff52..9080f3975ca7a00b3a002a3496fef5270d3e5fb0 100644
--- a/thunderbird-l10n/rm/localization/rm/calendar/calendar.ftl
+++ b/thunderbird-l10n/rm/localization/rm/calendar/calendar.ftl
@@ -357,6 +357,7 @@ html-task-completed = { $task } (cumplettà)
 # Categories
 add-category = Agiuntar ina categoria
 multiple-categories = Pliras categorias
+no-categories = Nagina
 calendar-today = Oz
 calendar-tomorrow = Damaun
 yesterday = Ier
diff --git a/thunderbird-l10n/rm/localization/rm/devtools/client/perftools.ftl b/thunderbird-l10n/rm/localization/rm/devtools/client/perftools.ftl
index 87b44bf17bf50fd85828b0e121f8e6d54f668294..59bc9f4c6d7efb0f893f34978716db35046735cd 100644
--- a/thunderbird-l10n/rm/localization/rm/devtools/client/perftools.ftl
+++ b/thunderbird-l10n/rm/localization/rm/devtools/client/perftools.ftl
@@ -43,9 +43,7 @@ perftools-range-interval-milliseconds = { NUMBER($interval, maxFractionalUnits:
 
 # The size of the memory buffer used to store things in the profiler.
 perftools-range-entries-label = Buffer size:
-
 perftools-custom-threads-label = Add custom threads by name:
-
 perftools-devtools-interval-label = Interval:
 perftools-devtools-threads-label = Threads:
 perftools-devtools-settings-label = Settings
@@ -113,7 +111,6 @@ perftools-thread-jvm-pool =
 ##
 
 perftools-record-all-registered-threads = Bypass selections above and record all registered threads
-
 perftools-tools-threads-input-label =
     .title = These thread names are a comma separated list that is used to enable profiling of the threads in the profiler. The name needs to be only a partial match of the thread name to be included. It is whitespace sensitive.
 
@@ -121,7 +118,6 @@ perftools-tools-threads-input-label =
 ## devtools.performance.new-panel-onboarding preference is true.
 
 perftools-onboarding-message = <b>New</b>: { -profiler-brand-name } is now integrated into Developer Tools. <a>Learn more</a> about this powerful new tool.
-
 perftools-onboarding-close-button =
     .aria-label = Close the onboarding message
 
@@ -129,32 +125,29 @@ perftools-onboarding-close-button =
 
 
 # Presets and their l10n IDs are defined in the file
-# devtools/client/performance-new/popup/background.jsm.js
+# devtools/client/performance-new/shared/background.jsm.js
 # The same labels and descriptions are also defined in appmenu.ftl.
 
+
 # Presets and their l10n IDs are defined in the file
-# devtools/client/performance-new/shared/background.jsm.js
+# devtools/client/performance-new/shared/background.sys.mjs
 # The same labels and descriptions are also defined in appmenu.ftl.
 
 perftools-presets-web-developer-label = Web Developer
 perftools-presets-web-developer-description = Recommended preset for most web app debugging, with low overhead.
-
 perftools-presets-firefox-label = { -brand-shorter-name }
 perftools-presets-firefox-description = Recommended preset for profiling { -brand-shorter-name }.
-
 perftools-presets-graphics-label = Graphics
 perftools-presets-graphics-description = Preset for investigating graphics bugs in { -brand-shorter-name }.
-
 perftools-presets-media-label = Media
 perftools-presets-media-description2 = Preset for investigating audio and video bugs in { -brand-shorter-name }.
-
 perftools-presets-networking-label = Networking
 perftools-presets-networking-description = Preset for investigating networking bugs in { -brand-shorter-name }.
-
 # "Power" is used in the sense of energy (electricity used by the computer).
 perftools-presets-power-label = Power
 perftools-presets-power-description = Preset for investigating power use bugs in { -brand-shorter-name }, with low overhead.
-
+perftools-presets-debug-label = Debug
+perftools-presets-debug-description = Preset for debugging in { -brand-shorter-name }. High overhead, do not use for performance work but use for focusing on understanding browser behavior.
 perftools-presets-custom-label = Custom
 
 ##
diff --git a/thunderbird-l10n/rm/localization/rm/devtools/client/tooltips.ftl b/thunderbird-l10n/rm/localization/rm/devtools/client/tooltips.ftl
index 0ce2009f47039927e238561eef6450b990dee441..e5f644e3bfaeb2c136274eb4ec0a87b815bfbc95 100644
--- a/thunderbird-l10n/rm/localization/rm/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/rm/localization/rm/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Learn more</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> has no effect on this element since it’s neither a flex container nor a grid container.
 inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> has no effect on this element since it’s not a flex container, a grid container, or a multi-column container.
 inactive-css-not-multicol-container = <strong>{ $property }</strong> has no effect on this element since it’s not a multi-column container.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</
 inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> is not supported on ::placeholder pseudo-elements.
 inactive-css-property-because-of-display = <strong>{ $property }</strong> has no effect on this element since it has a display of <strong>{ $display }</strong>.
 inactive-css-not-display-block-on-floated = The <strong>display</strong> value has been changed by the engine to <strong>block</strong> because the element is <strong>floated</strong>.
+inactive-css-not-display-block-on-floated-2 = The <strong>display</strong> value has been changed by the engine to <strong>{ $display }</strong> because the element is <strong>floated</strong>.
 inactive-css-property-is-impossible-to-override-in-visited = It’s impossible to override <strong>{ $property }</strong> due to <strong>:visited</strong> restriction.
 inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> has no effect on this element since it’s not a positioned element.
 inactive-css-only-replaced-elements = <strong>{ $property }</strong> has no effect on this element since it can only be applied to replaced elements.
@@ -39,6 +50,7 @@ inactive-css-not-table = <strong>{ $property }</strong> has no effect on this el
 inactive-css-not-table-cell = <strong>{ $property }</strong> has no effect on this element since it’s not a table cell.
 inactive-scroll-padding-when-not-scroll-container = <strong>{ $property }</strong> has no effect on this element since it doesn’t scroll.
 inactive-css-border-image = <strong>{ $property }</strong> has no effect on this element since it cannot be applied to internal table elements where <strong>border-collapse</strong> is set to <strong>collapse</strong> on the parent table element.
+inactive-css-resize = <strong>{ $property }</strong> has no effect on this element since it can only be applied to elements with an overflow value other than visible, and to certain replaced elements, such as textareas.
 inactive-css-ruby-element = <strong>{ $property }</strong> has no effect on this element since it is a ruby element. Its size is determined by the font size of the ruby text.
 
 ## In the Rule View when a CSS property cannot be successfully applied we display
@@ -55,6 +67,7 @@ inactive-css-text-wrap-balance-lines-exceeded =
        *[other] <strong>{ $property }</strong> has no effect on this element because it has more than { $lineCount } lines.
     }
 inactive-css-text-wrap-balance-fragmented = <strong>{ $property }</strong> has no effect on this element because it is fragmented, i.e. its content is split across multiple columns or pages.
+inactive-css-no-width-height = <strong>{ $property }</strong> has no effect on this element since its width and height cannot be set.
 
 ## In the Rule View when a CSS property cannot be successfully applied we display
 ## an icon. When this icon is hovered this message is displayed to explain how
@@ -84,6 +97,7 @@ inactive-css-not-table-fix = Try adding <strong>display:table</strong> or <stron
 inactive-css-not-table-cell-fix = Try adding <strong>display:table-cell</strong>. { learn-more }
 inactive-scroll-padding-when-not-scroll-container-fix = Try adding <strong>overflow:auto</strong>, <strong>overflow:scroll</strong>, or <strong>overflow:hidden</strong>. { learn-more }
 inactive-css-border-image-fix = On the parent table element, remove the property or change the value of <strong>border-collapse</strong> to a value other than <strong>collapse</strong>. { learn-more }
+inactive-css-resize-fix = Try setting <strong>overflow</strong> to a value other than <strong>visible</strong> or targeting a replaced element supporting it. { learn-more }
 inactive-css-ruby-element-fix = Try changing the <strong>font-size</strong> of the ruby text. { learn-more }
 inactive-css-text-wrap-balance-lines-exceeded-fix = Try to reduce the number of lines. { learn-more }
 inactive-css-text-wrap-balance-fragmented-fix = Avoid splitting the element’s content e.g. by removing the columns or by using <strong>page-break-inside:avoid</strong>. { learn-more }
diff --git a/thunderbird-l10n/rm/localization/rm/messenger/appmenu.ftl b/thunderbird-l10n/rm/localization/rm/messenger/appmenu.ftl
index f86598bf12df4b00631a3cf349f8a00856233415..61ae105cb0ba5b0eefdb3590b4257ad67a6b29e2 100644
--- a/thunderbird-l10n/rm/localization/rm/messenger/appmenu.ftl
+++ b/thunderbird-l10n/rm/localization/rm/messenger/appmenu.ftl
@@ -174,6 +174,9 @@ appmenu-help-get-help =
 appmenu-help-explore-features =
     .label = Scuvrir las funcziuns
     .accesskey = f
+appmenu-help-get-release-help =
+    .label = Retschaiver agid per { -brand-short-name }
+    .accesskey = R
 appmenu-help-shortcuts =
     .label = Scursanidas da tastas
     .accesskey = u
diff --git a/thunderbird-l10n/rm/localization/rm/messenger/menubar.ftl b/thunderbird-l10n/rm/localization/rm/messenger/menubar.ftl
index dcc7236a8c57d14c878b824dfc59e687c34cf054..09b8d4324b69e8d5762592b0cd97ed355f2b2cf3 100644
--- a/thunderbird-l10n/rm/localization/rm/messenger/menubar.ftl
+++ b/thunderbird-l10n/rm/localization/rm/messenger/menubar.ftl
@@ -26,6 +26,9 @@ menu-help-get-help =
 menu-help-explore-features =
     .label = Scuvrir las funcziuns
     .accesskey = f
+menu-help-get-release-help =
+    .label = Retschaiver agid per { -brand-short-name }
+    .accesskey = R
 menu-help-shortcuts =
     .label = Scursanidas da tastas
     .accesskey = c
diff --git a/thunderbird-l10n/rm/manifest.json b/thunderbird-l10n/rm/manifest.json
index 439d6e8c432c134b4db07e9439e40f3240e4c06b..4fa671596401996dffe5462d0d9478657f8b7972 100644
--- a/thunderbird-l10n/rm/manifest.json
+++ b/thunderbird-l10n/rm/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Rumantsch (Romansh)",
-  "description": "Thunderbird Beta Language Pack for Rumantsch (rm) – Romansh",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Rumantsch (rm) – Romansh",
+  "version": "128.0.20240710.185639",
   "languages": {
     "rm": {
-      "version": "20240627141717",
+      "version": "20240710213101",
       "chrome_resources": {
         "alerts": "chrome/rm/locale/rm/alerts/",
         "autoconfig": "chrome/rm/locale/rm/autoconfig/",
diff --git a/thunderbird-l10n/ro/chrome/ro/locale/branding/brand.dtd b/thunderbird-l10n/ro/chrome/ro/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..867e37f88a2c6d64c02c12ccd7d4a6edb7ee6430 100644
--- a/thunderbird-l10n/ro/chrome/ro/locale/branding/brand.dtd
+++ b/thunderbird-l10n/ro/chrome/ro/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird and the Thunderbird logos
-                                 are trademarks of the Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird și logourile Thunderbird
+                                 sunt mărci înregistrate ale Mozilla Foundation.">
diff --git a/thunderbird-l10n/ro/chrome/ro/locale/branding/brand.properties b/thunderbird-l10n/ro/chrome/ro/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/ro/chrome/ro/locale/branding/brand.properties
+++ b/thunderbird-l10n/ro/chrome/ro/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/ro/localization/ro/branding/brand.ftl b/thunderbird-l10n/ro/localization/ro/branding/brand.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..52f2d38d598d2c16a3ffeea2137af0bee86428fe
--- /dev/null
+++ b/thunderbird-l10n/ro/localization/ro/branding/brand.ftl
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
diff --git a/thunderbird-l10n/ro/manifest.json b/thunderbird-l10n/ro/manifest.json
index 911bd192f3a56a2bf29723bf9e19420650dc09f3..821bf4edd2595fd54b919eb2a25a0ef5d06162db 100644
--- a/thunderbird-l10n/ro/manifest.json
+++ b/thunderbird-l10n/ro/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Română (Romanian)",
-  "description": "Thunderbird Beta Language Pack for Română (ro) – Romanian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Română (ro) – Romanian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "ro": {
-      "version": "20240627141759",
+      "version": "20240710213144",
       "chrome_resources": {
         "alerts": "chrome/ro/locale/ro/alerts/",
         "autoconfig": "chrome/ro/locale/ro/autoconfig/",
diff --git a/thunderbird-l10n/ru/chrome/ru/locale/branding/brand.dtd b/thunderbird-l10n/ru/chrome/ru/locale/branding/brand.dtd
index fa05bef29fb7cc0499ae795cac565a4a412246e8..5b5a8340e43c8a0444d00e940aedd9f8149797d5 100644
--- a/thunderbird-l10n/ru/chrome/ru/locale/branding/brand.dtd
+++ b/thunderbird-l10n/ru/chrome/ru/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Бета">
-<!ENTITY  brandShorterName      "Thunderbird Бета">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Бета">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/ru/chrome/ru/locale/branding/brand.properties b/thunderbird-l10n/ru/chrome/ru/locale/branding/brand.properties
index bdb274b8f9512159f91a729e2193fa3caed5f022..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/ru/chrome/ru/locale/branding/brand.properties
+++ b/thunderbird-l10n/ru/chrome/ru/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Бета
-brandShorterName=Thunderbird Бета
-brandFullName=Mozilla Thunderbird Бета
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/ru/localization/ru/branding/brand.ftl b/thunderbird-l10n/ru/localization/ru/branding/brand.ftl
index ac0bc20fed8ec36db3bfadbd5649058733fe10ea..74adcf85052955580b0630a0f511aa12bc531d89 100644
--- a/thunderbird-l10n/ru/localization/ru/branding/brand.ftl
+++ b/thunderbird-l10n/ru/localization/ru/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Бета
--brand-short-name = Thunderbird Бета
--brand-full-name = Mozilla Thunderbird Бета
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/ru/manifest.json b/thunderbird-l10n/ru/manifest.json
index 1d9abb44729598632238e57ecbe57d9d1e6d0448..bf725d394ae665607c5c657cd406cd6dccf428e7 100644
--- a/thunderbird-l10n/ru/manifest.json
+++ b/thunderbird-l10n/ru/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Русский (Russian)",
-  "description": "Thunderbird Beta Language Pack for Русский (ru) – Russian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Русский (ru) – Russian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "ru": {
-      "version": "20240627141841",
+      "version": "20240710213228",
       "chrome_resources": {
         "alerts": "chrome/ru/locale/ru/alerts/",
         "autoconfig": "chrome/ru/locale/ru/autoconfig/",
diff --git a/thunderbird-l10n/sk/chrome/sk/locale/branding/brand.dtd b/thunderbird-l10n/sk/chrome/sk/locale/branding/brand.dtd
index 0b3738faa145e1db8882def532c235ce67c2b0f3..ed4f7fa37c813eedd65a19e1cb36369ab6e42cf8 100644
--- a/thunderbird-l10n/sk/chrome/sk/locale/branding/brand.dtd
+++ b/thunderbird-l10n/sk/chrome/sk/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
 <!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird a logá Thunderbird
- sú ochranné známky patriace Mozilla Foundation.">
+                                 sú ochranné známky patriace Mozilla Foundation.">
diff --git a/thunderbird-l10n/sk/chrome/sk/locale/branding/brand.properties b/thunderbird-l10n/sk/chrome/sk/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/sk/chrome/sk/locale/branding/brand.properties
+++ b/thunderbird-l10n/sk/chrome/sk/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/sk/chrome/sk/locale/sk/global/narrate.properties b/thunderbird-l10n/sk/chrome/sk/locale/sk/global/narrate.properties
index e012fb9986d9e61b961208edb047e13e6e6c6f1f..22ef0f0477a4c52a7c6312e2fafee4ff60d1c819 100644
--- a/thunderbird-l10n/sk/chrome/sk/locale/sk/global/narrate.properties
+++ b/thunderbird-l10n/sk/chrome/sk/locale/sk/global/narrate.properties
@@ -28,6 +28,8 @@ forward = Dopredu
 # %S is the keyboard shortcut for the skip forward command
 next-label = Dopredu (%S)
 speed = Rýchlosť
+slow-speed-label = Spomaliť rozprávanie
+fast-speed-label = Zrýchliť rozprávanie
 selectvoicelabel = Hlas:
 select-voice-header = Hlas
 # Default voice is determined by the language of the document.
diff --git a/thunderbird-l10n/sk/chrome/sk/locale/sk/necko/necko.properties b/thunderbird-l10n/sk/chrome/sk/locale/sk/necko/necko.properties
index f0529dd6d72c2ef64be89d43568b8d3b664558a1..81783a5784c16314660ebb7ca0dec8014cc53dce 100644
--- a/thunderbird-l10n/sk/chrome/sk/locale/sk/necko/necko.properties
+++ b/thunderbird-l10n/sk/chrome/sk/locale/sk/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=Súbor cookie “%1$S” nie je platný, pretože je príliš ve
 CookiePathOversize=Súbor cookie “%1$S” nie je platný, pretože jeho cesta je príliš veľká. Maximálna veľkosť je %2$S bajtov.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Súbor cookie “%1$S” bol odmietnutý na základe používateľských nastavení.
+CookieRejectedEmptyNameAndValue=Súbor cookie s prázdnym názvom a prázdnou hodnotou bol odmietnutý.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Súbor cookie “%1$S” bol odmietnutý pre neplatné znaky v jeho názve.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=Súbor cookie “%1$S” bol odmietnutý, preto
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=Súbor cookie “%1$S” bol odmietnutý, pretože má atribút “Partitioned”, ale chýba mu atribút “secure”.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=Hodnota atribútu "%2$S" pre súbor cookie "%1$S" bola odmietnutá, pretože jeho veľkosť je príliš veľká. Maximálna veľkosť je %3$S bajtov.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Súbor cookie “%1$S” bude čoskoro odmietnutý, pretože je cudzí a nemá atribút “Partitioned“.
 
diff --git a/thunderbird-l10n/sk/localization/sk/branding/brand.ftl b/thunderbird-l10n/sk/localization/sk/branding/brand.ftl
index f46d9c8141893e594e3016a35c2458a9a5f4e710..1da315eeea0cf386a34cd2f7ffa8d5fcb1de210a 100644
--- a/thunderbird-l10n/sk/localization/sk/branding/brand.ftl
+++ b/thunderbird-l10n/sk/localization/sk/branding/brand.ftl
@@ -14,45 +14,45 @@
 
 -brand-shorter-name =
     { $case ->
-        [gen] Thunderbirdu Beta
-        [dat] Thunderbirdu Beta
-        [acc] Thunderbird Beta
-        [loc] Thunderbirde Beta
-        [ins] Thunderbirdom Beta
-       *[nom] Thunderbird Beta
+       *[nom] Thunderbird
+        [gen] Thunderbirdu
+        [dat] Thunderbirdu
+        [acc] Thunderbird
+        [loc] Thunderbirde
+        [ins] Thunderbirdom
     }
     .gender = masculine
 -brand-short-name =
     { $case ->
-        [gen] Thunderbirdu Beta
-        [dat] Thunderbirdu Beta
-        [acc] Thunderbird Beta
-        [loc] Thunderbirde Beta
-        [ins] Thunderbirdom Beta
-       *[nom] Thunderbird Beta
+       *[nom] Thunderbird
+        [gen] Thunderbirdu
+        [dat] Thunderbirdu
+        [acc] Thunderbird
+        [loc] Thunderbirde
+        [ins] Thunderbirdom
     }
     .gender = masculine
--brand-full-name = Mozilla Thunderbird Beta
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name =
     { $case ->
+       *[nom] Thunderbird
         [gen] Thunderbirdu
         [dat] Thunderbirdu
         [acc] Thunderbird
         [loc] Thunderbirde
         [ins] Thunderbirdom
-       *[nom] Thunderbird
     }
     .gender = masculine
 -vendor-short-name =
     { $case ->
+       *[nom] Mozilla
         [gen] Mozilly
         [dat] Mozille
         [acc] Mozillu
         [loc] Mozille
         [ins] Mozillou
-       *[nom] Mozilla
     }
     .gender = feminine
 trademarkInfo = Mozilla Thunderbird a logá Thunderbird sú ochranné známky patriace Mozilla Foundation.
diff --git a/thunderbird-l10n/sk/localization/sk/devtools/client/tooltips.ftl b/thunderbird-l10n/sk/localization/sk/devtools/client/tooltips.ftl
index 061341824fae9632b8c719ef7495b4a42056aece..ebc347e8f140346b9b994f2115e32f595ec80a89 100644
--- a/thunderbird-l10n/sk/localization/sk/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/sk/localization/sk/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Ďalšie informácie</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = Vlastnosť <strong>{ $property }</strong> nemá na tento prvok žiadny vplyv, pretože nejde ani o kontajner typu flex ani o kontajner s mriežkou.
 inactive-css-not-grid-or-flex-container-or-multicol-container = Vlastnosť <strong>{ $property }</strong> nemá na tento prvok žiadny vplyv, pretože nejde o kontajner typu flex, kontajner s mriežkou či kontajner s viacerými stĺpcami.
 inactive-css-not-multicol-container = Vlastnosť <strong>{ $property }</strong> nemá žiadny vplyv na tento prvok, pretože nejde o kontajner s viacerými stĺpcami.
@@ -28,7 +38,8 @@ inactive-css-first-line-pseudo-element-not-supported = Vlastnosť <strong>{ $pro
 inactive-css-first-letter-pseudo-element-not-supported = Vlastnosť <strong>{ $property }</strong> nie je podporovaná na pseudoprvkoch ::first-letter.
 inactive-css-placeholder-pseudo-element-not-supported = Vlastnosť <strong>{ $property }</strong> nie je podporovaná na pseudoprvkoch ::placeholder.
 inactive-css-property-because-of-display = Vlastnosť <strong>{ $property }</strong> nemá na tento prvok žiadny vplyv, pretože tento má nastavenú vlastnosť display na hodnotu <strong>{ $display }</strong>.
-inactive-css-not-display-block-on-floated = Hodnota vlastnosti <strong>display</strong> bola vykresľovačom zmenená na <strong>block</strong>, pretože prvok je má nastavený <strong>float</strong>.
+inactive-css-not-display-block-on-floated = Hodnota vlastnosti <strong>display</strong> bola vykresľovačom zmenená na <strong>block</strong>, pretože prvok je <strong>plávajúci</strong>.
+inactive-css-not-display-block-on-floated-2 = Hodnota vlastnosti <strong>display</strong> bola vykresľovačom zmenená na <strong>{ $display }</strong>, pretože prvok je <strong>plávajúci</strong>.
 inactive-css-property-is-impossible-to-override-in-visited = Nie je možné prepísať vlastnosť <strong>{ $property }</strong> z dôvodu obmedzenia selektorom <strong>:visited</strong>.
 inactive-css-position-property-on-unpositioned-box = Vlastnosť <strong>{ $property }</strong> nemá na tento prvok žiadny vplyv, pretože nejde o prvok s definovanou pozíciou.
 inactive-css-only-replaced-elements = Vlastnosť <strong>{ $property }</strong> nemá na tento prvok žiadny vplyv, pretože ju možno použiť iba na nahradené prvky.
diff --git a/thunderbird-l10n/sk/manifest.json b/thunderbird-l10n/sk/manifest.json
index 9e3e87c6b217d32faa293713edb5943c0ea56c64..6d5703f8a48d36004c0ff1647fe6c54f2b08fcee 100644
--- a/thunderbird-l10n/sk/manifest.json
+++ b/thunderbird-l10n/sk/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Slovenčina (Slovak)",
-  "description": "Thunderbird Beta Language Pack for Slovenčina (sk) – Slovak",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Slovenčina (sk) – Slovak",
+  "version": "128.0.20240710.185639",
   "languages": {
     "sk": {
-      "version": "20240627141924",
+      "version": "20240710213312",
       "chrome_resources": {
         "alerts": "chrome/sk/locale/sk/alerts/",
         "autoconfig": "chrome/sk/locale/sk/autoconfig/",
diff --git a/thunderbird-l10n/sl/chrome/sl/locale/branding/brand.dtd b/thunderbird-l10n/sl/chrome/sl/locale/branding/brand.dtd
index 4b3d778fb4933da8871f5914c676f67177fafbe4..b35ee9e02da85498ff13322bbd51548eb0f89433 100644
--- a/thunderbird-l10n/sl/chrome/sl/locale/branding/brand.dtd
+++ b/thunderbird-l10n/sl/chrome/sl/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/sl/chrome/sl/locale/branding/brand.properties b/thunderbird-l10n/sl/chrome/sl/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/sl/chrome/sl/locale/branding/brand.properties
+++ b/thunderbird-l10n/sl/chrome/sl/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/sl/localization/sl/branding/brand.ftl b/thunderbird-l10n/sl/localization/sl/branding/brand.ftl
index 153e9c6235d8112dff68b007849d680df9095426..bbdce7e47adf879a2905f8cdf2b4561fe0de0042 100644
--- a/thunderbird-l10n/sl/localization/sl/branding/brand.ftl
+++ b/thunderbird-l10n/sl/localization/sl/branding/brand.ftl
@@ -14,49 +14,41 @@
 
 -brand-shorter-name =
     { $sklon ->
-        [rodilnik] Thunderbirda Beta
-        [dajalnik] Thunderbirdu Beta
-        [tozilnik] Thunderbird Beta
-        [mestnik] Thunderbirdu Beta
-        [orodnik] Thunderbirdom Beta
-       *[imenovalnik] Thunderbird Beta
+       *[imenovalnik] Thunderbird
+        [rodilnik] Thunderbirda
+        [dajalnik] Thunderbirdu
+        [tozilnik] Thunderbird
+        [mestnik] Thunderbirdu
+        [orodnik] Thunderbirdom
     }
 -brand-short-name =
     { $sklon ->
-        [rodilnik] Thunderbirda Beta
-        [dajalnik] Thunderbirdu Beta
-        [tozilnik] Thunderbird Beta
-        [mestnik] Thunderbirdu Beta
-        [orodnik] Thunderbirdom Beta
-       *[imenovalnik] Thunderbird Beta
-    }
--brand-full-name =
-    { $sklon ->
-        [rodilnik] Mozilla Thunderbirda Beta
-        [dajalnik] Mozilla Thunderbirdu Beta
-        [tozilnik] Mozilla Thunderbird Beta
-        [mestnik] Mozilla Thunderbirdu Beta
-        [orodnik] Mozilla Thunderbirdom Beta
-       *[imenovalnik] Mozilla Thunderbird Beta
+       *[imenovalnik] Thunderbird
+        [rodilnik] Thunderbirda
+        [dajalnik] Thunderbirdu
+        [tozilnik] Thunderbird
+        [mestnik] Thunderbirdu
+        [orodnik] Thunderbirdom
     }
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name =
     { $sklon ->
+       *[imenovalnik] Thunderbird
         [rodilnik] Thunderbirda
         [dajalnik] Thunderbirdu
         [tozilnik] Thunderbird
         [mestnik] Thunderbirdu
         [orodnik] Thunderbirdom
-       *[imenovalnik] Thunderbird
     }
 -vendor-short-name =
     { $sklon ->
+       *[imenovalnik] Mozilla
         [rodilnik] Mozille
         [dajalnik] Mozilli
         [tozilnik] Mozillo
         [mestnik] Mozilli
         [orodnik] Mozillo
-       *[imenovalnik] Mozilla
     }
-trademarkInfo = Mozilla Thunderbird in logotipi Thunderbirda so blagovne znamke organizacije Mozilla Foundation.
+trademarkInfo = Mozilla Thunderbird in logotip Thunderbirda sta blagovni znamki Mozilla Foundation.
diff --git a/thunderbird-l10n/sl/manifest.json b/thunderbird-l10n/sl/manifest.json
index d5c77d744324668cc5e6f68dfcbfb8f31b7e98c2..7b6871889c724a390074ff6026661b1c1e59dc60 100644
--- a/thunderbird-l10n/sl/manifest.json
+++ b/thunderbird-l10n/sl/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Slovenščina (Slovenian)",
-  "description": "Thunderbird Beta Language Pack for Slovenščina (sl) – Slovenian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Slovenščina (sl) – Slovenian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "sl": {
-      "version": "20240627142007",
+      "version": "20240710213356",
       "chrome_resources": {
         "alerts": "chrome/sl/locale/sl/alerts/",
         "autoconfig": "chrome/sl/locale/sl/autoconfig/",
diff --git a/thunderbird-l10n/sq/chrome/sq/locale/branding/brand.dtd b/thunderbird-l10n/sq/chrome/sq/locale/branding/brand.dtd
index 62bfb3a3b5fc5b41c26dd529fcecf08c4d0e7112..53508e9be9f14f3734d399a7cbc93eca834a58c1 100644
--- a/thunderbird-l10n/sq/chrome/sq/locale/branding/brand.dtd
+++ b/thunderbird-l10n/sq/chrome/sq/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Logoja Mozilla Thunderbird dhe ajo Thunderbird
+<!ENTITY  trademarkInfo.part1   "Stema e Mozilla Thunderbird-it dhe ajo e Thunderbird-it
                                  janë shenja tregtare të Mozilla Foundation-it.">
diff --git a/thunderbird-l10n/sq/chrome/sq/locale/branding/brand.properties b/thunderbird-l10n/sq/chrome/sq/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/sq/chrome/sq/locale/branding/brand.properties
+++ b/thunderbird-l10n/sq/chrome/sq/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/sq/localization/sq/branding/brand.ftl b/thunderbird-l10n/sq/localization/sq/branding/brand.ftl
index 57b7f30fca0c72c5220b0515e3aa92a1c9a82255..fe8607280732ed54255bde42d05d50e9e55acdb0 100644
--- a/thunderbird-l10n/sq/localization/sq/branding/brand.ftl
+++ b/thunderbird-l10n/sq/localization/sq/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/sq/manifest.json b/thunderbird-l10n/sq/manifest.json
index a446ce05336fe25d92e4c1b47884ce841b32d145..b010a00cc1a7527aa509c6aed9bc8238395607b2 100644
--- a/thunderbird-l10n/sq/manifest.json
+++ b/thunderbird-l10n/sq/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Shqip (Albanian)",
-  "description": "Thunderbird Beta Language Pack for Shqip (sq) – Albanian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Shqip (sq) – Albanian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "sq": {
-      "version": "20240627141633",
+      "version": "20240710213352",
       "chrome_resources": {
         "alerts": "chrome/sq/locale/sq/alerts/",
         "autoconfig": "chrome/sq/locale/sq/autoconfig/",
diff --git a/thunderbird-l10n/sr/chrome/sr/locale/branding/brand.dtd b/thunderbird-l10n/sr/chrome/sr/locale/branding/brand.dtd
index 13876d36a80a3b51a42e3b4f1e755e9b81aaabd2..c6b4e92504f58bac55fd39bdb119651588bbb97d 100644
--- a/thunderbird-l10n/sr/chrome/sr/locale/branding/brand.dtd
+++ b/thunderbird-l10n/sr/chrome/sr/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
 <!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird и Thunderbird логотипи
-                                 су робне марке Mozilla фондације.">
+                                 су робне марке фондације Mozilla.">
diff --git a/thunderbird-l10n/sr/chrome/sr/locale/branding/brand.properties b/thunderbird-l10n/sr/chrome/sr/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/sr/chrome/sr/locale/branding/brand.properties
+++ b/thunderbird-l10n/sr/chrome/sr/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/sr/localization/sr/branding/brand.ftl b/thunderbird-l10n/sr/localization/sr/branding/brand.ftl
index 157e35cee0cbe58b8743deb1637d2ea42601e0e0..a3edde190c42100ce8c4119f0667c5b8726763c8 100644
--- a/thunderbird-l10n/sr/localization/sr/branding/brand.ftl
+++ b/thunderbird-l10n/sr/localization/sr/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/sr/manifest.json b/thunderbird-l10n/sr/manifest.json
index 526296f7b43eaf3b2d62809e10225f0f9ee37c30..9faef156e972cb84c6c2435ab8f71e60830675e1 100644
--- a/thunderbird-l10n/sr/manifest.json
+++ b/thunderbird-l10n/sr/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Cрпски (Serbian)",
-  "description": "Thunderbird Beta Language Pack for Cрпски (sr) – Serbian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Cрпски (sr) – Serbian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "sr": {
-      "version": "20240627141715",
+      "version": "20240710213435",
       "chrome_resources": {
         "alerts": "chrome/sr/locale/sr/alerts/",
         "autoconfig": "chrome/sr/locale/sr/autoconfig/",
diff --git a/thunderbird-l10n/sv-SE/chrome/sv-SE/locale/branding/brand.dtd b/thunderbird-l10n/sv-SE/chrome/sv-SE/locale/branding/brand.dtd
index b9d8bbbf21ecb1c4d2341dd0e4da671d55e5916d..e90524b288d1fde37d3a218e8c55325290c47d6c 100644
--- a/thunderbird-l10n/sv-SE/chrome/sv-SE/locale/branding/brand.dtd
+++ b/thunderbird-l10n/sv-SE/chrome/sv-SE/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird och Thunderbird-logotyperna
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird och Thunderbird-logotyper
                                  är varumärken som tillhör Mozilla Foundation.">
diff --git a/thunderbird-l10n/sv-SE/chrome/sv-SE/locale/branding/brand.properties b/thunderbird-l10n/sv-SE/chrome/sv-SE/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/sv-SE/chrome/sv-SE/locale/branding/brand.properties
+++ b/thunderbird-l10n/sv-SE/chrome/sv-SE/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/sv-SE/localization/sv-SE/branding/brand.ftl b/thunderbird-l10n/sv-SE/localization/sv-SE/branding/brand.ftl
index 0da76f71ae72abb32da7c8804ac23ee14f27d0e2..a41a3bafc578973692e6be5434fa2bfbdfdcee11 100644
--- a/thunderbird-l10n/sv-SE/localization/sv-SE/branding/brand.ftl
+++ b/thunderbird-l10n/sv-SE/localization/sv-SE/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/sv-SE/manifest.json b/thunderbird-l10n/sv-SE/manifest.json
index 923577e64ed31d6351d168078527b619ad2402c9..f2875430f94842eda4450baa17dffa8105bc756f 100644
--- a/thunderbird-l10n/sv-SE/manifest.json
+++ b/thunderbird-l10n/sv-SE/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Svenska (Swedish)",
-  "description": "Thunderbird Beta Language Pack for Svenska (sv-SE) – Swedish",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Svenska (sv-SE) – Swedish",
+  "version": "128.0.20240710.185639",
   "languages": {
     "sv-SE": {
-      "version": "20240627141759",
+      "version": "20240710213519",
       "chrome_resources": {
         "alerts": "chrome/sv-SE/locale/sv-SE/alerts/",
         "autoconfig": "chrome/sv-SE/locale/sv-SE/autoconfig/",
diff --git a/thunderbird-l10n/th/chrome/th/locale/branding/brand.dtd b/thunderbird-l10n/th/chrome/th/locale/branding/brand.dtd
index e01b7d22f2de1aee0a6266e4d4ef7dc11a435009..f0472f5ecf4df2c3328ad6d5472b5ae3a6311519 100644
--- a/thunderbird-l10n/th/chrome/th/locale/branding/brand.dtd
+++ b/thunderbird-l10n/th/chrome/th/locale/branding/brand.dtd
@@ -1,12 +1,12 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird และโลโก้ Thunderbird เป็นเครื่องหมายการค้าของ Mozilla Foundation">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird และโลโก้ Thunderbird เป็นเครื่องหมายการค้าของมูลนิธิ Mozilla">
diff --git a/thunderbird-l10n/th/chrome/th/locale/branding/brand.properties b/thunderbird-l10n/th/chrome/th/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/th/chrome/th/locale/branding/brand.properties
+++ b/thunderbird-l10n/th/chrome/th/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/th/localization/th/branding/brand.ftl b/thunderbird-l10n/th/localization/th/branding/brand.ftl
index c7d91fa5c83cb85b70db2ff4da3a3c0ca9654460..291101ba8768981d4cf265cdf4c09f89326e5247 100644
--- a/thunderbird-l10n/th/localization/th/branding/brand.ftl
+++ b/thunderbird-l10n/th/localization/th/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/th/manifest.json b/thunderbird-l10n/th/manifest.json
index e82221ec0ddb7635150017b6de36cfd4597dfdfa..0eb0ac4dd803ea7ea2dd6a4501e61fb4bf42e2fc 100644
--- a/thunderbird-l10n/th/manifest.json
+++ b/thunderbird-l10n/th/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: ไทย (Thai)",
-  "description": "Thunderbird Beta Language Pack for ไทย (th) – Thai",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for ไทย (th) – Thai",
+  "version": "128.0.20240710.185639",
   "languages": {
     "th": {
-      "version": "20240627141842",
+      "version": "20240710213602",
       "chrome_resources": {
         "alerts": "chrome/th/locale/th/alerts/",
         "autoconfig": "chrome/th/locale/th/autoconfig/",
diff --git a/thunderbird-l10n/tr/chrome/tr/locale/branding/brand.dtd b/thunderbird-l10n/tr/chrome/tr/locale/branding/brand.dtd
index 00e26fe0a31ea3ad9a12071d82a17e0237dcf7a6..c0f3eb90086120bc993ea4d320c8437e3de1816e 100644
--- a/thunderbird-l10n/tr/chrome/tr/locale/branding/brand.dtd
+++ b/thunderbird-l10n/tr/chrome/tr/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/tr/chrome/tr/locale/branding/brand.properties b/thunderbird-l10n/tr/chrome/tr/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/tr/chrome/tr/locale/branding/brand.properties
+++ b/thunderbird-l10n/tr/chrome/tr/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/tr/chrome/tr/locale/tr/devtools/client/debugger.properties b/thunderbird-l10n/tr/chrome/tr/locale/tr/devtools/client/debugger.properties
index 37a957c4e8a2497ddc162bdb65c3a30b34b47624..0791456232b554571e39501c54c0c54831594cf2 100644
--- a/thunderbird-l10n/tr/chrome/tr/locale/tr/devtools/client/debugger.properties
+++ b/thunderbird-l10n/tr/chrome/tr/locale/tr/devtools/client/debugger.properties
@@ -146,6 +146,12 @@ stopTraceButtonTooltip2=JavaScript frame’lerini izlemeyi durdur. (%S)
 # This is used to force logging JavaScript traces in the Web Console.
 traceInWebConsole=Web konsolunda izle
 
+# LOCALIZATION NOTE (traceInProfiler): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces to a firefox profiler record,
+# which is opened when you stop tracing.
+traceInProfiler=Profilleyiciye izle
+
 # LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
 # of the trace button, which is in the top of the debugger right sidebar.
 # This is used to force logging JavaScript traces in the stdout.
diff --git a/thunderbird-l10n/tr/chrome/tr/locale/tr/global/dom/dom.properties b/thunderbird-l10n/tr/chrome/tr/locale/tr/global/dom/dom.properties
index 19f1fd44b058b73c265a10bebcbdc6de4260cd25..9c86423d6319f8ba0c272a72b19e1a5a8d81e428 100644
--- a/thunderbird-l10n/tr/chrome/tr/locale/tr/global/dom/dom.properties
+++ b/thunderbird-l10n/tr/chrome/tr/locale/tr/global/dom/dom.properties
@@ -256,6 +256,8 @@ ManifestImageUnsupportedPurposes=%2$S numaralı indeksteki %1$S öğesinin amac
 # LOCALIZATION NOTE: %1$S is the name of the parent property that has a repeated purpose (e.g., "icons"). %2$S is the index of the image object that has the repeated purpose (from 0). %3$S is the repeated purposes. E.g. "icons item at index 2 includes repeated purpose(s): a b."
 ManifestImageRepeatedPurposes=%2$S numaralı indeksteki %1$S öğesinin amacı/amaçları tekrarlanıyor: %3$S.
 PatternAttributeCompileFailure=<input pattern='%S'> kontrol edilemedi çünkü pattern geçerli bir regexp değil: %S
+# LOCALIZATION NOTE: %1$S is the regexp pattern, %2$S the regexp flags, %3$S the error message. Do not translate <input pattern>
+PatternAttributeCompileFailurev2=<input pattern=‘%1$S’> kontrol edilemedi çünkü ‘/%1$S/%2$S’ geçerli bir regexp değil: %3$S
 # LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
 TargetPrincipalDoesNotMatch='DOMWindow'da 'postMessage' çalıştırılamadı. Sağlanan hedef köken ('%S') alıcının pencere kökeniyle ('%S') eşleşmiyor.
 # LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
diff --git a/thunderbird-l10n/tr/chrome/tr/locale/tr/global/narrate.properties b/thunderbird-l10n/tr/chrome/tr/locale/tr/global/narrate.properties
index d9c0fcded0071d0d81b4a1164e99a89b71aea7e3..b5c773f2314eb82ad12617fddc71c736863ab86a 100644
--- a/thunderbird-l10n/tr/chrome/tr/locale/tr/global/narrate.properties
+++ b/thunderbird-l10n/tr/chrome/tr/locale/tr/global/narrate.properties
@@ -28,6 +28,8 @@ forward = İleri
 # %S is the keyboard shortcut for the skip forward command
 next-label = İleri (%S)
 speed = Hız
+slow-speed-label = Anlatımı yavaşlat
+fast-speed-label = Anlatımı hızlandır
 selectvoicelabel = Ses:
 select-voice-header = Ses
 # Default voice is determined by the language of the document.
diff --git a/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/am-main.dtd b/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/am-main.dtd
index dc3a02e50b75d95486c28273b3afa4db839181ee..98298e40ea364e5ae479687bea2f1868724f11fa 100644
--- a/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/am-main.dtd
+++ b/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/am-main.dtd
@@ -6,17 +6,17 @@
 
 <!ENTITY accountTitle.label "Hesap Ayarları">
 <!ENTITY accountName.label "Hesap adı:">
-<!ENTITY accountName.accesskey "d">
+<!ENTITY accountName.accesskey "H">
 <!ENTITY identityTitle.label "Varsayılan kimlik">
 <!ENTITY identityDesc.label "Her hesabın bir kimliği vardır. İletilerinizi okuyan kişiler bu bilgileri görür.">
 <!ENTITY name.label "Adınız:">
-<!ENTITY name.accesskey "s">
+<!ENTITY name.accesskey "A">
 <!ENTITY email.label "E-posta adresi:">
 <!ENTITY email.accesskey "E">
 <!ENTITY catchAll.label "Teslim üst bilgileri eşleştiğinde bu kimlikten yanıt ver:">
 <!ENTITY catchAll.accesskey "ü">
 <!ENTITY replyTo.label "Yanıt adresi:">
-<!ENTITY replyTo.accesskey "s">
+<!ENTITY replyTo.accesskey "Y">
 <!ENTITY replyTo.placeholder "Alıcılar bu diğer adrese yanıt verecektir">
 <!ENTITY organization.label "Kurum:">
 <!ENTITY organization.accesskey "K">
@@ -25,7 +25,7 @@
 <!ENTITY signatureHtml.label "HTML kullan (örn. &lt;b&gt;kalın&lt;/b&gt;)">
 <!ENTITY signatureHtml.accesskey "L">
 <!ENTITY signatureFile.label "Bunun yerine imzayı bir dosyadan ekle (metin, HTML veya resim):">
-<!ENTITY signatureFile.accesskey "d">
+<!ENTITY signatureFile.accesskey "B">
 <!ENTITY edit.label "Düzenle…">
 <!ENTITY choose.label "Seç…">
 <!ENTITY choose.accesskey "e">
diff --git a/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/folderWidgets.properties b/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/folderWidgets.properties
index ff80e9a86a37668762710d03ff0ecbcec47f98f5..252aea8d1bd5910fac7ab398cee7c21b841181d9 100644
--- a/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/folderWidgets.properties
+++ b/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/folderWidgets.properties
@@ -6,7 +6,7 @@
 # %S=name of the Local folders account
 globalInbox=Küresel gelen kutusu (%S)
 # LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
-verboseFolderFormat=%2$S hesabındaki %1$S
+verboseFolderFormat=%1$S / %2$S
 chooseFolder=Klasör seç…
 chooseAccount=Hesap seçin…
 noFolders=Kullanılabilir klasör yok
diff --git a/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/messenger.properties b/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/messenger.properties
index 600a0e5bbcde502792bebc1afd188d3692c2a332..29eba77d84c023ab58ac1e1e9e69161dc8864130 100644
--- a/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/messenger.properties
+++ b/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/messenger.properties
@@ -79,7 +79,7 @@ cantMoveMsgWOBodyOffline=Çevrimdışı çalışırken, çevrimdışı kullanım
 operationFailedFolderBusy=Başka bir işlem bu klasörü kullanmakta olduğu için işlem başarısız oldu. Lütfen ilgili işlemin tamamlanmasını bekleyip yeniden deneyin.
 folderRenameFailed=Klasör yeniden adlandırılamadı. Ya ad geçerli değil ya da klasör için izniniz yok.
 # LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
-verboseFolderFormat=%2$S sunucusundaki %1$S
+verboseFolderFormat=%1$S / %2$S
 # LOCALIZATION NOTE(filterFolderTruncateFailed): %1$S is replaced by the folder name, %2$S is replaced by the brandShortName
 filterFolderTruncateFailed='%1$S' dizinindeki iletilerin filtrelenmesinden sonra gelen postada bir hata oluştu. %2$S uygulamasını kapatmanız ve INBOX.msf dosyasını silmeniz gerekebilir.
 
diff --git a/thunderbird-l10n/tr/chrome/tr/locale/tr/necko/necko.properties b/thunderbird-l10n/tr/chrome/tr/locale/tr/necko/necko.properties
index 0594d6fca03b25c020c7b5507e612895a9387c48..0bcd25660a99c621b2925fc3f2f162fd33e387ce 100644
--- a/thunderbird-l10n/tr/chrome/tr/locale/tr/necko/necko.properties
+++ b/thunderbird-l10n/tr/chrome/tr/locale/tr/necko/necko.properties
@@ -71,6 +71,7 @@ CookieOversize=“%1$S” çerezi geçersiz çünkü boyutu çok büyük. Maksim
 CookiePathOversize=“%1$S” çerezi geçersiz çünkü yol boyutu çok büyük. Maksimum boyut %2$S bayttır.
 # LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
 CookieRejectedByPermissionManager=Kullanıcının kısıtladığı izinler nedeniyle “%1$S” çerezi reddedildi.
+CookieRejectedEmptyNameAndValue=Adı ve değeri boş olan çerez reddedildi.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=Adındaki geçersiz karakterler nedeniyle “%1$S” çerezi reddedildi.
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
@@ -95,6 +96,9 @@ CookieRejectedForNonSameSiteness=“SameSite” özniteliği “Lax” veya “S
 # LOCALIZATION NOTE (CookieRejectedPartitionedRequiresSecure): %1$S is the cookie name.
 CookieRejectedPartitionedRequiresSecure=“%1$S” çerezinde “Partitioned” özniteliği olmasına rağmen “secure” özniteliği olmadığı için çerez reddedildi.
 
+# LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=“%1$S” çerezi için “%2$S” özniteliğinin değeri, boyutu çok büyük olduğu için reddedildi. Maksimum boyut %3$S bayttır.
+
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=“%1$S” çerezi yabancı olduğu için ve “Partitioned“ özniteliğine sahip olmadığı için yakında reddedilecektir.
 
diff --git a/thunderbird-l10n/tr/localization/tr/branding/brand.ftl b/thunderbird-l10n/tr/localization/tr/branding/brand.ftl
index 90dc254472fb2955c537398e82677b65587a81a5..31a05a82a5911567150cb0c6f7ee703007a14848 100644
--- a/thunderbird-l10n/tr/localization/tr/branding/brand.ftl
+++ b/thunderbird-l10n/tr/localization/tr/branding/brand.ftl
@@ -12,11 +12,11 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
 -vendor-short-name = Mozilla
-trademarkInfo = Mozilla Thunderbird adı ve Thunderbird logoları Mozilla Vakfı’nın tescilli markalarıdır.
+trademarkInfo = Mozilla Thunderbird adı ve Thunderbird logoları, Mozilla Vakfı’nın tescilli markalarıdır.
diff --git a/thunderbird-l10n/tr/localization/tr/devtools/client/tooltips.ftl b/thunderbird-l10n/tr/localization/tr/devtools/client/tooltips.ftl
index 06abff0864e22f0d0cd0d4ba59754b68b04a98df..9130c23cb39f6201c1911ea9fea5ff789ff9955d 100644
--- a/thunderbird-l10n/tr/localization/tr/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/tr/localization/tr/devtools/client/tooltips.ftl
@@ -14,6 +14,16 @@ learn-more = <span data-l10n-name="link">Daha fazla bilgi al</span>
 ##   $property (string) - A CSS property name e.g. "color".
 ##   $display (string) - A CSS display value e.g. "inline-block".
 
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## The variables are all passed from the same place, in `InactiveCssTooltipHelper#getTemplate`
+## (devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js#95)
+## Variables:
+##   $property (string) - A CSS property name e.g. "color".
+##   $display (string) - A CSS display value e.g. "inline-block".
+
 inactive-css-not-grid-or-flex-container = Bu eleman flex kapsayıcı veya grid kapsayıcı olmadığı için <strong>{ $property }</strong> özelliğinin bu eleman üzerinde etkisi yoktur.
 inactive-css-not-grid-or-flex-container-or-multicol-container = Bu eleman flex kapsayıcı, grid kapsayıcı veya çok sütunlu kapsayıcı olmadığı için <strong>{ $property }</strong> özelliğinin bu eleman üzerinde etkisi yoktur.
 inactive-css-not-multicol-container = Bu eleman bir çok sütunlu kapsayıcı olmadığı için <strong>{ $property }</strong> özelliğinin bu eleman üzerinde etkisi yoktur.
@@ -29,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</
 inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> özelliği ::placeholder sözde elemanlarında desteklenmez.
 inactive-css-property-because-of-display = Bu eleman <strong>{ $display }</strong> olarak görüntülendiği için <strong>{ $property }</strong> özelliğinin bu eleman üzerinde etkisi yoktur.
 inactive-css-not-display-block-on-floated = Bu eleman <strong>floated</strong> olduğu için <strong>display</strong> değeri motor tarafından <strong>block</strong> olarak değiştirildi.
+inactive-css-not-display-block-on-floated-2 = Bu eleman <strong>floated</strong> olduğu için <strong>display</strong> değeri motor tarafından <strong>{ $display }</strong> olarak değiştirildi.
 inactive-css-property-is-impossible-to-override-in-visited = <strong>:visited</strong> kısıtlaması nedeniyle <strong>{ $property }</strong> geçersiz kılınamaz.
 inactive-css-position-property-on-unpositioned-box = Bu elemanın pozisyonu olmadığı için <strong>{ $property }</strong> özelliğinin bu eleman üzerinde etkisi yoktur.
 inactive-css-only-replaced-elements = Yalnızca değiştirilen elemanlara uygulanabileceği için <strong>{ $property }</strong> özelliğinin bu eleman üzerinde etkisi yoktur.
diff --git a/thunderbird-l10n/tr/localization/tr/messenger/appmenu.ftl b/thunderbird-l10n/tr/localization/tr/messenger/appmenu.ftl
index ed6c35cf2f29bc0e73d2534f24aeca4f9ca311a0..c1bc545ebdf291ed1fce2d7c47c91c797c173d73 100644
--- a/thunderbird-l10n/tr/localization/tr/messenger/appmenu.ftl
+++ b/thunderbird-l10n/tr/localization/tr/messenger/appmenu.ftl
@@ -174,6 +174,9 @@ appmenu-help-get-help =
 appmenu-help-explore-features =
     .label = Özellikleri keşfet
     .accesskey = Ö
+appmenu-help-get-release-help =
+    .label = { -brand-short-name } hakkında yardım al
+    .accesskey = r
 appmenu-help-shortcuts =
     .label = Klavye kısayolları
     .accesskey = K
diff --git a/thunderbird-l10n/tr/localization/tr/messenger/menubar.ftl b/thunderbird-l10n/tr/localization/tr/messenger/menubar.ftl
index fcb487ac7047df5aa15c26a9ca292599fddffb71..6e9a8c5515ad5bdc0283f19438c5ef8ea4410482 100644
--- a/thunderbird-l10n/tr/localization/tr/messenger/menubar.ftl
+++ b/thunderbird-l10n/tr/localization/tr/messenger/menubar.ftl
@@ -26,6 +26,9 @@ menu-help-get-help =
 menu-help-explore-features =
     .label = Özellikleri keşfet
     .accesskey = Ö
+menu-help-get-release-help =
+    .label = { -brand-short-name } hakkında yardım al
+    .accesskey = r
 menu-help-shortcuts =
     .label = Klavye kısayolları
     .accesskey = K
diff --git a/thunderbird-l10n/tr/manifest.json b/thunderbird-l10n/tr/manifest.json
index 7900129e7a8b32a3c53057aa65cfb627c2d957a0..0d956891bbe5ff14dcff431f06733b5ae71006b2 100644
--- a/thunderbird-l10n/tr/manifest.json
+++ b/thunderbird-l10n/tr/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Türkçe (Turkish)",
-  "description": "Thunderbird Beta Language Pack for Türkçe (tr) – Turkish",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Türkçe (tr) – Turkish",
+  "version": "128.0.20240710.185639",
   "languages": {
     "tr": {
-      "version": "20240627141925",
+      "version": "20240710213646",
       "chrome_resources": {
         "alerts": "chrome/tr/locale/tr/alerts/",
         "autoconfig": "chrome/tr/locale/tr/autoconfig/",
diff --git a/thunderbird-l10n/uk/chrome/uk/locale/branding/brand.dtd b/thunderbird-l10n/uk/chrome/uk/locale/branding/brand.dtd
index 1b10e286cc7984e8e466b9debbf2ecd53e63db74..7d71499cf3ba4b014044cc4720f6da6dfdcc17e0 100644
--- a/thunderbird-l10n/uk/chrome/uk/locale/branding/brand.dtd
+++ b/thunderbird-l10n/uk/chrome/uk/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
 <!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird і логотипи Thunderbird
-                                 є торговельними марками компанії Mozilla Foundation.">
+                                 є торговельними марками Mozilla Foundation.">
diff --git a/thunderbird-l10n/uk/chrome/uk/locale/branding/brand.properties b/thunderbird-l10n/uk/chrome/uk/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/uk/chrome/uk/locale/branding/brand.properties
+++ b/thunderbird-l10n/uk/chrome/uk/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/uk/localization/uk/branding/brand.ftl b/thunderbird-l10n/uk/localization/uk/branding/brand.ftl
index fa0d0a08ba6e8867473afbe4bcfe6794bbdbdf44..eb9060ffae22837da90d8b536350fb3d3244e6f0 100644
--- a/thunderbird-l10n/uk/localization/uk/branding/brand.ftl
+++ b/thunderbird-l10n/uk/localization/uk/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/uk/manifest.json b/thunderbird-l10n/uk/manifest.json
index 2a36ca4b2f2c58e82044443013ced394d300708d..a8677db0758dddea615d1331e3013d79cae8ceee 100644
--- a/thunderbird-l10n/uk/manifest.json
+++ b/thunderbird-l10n/uk/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Українська (Ukrainian)",
-  "description": "Thunderbird Beta Language Pack for Українська (uk) – Ukrainian",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Українська (uk) – Ukrainian",
+  "version": "128.0.20240710.185639",
   "languages": {
     "uk": {
-      "version": "20240627141617",
+      "version": "20240710212927",
       "chrome_resources": {
         "alerts": "chrome/uk/locale/uk/alerts/",
         "autoconfig": "chrome/uk/locale/uk/autoconfig/",
diff --git a/thunderbird-l10n/uz/chrome/uz/locale/branding/brand.dtd b/thunderbird-l10n/uz/chrome/uz/locale/branding/brand.dtd
index 85e034cc4b7c37913fa2569cfb39b76be7b9a151..0ed7d848571989fcdbfb37373f861237a4b9eab3 100644
--- a/thunderbird-l10n/uz/chrome/uz/locale/branding/brand.dtd
+++ b/thunderbird-l10n/uz/chrome/uz/locale/branding/brand.dtd
@@ -1,9 +1,9 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
diff --git a/thunderbird-l10n/uz/chrome/uz/locale/branding/brand.properties b/thunderbird-l10n/uz/chrome/uz/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/uz/chrome/uz/locale/branding/brand.properties
+++ b/thunderbird-l10n/uz/chrome/uz/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/uz/manifest.json b/thunderbird-l10n/uz/manifest.json
index dc4747ec836dcd8654805a156f8a7ba4916bce2f..db25bd1f85416bca4800287c4c71367c88c5a277 100644
--- a/thunderbird-l10n/uz/manifest.json
+++ b/thunderbird-l10n/uz/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: O‘zbek (Uzbek)",
-  "description": "Thunderbird Beta Language Pack for O‘zbek (uz) – Uzbek",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for O‘zbek (uz) – Uzbek",
+  "version": "128.0.20240710.185639",
   "languages": {
     "uz": {
-      "version": "20240627141701",
+      "version": "20240710213010",
       "chrome_resources": {
         "alerts": "chrome/uz/locale/uz/alerts/",
         "autoconfig": "chrome/uz/locale/uz/autoconfig/",
diff --git a/thunderbird-l10n/vi/chrome/vi/locale/branding/brand.dtd b/thunderbird-l10n/vi/chrome/vi/locale/branding/brand.dtd
index 0c6629b0931f72d2e953e5b12fd7bb4b369dc18a..55ed130a12bba04f0b26c0947a834385c08edbe6 100644
--- a/thunderbird-l10n/vi/chrome/vi/locale/branding/brand.dtd
+++ b/thunderbird-l10n/vi/chrome/vi/locale/branding/brand.dtd
@@ -1,13 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird và logo Thunderbird
-                                 là thương hiệu của Mozilla Foundation.">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird và các biểu tượng Thunderbird
+                                 là nhãn hiệu của Mozilla Foundation.">
diff --git a/thunderbird-l10n/vi/chrome/vi/locale/branding/brand.properties b/thunderbird-l10n/vi/chrome/vi/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/vi/chrome/vi/locale/branding/brand.properties
+++ b/thunderbird-l10n/vi/chrome/vi/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/vi/chrome/vi/locale/vi/devtools/shared/styleinspector.properties b/thunderbird-l10n/vi/chrome/vi/locale/vi/devtools/shared/styleinspector.properties
index 503fc06a1a5415c60492237546dfaa15e70fc268..47772ff8342693465b4973d56e0ab991756002ed 100644
--- a/thunderbird-l10n/vi/chrome/vi/locale/vi/devtools/shared/styleinspector.properties
+++ b/thunderbird-l10n/vi/chrome/vi/locale/vi/devtools/shared/styleinspector.properties
@@ -63,6 +63,12 @@ rule.warning.title=Giá trị thuộc tính không hợp lệ
 # the title attribute of the warning icon.
 rule.warningName.title=Tên tài sản không hợp lệ
 
+# LOCALIZATION NOTE (rule.warningInvalidAtComputedValueTime.title): When a property value
+# is invalid at computed time in the rule view, a warning icon is displayed.
+# This text is used for the title attribute of the warning icon.
+# The argument is the expected CSS syntax (e.g. '<color>').
+rule.warningInvalidAtComputedValueTime.title=Giá trị thuộc tính không khớp với cú pháp dự kiến %S
+
 # LOCALIZATION NOTE (rule.filterProperty.title): Text displayed in the tooltip
 # of the search button that is shown next to a property that has been overridden
 # in the rule view.
@@ -84,6 +90,10 @@ rule.variableValue=%S = %S
 # variable name.
 rule.variableUnset=%S chưa được đặt
 
+# LOCALIZATION NOTE (rule.selectorSpecificity.title): This text is used as a title attribute
+# on the selectors displayed in the inspector rules view.
+# The first argument is the computed specificity, which looks like "(0,0,1)".
+
 # LOCALIZATION NOTE (rule.selectorHighlighter.tooltip): Text displayed in a
 # tooltip when the mouse is over a selector highlighter icon in the rule view.
 rule.selectorHighlighter.tooltip=Tô sáng tất cả các yếu tố phù hợp với bộ chọn này
@@ -112,6 +122,10 @@ rule.flexToggle.tooltip=Nhấp để chuyển đổi công cụ đánh dấu Fle
 # when the mouse is over a CSS Grid toggle icon in the rule view.
 rule.gridToggle.tooltip=Nhấn vào đây để bật/tắt công cụ đánh dấu lưới CSS
 
+# LOCALIZATION NOTE (rule.shapeToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a CSS shape toggle icon in the rule view (e.g. for clip-path property).
+rule.shapeToggle.tooltip=Nhấp để chuyển sang trình chỉnh sửa CSS Shape
+
 # LOCALIZATION NOTE (rule.filterStyles.placeholder): This is the placeholder that
 # goes in the search box when no search term has been entered.
 rule.filterStyles.placeholder=Các kiểu lọc
@@ -266,11 +280,6 @@ styleinspector.contextmenu.copyRule=Sao chép quy tắc
 # rule view context menu for copying the selector.
 styleinspector.contextmenu.copySelector=Sao chép bộ chọn
 
-# LOCALIZATION NOTE (rule.warningInvalidAtComputedValueTime.title): When a property value
-# is invalid at computed time in the rule view, a warning icon is displayed.
-# This text is used for the title attribute of the warning icon.
-# The argument is the expected CSS syntax (e.g. '<color>').
-rule.warningInvalidAtComputedValueTime.title=Property value does not match expected %S syntax
 # LOCALIZATION NOTE (rule.selectorSpecificity.title): This text is used as a title attribute
 # on the selectors displayed in the inspector rules view.
 # The first argument is the computed specificity, which looks like "(0,0,1)".
diff --git a/thunderbird-l10n/vi/chrome/vi/locale/vi/global/narrate.properties b/thunderbird-l10n/vi/chrome/vi/locale/vi/global/narrate.properties
index bc66055be119067d29454b71cb1f25c02642364e..2d7c30e72f78081d4d119116023956e8c07b8aa5 100644
--- a/thunderbird-l10n/vi/chrome/vi/locale/vi/global/narrate.properties
+++ b/thunderbird-l10n/vi/chrome/vi/locale/vi/global/narrate.properties
@@ -28,6 +28,8 @@ forward = Chuyển tiếp
 # %S is the keyboard shortcut for the skip forward command
 next-label = Tiến (%S)
 speed = Tốc độ
+slow-speed-label = Giảm tốc độ nói
+fast-speed-label = Tăng tốc độ nói
 selectvoicelabel = Giọng nói:
 select-voice-header = Giọng nói
 # Default voice is determined by the language of the document.
diff --git a/thunderbird-l10n/vi/localization/vi/branding/brand.ftl b/thunderbird-l10n/vi/localization/vi/branding/brand.ftl
index 3be55a4624132c68ade2827d96208d49e6f7af06..a188e71b74750aa0c93e60ce14707a1011651de1 100644
--- a/thunderbird-l10n/vi/localization/vi/branding/brand.ftl
+++ b/thunderbird-l10n/vi/localization/vi/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/appmenu.ftl b/thunderbird-l10n/vi/localization/vi/messenger/appmenu.ftl
index a1de7924661dda18b40cd1de173f55a0e7f582a0..88420043e45a807dc1d54b50973ddcda387a7c0e 100644
--- a/thunderbird-l10n/vi/localization/vi/messenger/appmenu.ftl
+++ b/thunderbird-l10n/vi/localization/vi/messenger/appmenu.ftl
@@ -174,6 +174,9 @@ appmenu-help-get-help =
 appmenu-help-explore-features =
     .label = Khám phá tính năng
     .accesskey = F
+appmenu-help-get-release-help =
+    .label = Nhận trợ giúp với { -brand-short-name }
+    .accesskey = R
 appmenu-help-shortcuts =
     .label = Phím tắt bàn phím
     .accesskey = K
diff --git a/thunderbird-l10n/vi/localization/vi/messenger/menubar.ftl b/thunderbird-l10n/vi/localization/vi/messenger/menubar.ftl
index 6ec50c45ccffe0e17de94bf02a2b5d8592866a02..3da04674fcf4197807dd5300f944704fa1362894 100644
--- a/thunderbird-l10n/vi/localization/vi/messenger/menubar.ftl
+++ b/thunderbird-l10n/vi/localization/vi/messenger/menubar.ftl
@@ -26,6 +26,9 @@ menu-help-get-help =
 menu-help-explore-features =
     .label = Khám phá tính năng
     .accesskey = F
+menu-help-get-release-help =
+    .label = Nhận trợ giúp với { -brand-short-name }
+    .accesskey = R
 menu-help-shortcuts =
     .label = Phím tắt bàn phím
     .accesskey = K
diff --git a/thunderbird-l10n/vi/manifest.json b/thunderbird-l10n/vi/manifest.json
index 3cd64fe43355620ef9bf8c4507e58577edd5d4c3..a6d96eb863892c6a392fad4e34669fe82ab66d9b 100644
--- a/thunderbird-l10n/vi/manifest.json
+++ b/thunderbird-l10n/vi/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: Tiếng Việt (Vietnamese)",
-  "description": "Thunderbird Beta Language Pack for Tiếng Việt (vi) – Vietnamese",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for Tiếng Việt (vi) – Vietnamese",
+  "version": "128.0.20240710.185639",
   "languages": {
     "vi": {
-      "version": "20240627141744",
+      "version": "20240710213053",
       "chrome_resources": {
         "alerts": "chrome/vi/locale/vi/alerts/",
         "autoconfig": "chrome/vi/locale/vi/autoconfig/",
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/branding/brand.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/branding/brand.dtd
index d6b2956eca563ca9d05636b2b0312b9b14c1f14c..e4ffe44c2d9f7b02d792f110a0cfc2d7676ce0fa 100644
--- a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/branding/brand.dtd
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/branding/brand.dtd
@@ -1,13 +1,12 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird 测试版">
-<!ENTITY  brandShorterName      "Thunderbird 测试版">
-<!ENTITY  brandFullName         "Mozilla Thunderbird 测试版">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird 以及 Thunderbird 标志
-                                 均为 Mozilla 基金会拥有的注册商标。">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird 和 Thunderbird 标志是 Mozilla 基金会的商标。">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/branding/brand.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/branding/brand.properties
index f91036519b4c6494972f3a44d11c7512c1a84241..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/branding/brand.properties
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird 测试版
-brandShorterName=Thunderbird 测试版
-brandFullName=Mozilla Thunderbird 测试版
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/styleinspector.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/styleinspector.properties
index 6a3781949aa1dfafd30e66ee391a058448d78399..9d5747d0ec044804b1ea037a38d671a04ad124d4 100644
--- a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/styleinspector.properties
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/styleinspector.properties
@@ -72,7 +72,7 @@ rule.warningInvalidAtComputedValueTime.title=属性值与预期的 %S 语法不
 # LOCALIZATION NOTE (rule.filterProperty.title): Text displayed in the tooltip
 # of the search button that is shown next to a property that has been overridden
 # in the rule view.
-rule.filterProperty.title=过滤器规则包含这个属性
+rule.filterProperty.title=筛选出包含此属性的规则
 
 # LOCALIZATION NOTE (rule.empty): Text displayed when the highlighter is
 # first opened and there's no node selected in the rule view.
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/necko/necko.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/necko/necko.properties
index 08bb2f4719ddd59825f2b890fe28ccfed390ba65..903afd771f4959c41556179e0bb2a5df188b51bc 100644
--- a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/necko/necko.properties
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/necko/necko.properties
@@ -75,7 +75,7 @@ CookieRejectedEmptyNameAndValue=已拒绝未命名和未赋值的 Cookie。
 # LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
 CookieRejectedInvalidCharName=由于名称中包含无效字符,已拒绝 Cookie “%1$S”。
 # LOCALIZATION NOTE (CookieRejectedInvalidCharAttributes): %1$S is the cookie name.
-CookieRejectedInvalidCharAttributes=由于属性中包含无效字符,已拒绝 Cookie“%1$S”。
+CookieRejectedInvalidCharAttributes=由于属性中包含无效字符,已拒绝 Cookie “%1$S”。
 # LOCALIZATION NOTE (CookieRejectedInvalidDomain): %1$S is the cookie name.
 CookieRejectedInvalidDomain=由于来自无效的域名,已拒绝 Cookie “%1$S”。
 # LOCALIZATION NOTE (CookieRejectedInvalidPrefix): %1$S is the cookie name.
@@ -97,6 +97,7 @@ CookieRejectedForNonSameSiteness=由于是在跨站上下文中,且“SameSite
 CookieRejectedPartitionedRequiresSecure=Cookie“%1$S”已被拒绝,因为其拥有“Partitioned”属性,但缺少“secure”属性。
 
 # LOCALIZATION NOTE (CookieAttributeIgnored): %1$S is the cookie name. %2$S is the attribute name. %3$S is the number of bytes. "B" means bytes.
+CookieAttributeIgnored=Cookie“%1$S”的属性“%2$S”的值已被拒绝,因为其大小过大。最大大小为 %3$S B。
 
 # LOCALIZATION NOTE (CookieForeignNoPartitionedWarning): %1$S is the cookie name. Do not translate "Partitioned"
 CookieForeignNoPartitionedWarning=Cookie“%1$S”在不久后会被拒绝,因为其来自外部,且不含“Partitioned”属性。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/branding/brand.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/branding/brand.ftl
index 6ffe82b5b58b8a15fba58e873a9a4006880e2f64..af8db0908ebcc5992a2bde411f60c6b27383723d 100644
--- a/thunderbird-l10n/zh-CN/localization/zh-CN/branding/brand.ftl
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/branding/brand.ftl
@@ -12,11 +12,11 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird 测试版
--brand-short-name = Thunderbird 测试版
--brand-full-name = Mozilla Thunderbird 测试版
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
 -vendor-short-name = Mozilla
-trademarkInfo = Mozilla Thunderbird 和 Thunderbird 徽标是属于 Mozilla 基金会的商标。
+trademarkInfo = Mozilla Thunderbird 和 Thunderbird 徽标是 Mozilla 基金会的商标。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/storage.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/storage.ftl
index 8ebd7a8709316619be221372e50eaf30a365ebd3..c66d7098028d996e24ad67bb3da2fe4eed6b4f83 100644
--- a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/storage.ftl
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/storage.ftl
@@ -7,72 +7,55 @@
 
 # Key shortcut used to focus the filter box on top of the data view
 storage-filter-key = CmdOrCtrl+F
-
 # Hint shown when the selected storage host does not contain any data
 storage-table-empty-text = 选定的主机不存在数据
-
 # Hint shown when the cookies storage type is selected. Clicking the link will open
-# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Cookies
+# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/cookies/
 storage-table-type-cookies-hint = 通过选择主机来查看和编辑 Cookie。<a data-l10n-name="learn-more-link">详细了解</a>
-
 # Hint shown when the local storage type is selected. Clicking the link will open
-# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Local_Storage_Session_Storage
+# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/local_storage_session_storage/
 storage-table-type-localstorage-hint = 通过选择主机来查看和编辑本地存储。<a data-l10n-name="learn-more-link">详细了解</a>
-
 # Hint shown when the session storage type is selected. Clicking the link will open
-# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Local_Storage_Session_Storage
+# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/local_storage_session_storage/
 storage-table-type-sessionstorage-hint = 通过选择主机来查看和编辑会话存储。<a data-l10n-name="learn-more-link">详细了解</a>
-
 # Hint shown when the IndexedDB storage type is selected. Clicking the link will open
-# https://developer.mozilla.org/docs/Tools/Storage_Inspector/IndexedDB
+# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/indexeddb/
 storage-table-type-indexeddb-hint = 通过选择数据库来查看和删除 IndexedDB。<a data-l10n-name="learn-more-link">详细了解</a>
-
 # Hint shown when the cache storage type is selected. Clicking the link will open
-# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Cache_Storage
-storage-table-type-cache-hint = 通过选择存储来查看和删除缓存存储。 <a data-l10n-name="learn-more-link">详细了解</a>
-
+# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/cache_storage/
+storage-table-type-cache-hint = 通过选择存储来查看和删除缓存存储。<a data-l10n-name="learn-more-link">详细了解</a>
 # Hint shown when the extension storage type is selected. Clicking the link will open
-# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Extension_Storage
+# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/extension_storage/
 storage-table-type-extensionstorage-hint = 通过选择主机来查看和编辑扩展存储。<a data-l10n-name="learn-more-link">详细了解</a>
-
 # Placeholder for the searchbox that allows you to filter the table items
 storage-search-box =
     .placeholder = 项目过滤器
-
 # Placeholder text in the sidebar search box
 storage-variable-view-search-box =
     .placeholder = 过滤值
-
 # Add Item button title
 storage-add-button =
     .title = 添加项目
-
 # Refresh button title
 storage-refresh-button =
     .title = 刷新项目
-
 # Context menu action to delete all storage items
 storage-context-menu-delete-all =
     .label = 全部删除
-
 # Context menu action to delete all session cookies
 storage-context-menu-delete-all-session-cookies =
     .label = 删除所有会话级 Cookie
-
 # Context menu action to copy a storage item
 storage-context-menu-copy =
     .label = 复制
-
 # Context menu action to delete storage item
 # Variables:
 #   $itemName (String) - Name of the storage item that will be deleted
 storage-context-menu-delete =
     .label = 删除“{ $itemName }”
-
 # Context menu action to add an item
 storage-context-menu-add-item =
     .label = 添加项目
-
 # Context menu action to delete all storage items from a given host
 # Variables:
 #   $host (String) - Host for which we want to delete the items
@@ -106,26 +89,20 @@ storage-tree-labels-extension-storage = 扩展存储
 # storage UI when the panel is closed.
 storage-expand-pane =
     .title = 展开窗格
-
 # Tooltip for the button that collapses the right panel in the
 # storage UI when the panel is open.
 storage-collapse-pane =
     .title = 折叠窗格
-
 # String displayed in the expires column when the cookie is a Session Cookie
 storage-expires-session = 会话
-
 # Heading displayed over the item value in the sidebar
 storage-data = 数据
-
 # Heading displayed over the item parsed value in the sidebar
 storage-parsed-value = 解析的值
-
 # Warning notification when IndexedDB database could not be deleted immediately.
 # Variables:
 #   $dbName (String) - Name of the database
 storage-idb-delete-blocked = 数据库“{ $dbName }”将在所有连接关闭后被删除。
-
 # Error notification when IndexedDB database could not be deleted.
 # Variables:
 #   $dbName (String) - Name of the database
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/tooltips.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/tooltips.ftl
index f6a4d357c892917e2e7f554953a2346c98ae929f..293fe7c9bcddf63ddff199693e74ae31baba77c0 100644
--- a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/tooltips.ftl
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/tooltips.ftl
@@ -39,6 +39,7 @@ inactive-css-first-letter-pseudo-element-not-supported = ::first-letter 伪元
 inactive-css-placeholder-pseudo-element-not-supported = ::placeholder 伪元素不支持 <strong>{ $property }</strong>。
 inactive-css-property-because-of-display = 由于其有 <strong>{ $display }</strong> 的 display 属性,<strong>{ $property }</strong> 对此元素没有影响。
 inactive-css-not-display-block-on-floated = 由于是 <strong>floated</strong> 元素,引擎已将 <strong>display</strong> 值更改为 <strong>block</strong>。
+inactive-css-not-display-block-on-floated-2 = 由于是 <strong>floated</strong> 元素,引擎已将 <strong>display</strong> 值更改为 <strong>{ $display }</strong>。
 inactive-css-property-is-impossible-to-override-in-visited = 由于 <strong>:visited</strong> 的限制,无法覆盖 <strong>{ $property }</strong>。
 inactive-css-position-property-on-unpositioned-box = 由于不是定位元素,<strong>{ $property }</strong> 对此元素无效。
 inactive-css-only-replaced-elements = <strong>{ $property }</strong> 对此元素无效,因为其只能对可替换元素应用。
diff --git a/thunderbird-l10n/zh-CN/manifest.json b/thunderbird-l10n/zh-CN/manifest.json
index 1c5e834b5c95be2dce6b20b80a8485209b1fb136..01fb3ecb90f13bbfc6e9e335e0bf66684cee2310 100644
--- a/thunderbird-l10n/zh-CN/manifest.json
+++ b/thunderbird-l10n/zh-CN/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: 简体中文 (Simplified Chinese)",
-  "description": "Thunderbird Beta Language Pack for 简体中文 (zh-CN) – Simplified Chinese",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for 简体中文 (zh-CN) – Simplified Chinese",
+  "version": "128.0.20240710.185639",
   "languages": {
     "zh-CN": {
-      "version": "20240627141826",
+      "version": "20240710213137",
       "chrome_resources": {
         "alerts": "chrome/zh-CN/locale/zh-CN/alerts/",
         "autoconfig": "chrome/zh-CN/locale/zh-CN/autoconfig/",
diff --git a/thunderbird-l10n/zh-TW/chrome/zh-TW/locale/branding/brand.dtd b/thunderbird-l10n/zh-TW/chrome/zh-TW/locale/branding/brand.dtd
index 499e6ec86b2bad5fd595f18f697a30b2a616df38..9f58294a16abbe430f562184dd008770899c3eb7 100644
--- a/thunderbird-l10n/zh-TW/chrome/zh-TW/locale/branding/brand.dtd
+++ b/thunderbird-l10n/zh-TW/chrome/zh-TW/locale/branding/brand.dtd
@@ -1,12 +1,13 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY  brandShortName        "Thunderbird Beta">
-<!ENTITY  brandShorterName      "Thunderbird Beta">
-<!ENTITY  brandFullName         "Mozilla Thunderbird Beta">
+<!ENTITY  brandShortName        "Thunderbird">
+<!ENTITY  brandShorterName      "Thunderbird">
+<!ENTITY  brandFullName         "Mozilla Thunderbird">
 <!-- LOCALIZATION NOTE (brandProductName):
    This brand name can be used in messages where the product name needs to
    remain unchanged across different versions (Daily, Beta, etc.). -->
 <!ENTITY  brandProductName      "Thunderbird">
 <!ENTITY  vendorShortName       "Mozilla">
-<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird 字樣與 Thunderbird 標誌為 Mozilla 基金會之註冊商標。">
+<!ENTITY  trademarkInfo.part1   "Mozilla Thunderbird 字樣與 Thunderbird 標誌
+                                 為 Mozilla 基金會之註冊商標。">
diff --git a/thunderbird-l10n/zh-TW/chrome/zh-TW/locale/branding/brand.properties b/thunderbird-l10n/zh-TW/chrome/zh-TW/locale/branding/brand.properties
index 234d1a3c5e490f7df42b8ab4bb0317300e70d494..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 100644
--- a/thunderbird-l10n/zh-TW/chrome/zh-TW/locale/branding/brand.properties
+++ b/thunderbird-l10n/zh-TW/chrome/zh-TW/locale/branding/brand.properties
@@ -1,7 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShortName=Thunderbird Beta
-brandShorterName=Thunderbird Beta
-brandFullName=Mozilla Thunderbird Beta
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
 vendorShortName=Mozilla
diff --git a/thunderbird-l10n/zh-TW/localization/zh-TW/branding/brand.ftl b/thunderbird-l10n/zh-TW/localization/zh-TW/branding/brand.ftl
index 65ecfc5388d1edcf332497695f014d45b66c31f2..51f76533017340d201ad48bcf153bcdbf253a772 100644
--- a/thunderbird-l10n/zh-TW/localization/zh-TW/branding/brand.ftl
+++ b/thunderbird-l10n/zh-TW/localization/zh-TW/branding/brand.ftl
@@ -12,9 +12,9 @@
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
--brand-shorter-name = Thunderbird Beta
--brand-short-name = Thunderbird Beta
--brand-full-name = Mozilla Thunderbird Beta
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
 # This brand name can be used in messages where the product name needs to
 # remain unchanged across different versions (Daily, Beta, etc.).
 -brand-product-name = Thunderbird
diff --git a/thunderbird-l10n/zh-TW/localization/zh-TW/toolkit/pdfviewer/viewer.ftl b/thunderbird-l10n/zh-TW/localization/zh-TW/toolkit/pdfviewer/viewer.ftl
index f8614a9f35f7dc8c125ad28a2c5184ca4b49e9c9..98ef060abc8f06fb5c836a48edd0046265f1c3c4 100644
--- a/thunderbird-l10n/zh-TW/localization/zh-TW/toolkit/pdfviewer/viewer.ftl
+++ b/thunderbird-l10n/zh-TW/localization/zh-TW/toolkit/pdfviewer/viewer.ftl
@@ -51,12 +51,6 @@ pdfjs-download-button-label = 下載
 pdfjs-bookmark-button =
     .title = 目前頁面(含目前檢視頁面的網址)
 pdfjs-bookmark-button-label = 目前頁面
-# Used in Firefox for Android.
-pdfjs-open-in-app-button =
-    .title = 在應用程式中開啟
-# Used in Firefox for Android.
-# Length of the translation matters since we are in a mobile context, with limited screen estate.
-pdfjs-open-in-app-button-label = 用程式開啟
 
 ##  Secondary toolbar and context menu
 
@@ -82,8 +76,8 @@ pdfjs-cursor-hand-tool-button =
     .title = 開啟頁面移動工具
 pdfjs-cursor-hand-tool-button-label = 頁面移動工具
 pdfjs-scroll-page-button =
-    .title = 使用頁面捲動功能
-pdfjs-scroll-page-button-label = 頁面捲動功能
+    .title = 使用單頁捲動版面
+pdfjs-scroll-page-button-label = 單頁捲動
 pdfjs-scroll-vertical-button =
     .title = 使用垂直捲動版面
 pdfjs-scroll-vertical-button-label = 垂直捲動
@@ -108,8 +102,8 @@ pdfjs-spread-even-button-label = 偶數跨頁
 pdfjs-document-properties-button =
     .title = 文件內容…
 pdfjs-document-properties-button-label = 文件內容…
-pdfjs-document-properties-file-name = 檔案名稱:
-pdfjs-document-properties-file-size = 檔案大小:
+pdfjs-document-properties-file-name = 檔案名稱:
+pdfjs-document-properties-file-size = 檔案大小:
 # Variables:
 #   $size_kb (Number) - the PDF file size in kilobytes
 #   $size_b (Number) - the PDF file size in bytes
@@ -118,21 +112,21 @@ pdfjs-document-properties-kb = { $size_kb } KB({ $size_b } 位元組)
 #   $size_mb (Number) - the PDF file size in megabytes
 #   $size_b (Number) - the PDF file size in bytes
 pdfjs-document-properties-mb = { $size_mb } MB({ $size_b } 位元組)
-pdfjs-document-properties-title = 標題:
-pdfjs-document-properties-author = 作者:
-pdfjs-document-properties-subject = 主旨:
-pdfjs-document-properties-keywords = 關鍵字:
-pdfjs-document-properties-creation-date = 建立日期:
-pdfjs-document-properties-modification-date = 修改日期:
+pdfjs-document-properties-title = 標題:
+pdfjs-document-properties-author = 作者:
+pdfjs-document-properties-subject = 主旨:
+pdfjs-document-properties-keywords = 關鍵字:
+pdfjs-document-properties-creation-date = 建立日期:
+pdfjs-document-properties-modification-date = 修改日期:
 # Variables:
 #   $date (Date) - the creation/modification date of the PDF file
 #   $time (Time) - the creation/modification time of the PDF file
 pdfjs-document-properties-date-string = { $date } { $time }
-pdfjs-document-properties-creator = 建立者:
-pdfjs-document-properties-producer = PDF 產生器:
-pdfjs-document-properties-version = PDF 版本:
-pdfjs-document-properties-page-count = 頁數:
-pdfjs-document-properties-page-size = 頁面大小:
+pdfjs-document-properties-creator = 建立者:
+pdfjs-document-properties-producer = PDF 產生器:
+pdfjs-document-properties-version = PDF 版本:
+pdfjs-document-properties-page-count = 頁數:
+pdfjs-document-properties-page-size = 頁面大小:
 pdfjs-document-properties-page-size-unit-inches = in
 pdfjs-document-properties-page-size-unit-millimeters = mm
 pdfjs-document-properties-page-size-orientation-portrait = 垂直
@@ -156,7 +150,7 @@ pdfjs-document-properties-page-size-dimension-name-string = { $width } × { $hei
 
 # The linearization status of the document; usually called "Fast Web View" in
 # English locales of Adobe software.
-pdfjs-document-properties-linearized = 快速 Web 檢視:
+pdfjs-document-properties-linearized = 快速 Web 檢視:
 pdfjs-document-properties-linearized-yes = 是
 pdfjs-document-properties-linearized-no = 否
 pdfjs-document-properties-close-button = 關閉
@@ -296,8 +290,6 @@ pdfjs-editor-stamp-button-label = 新增或編輯圖片
 pdfjs-editor-highlight-button =
     .title = 強調
 pdfjs-editor-highlight-button-label = 強調
-pdfjs-highlight-floating-button =
-    .title = 強調
 pdfjs-highlight-floating-button1 =
     .title = 強調
     .aria-label = 強調
@@ -331,7 +323,7 @@ pdfjs-editor-free-highlight-thickness-title =
     .title = 更改強調文字以外的項目時的線條粗細
 pdfjs-free-text =
     .aria-label = 文本編輯器
-pdfjs-free-text-default-content = 開始打字…
+pdfjs-free-text-default-content = 在此打字…
 pdfjs-ink =
     .aria-label = 圖形編輯器
 pdfjs-ink-canvas =
diff --git a/thunderbird-l10n/zh-TW/manifest.json b/thunderbird-l10n/zh-TW/manifest.json
index e23f647822c7477790d078f26fb3b065d3386ab9..e2f36919551f0aa746ad3bfbe9edc9bda5612df6 100644
--- a/thunderbird-l10n/zh-TW/manifest.json
+++ b/thunderbird-l10n/zh-TW/manifest.json
@@ -9,11 +9,11 @@
     }
   },
   "name": "Language: 正體中文 (Traditional Chinese)",
-  "description": "Thunderbird Beta Language Pack for 正體中文 (zh-TW) – Traditional Chinese",
-  "version": "128.0.20240627.132026",
+  "description": "Thunderbird Language Pack for 正體中文 (zh-TW) – Traditional Chinese",
+  "version": "128.0.20240710.185639",
   "languages": {
     "zh-TW": {
-      "version": "20240627141909",
+      "version": "20240710213220",
       "chrome_resources": {
         "alerts": "chrome/zh-TW/locale/zh-TW/alerts/",
         "autoconfig": "chrome/zh-TW/locale/zh-TW/autoconfig/",
diff --git a/toolkit/components/extensions/ExtensionContent.sys.mjs b/toolkit/components/extensions/ExtensionContent.sys.mjs
index 168f372aa53d6c0fb4a7add0aacc051756ae5eb0..84027af4dcc5f30dbfdafac347f116954c10fc65 100644
--- a/toolkit/components/extensions/ExtensionContent.sys.mjs
+++ b/toolkit/components/extensions/ExtensionContent.sys.mjs
@@ -292,6 +292,18 @@ defineLazyGetter(ExtensionChild.prototype, "dynamicScripts", function () {
   return new ScriptCache({ hasReturnValue: true }, this);
 });
 
+defineLazyGetter(ExtensionChild.prototype, "anonStaticScripts", function () {
+  // TODO bug 1651557: Use dynamic name to improve debugger experience.
+  const filename = "<anonymous code>";
+  return new ScriptCache({ filename, hasReturnValue: false }, this);
+});
+
+defineLazyGetter(ExtensionChild.prototype, "anonDynamicScripts", function () {
+  // TODO bug 1651557: Use dynamic name to improve debugger experience.
+  const filename = "<anonymous code>";
+  return new ScriptCache({ filename, hasReturnValue: true }, this);
+});
+
 defineLazyGetter(ExtensionChild.prototype, "userCSS", function () {
   return new CSSCache(Ci.nsIStyleSheetService.USER_SHEET, this);
 });
@@ -342,8 +354,15 @@ class Script {
       extension[this.cssOrigin === "user" ? "userCSS" : "authorCSS"];
     this.cssCodeCache =
       extension[this.cssOrigin === "user" ? "userCSSCode" : "authorCSSCode"];
-    this.scriptCache =
-      extension[matcher.wantReturnValue ? "dynamicScripts" : "staticScripts"];
+    if (this.world === "MAIN") {
+      this.scriptCache = matcher.wantReturnValue
+        ? extension.anonDynamicScripts
+        : extension.anonStaticScripts;
+    } else {
+      this.scriptCache = matcher.wantReturnValue
+        ? extension.dynamicScripts
+        : extension.staticScripts;
+    }
 
     /** @type {WeakSet<Document>} A set of documents injected into. */
     this.injectedInto = new WeakSet();
@@ -384,11 +403,12 @@ class Script {
       // To do so without being blocked by the web page's CSP, we convert
       // jsCode to a PrecompiledScript, which is then executed by the logic
       // that is usually used for file-based execution.
-      // TODO bug 1900410: Replace data:-URL with something that does not
-      // reveal the extension source to the web page.
       const dataUrl = `data:text/javascript,${encodeURIComponent(jsCode)}`;
       const options = {
         hasReturnValue: this.matcher.wantReturnValue,
+        // Redact the file name to hide actual script content from web pages.
+        // TODO bug 1651557: Use dynamic name to improve debugger experience.
+        filename: "<anonymous code>",
       };
       // Note: this logic is similar to this.scriptCaches.get(...), but we are
       // not using scriptCaches because we don't want the URL to be cached.
@@ -646,6 +666,7 @@ class Script {
         this.jsCode,
         context.cloneScope,
         "latest",
+        // TODO bug 1651557: Use dynamic name to improve debugger experience.
         "sandbox eval code",
         1
       );
diff --git a/toolkit/components/extensions/test/mochitest/test_ext_scripting_executeScript_world.html b/toolkit/components/extensions/test/mochitest/test_ext_scripting_executeScript_world.html
index 2af56a508696415672d2bae92ef5a827209ab4fe..17cc4e3f67dafd162cb1d5dda58e5f4824017ede 100644
--- a/toolkit/components/extensions/test/mochitest/test_ext_scripting_executeScript_world.html
+++ b/toolkit/components/extensions/test/mochitest/test_ext_scripting_executeScript_world.html
@@ -158,6 +158,126 @@ add_task(async function test_executeScript_main_world_func() {
   await AppTestDelegate.removeTab(window, tab);
 });
 
+add_task(async function test_executeScript_anonymous_filename() {
+  let extension = makeExtension({
+    async background() {
+      const BACKGROUND_SCRIPT_URL =
+        browser.runtime.getManifest().background.scripts[0];
+      const tabs = await browser.tabs.query({ active: true });
+      browser.test.assertEq(1, tabs.length, "expected 1 tab");
+
+      function funcExtractFilename() {
+        let error = new Error();
+        return {
+          fileName: error.fileName,
+          // We only care about file names, so strip line and column numbers.
+          stack: error.stack.replaceAll(/:\d+:\d+/g, ""),
+        };
+      }
+
+      // Verify that the script source cannot be exfiltrated by the MAIN world
+      // script. If it were to be possible, then a script on the web page can
+      // do the same, which is undesirable because of fingerprinting and script
+      // source secrecy.
+
+      let results = await browser.scripting.executeScript({
+        target: { tabId: tabs[0].id },
+        func: funcExtractFilename,
+        world: "MAIN",
+      });
+      browser.test.assertEq(undefined, results[0].error?.message, "No error");
+      browser.test.assertDeepEq(
+        {
+          fileName: "<anonymous code>",
+          stack: "funcExtractFilename@<anonymous code>\n@<anonymous code>\n",
+        },
+        results[0].result,
+        "executeScript with world:MAIN & code should not leak the extension URL"
+      );
+
+      results = await browser.scripting.executeScript({
+        target: { tabId: tabs[0].id },
+        files: ["file_leak_me.js"],
+        world: "MAIN",
+      });
+      browser.test.assertEq(undefined, results[0].error?.message, "No error");
+      browser.test.assertDeepEq(
+        {
+          fileName: "<anonymous code>",
+          stack: "fileExtractFilename@<anonymous code>\n@<anonymous code>\n",
+        },
+        results[0].result,
+        "executeScript with world:MAIN & file should not leak the extension URL"
+      );
+
+      // Same tests, but with world: "ISOLATED". Since the world is isolated,
+      // it does not really matter what the values are, but just to verify that
+      // the value is sane, check its value.
+      results = await browser.scripting.executeScript({
+        target: { tabId: tabs[0].id },
+        func: funcExtractFilename,
+        world: "ISOLATED",
+      });
+      browser.test.assertEq(undefined, results[0].error?.message, "No error");
+      browser.test.assertDeepEq(
+        {
+          fileName: "sandbox eval code",
+          stack: `funcExtractFilename@sandbox eval code
+@sandbox eval code
+Async*background@${BACKGROUND_SCRIPT_URL}
+async*@${BACKGROUND_SCRIPT_URL}
+`
+        },
+        results[0].result,
+        "executeScript with world:ISOLATED & code may expose extension URLs"
+      );
+
+      results = await browser.scripting.executeScript({
+        target: { tabId: tabs[0].id },
+        files: ["file_leak_me.js"],
+        world: "ISOLATED",
+      });
+      browser.test.assertEq(undefined, results[0].error?.message, "No error");
+      browser.test.assertDeepEq(
+        {
+          fileName: location.origin + "/file_leak_me.js",
+          stack: `fileExtractFilename@${location.origin}/file_leak_me.js
+@${location.origin}/file_leak_me.js
+Async*background@${BACKGROUND_SCRIPT_URL}
+async*@${BACKGROUND_SCRIPT_URL}
+`,
+        },
+        results[0].result,
+        "executeScript with world:ISOLATED & file may expose extension URLs"
+      );
+
+      browser.test.notifyPass("background-done");
+    },
+    files: {
+      "file_leak_me.js": function fileExtractFilename() {
+        let error = new Error();
+        return {
+          fileName: error.fileName,
+          // We only care about file names, so strip line and column numbers.
+          stack: error.stack.replaceAll(/:\d+:\d+/g, ""),
+        };
+      },
+    },
+  });
+
+  let tab = await AppTestDelegate.openNewForegroundTab(
+    window,
+    "https://test1.example.com/tests/toolkit/components/extensions/test/mochitest/file_simple_inline_script.html",
+    true
+  );
+
+  await extension.startup();
+  await extension.awaitFinish("background-done");
+  await extension.unload();
+
+  await AppTestDelegate.removeTab(window, tab);
+});
+
 add_task(async function test_executeScript_invalid_world() {
   let extension = makeExtension({
     async background() {
diff --git a/toolkit/components/extensions/test/xpcshell/test_ext_contentscript_world.js b/toolkit/components/extensions/test/xpcshell/test_ext_contentscript_world.js
index 15e47f7984de646ddd307827e7f47d8fb6d63e48..0a4ae3428bd4036e515ecccf1e9fe3744a68be43 100644
--- a/toolkit/components/extensions/test/xpcshell/test_ext_contentscript_world.js
+++ b/toolkit/components/extensions/test/xpcshell/test_ext_contentscript_world.js
@@ -168,3 +168,69 @@ add_task(async function manifest_content_scripts_world_MAIN_runAt_order() {
   await contentPage.close();
   await extension.unload();
 });
+
+add_task(async function manifest_content_scripts_anonymous_filename() {
+  let extension = ExtensionTestUtils.loadExtension({
+    manifest: {
+      content_scripts: [
+        {
+          js: ["file_leak_me.js"],
+          matches: ["*://*/data/file_simple_inline_script.html"],
+          run_at: "document_end",
+          world: "MAIN",
+        },
+        {
+          js: ["file_leak_me.js"],
+          matches: ["*://*/data/file_simple_inline_script.html"],
+          world: "ISOLATED",
+        },
+      ],
+    },
+    files: {
+      "file_leak_me.js": function fileExtractFilename() {
+        let error = new Error();
+        let result = {
+          fileName: error.fileName,
+          // We only care about file names, so strip line and column numbers.
+          stack: error.stack.replaceAll(/:\d+:\d+/g, ""),
+        };
+        if (window.varInPage) {
+          window.mainResult = result;
+        } else {
+          // The content script runs in an execution environment isolated from
+          // non-extension code, so it is safe to expose the actual script URL.
+          const contentScriptUrl = browser.runtime.getURL("file_leak_me.js");
+          browser.test.assertDeepEq(
+            {
+              fileName: contentScriptUrl,
+              stack: `fileExtractFilename@${contentScriptUrl}\n@${contentScriptUrl}\n`,
+            },
+            result,
+            "world:ISOLATED content script may see the extension URL"
+          );
+
+          // Code running in the MAIN world is shared with the web page. To
+          // minimize information leakage, the script sources are anonymous.
+          browser.test.assertDeepEq(
+            {
+              fileName: "<anonymous code>",
+              stack:
+                "fileExtractFilename@<anonymous code>\n@<anonymous code>\n",
+            },
+            window.wrappedJSObject.mainResult,
+            "world:MAIN content script should not leak the extension URL"
+          );
+
+          browser.test.sendMessage("done");
+        }
+      },
+    },
+  });
+  await extension.startup();
+  let contentPage = await ExtensionTestUtils.loadContentPage(
+    "http://example.com/data/file_simple_inline_script.html"
+  );
+  await extension.awaitMessage("done");
+  await contentPage.close();
+  await extension.unload();
+});
diff --git a/toolkit/components/extensions/test/xpcshell/xpcshell-common.toml b/toolkit/components/extensions/test/xpcshell/xpcshell-common.toml
index 87f423adcb5483a339f111bd1deff61d47296b8e..ec0c3c724c48d45c0bd28e5f000e0e7cfbf5f385 100644
--- a/toolkit/components/extensions/test/xpcshell/xpcshell-common.toml
+++ b/toolkit/components/extensions/test/xpcshell/xpcshell-common.toml
@@ -183,6 +183,7 @@ skip-if = [
 ]
 
 ["test_ext_cookieBehaviors.js"]
+requesttimeoutfactor = 3 # deleteDatabase may take several minutes in slow environments, Android (bug 1896262)
 skip-if = [
   "appname == 'thunderbird'",
   "apple_silicon", # Disabled due to bleedover with other tests when run in regular suites; passes in "failures" jobs
diff --git a/toolkit/library/rust/shared/Cargo.toml b/toolkit/library/rust/shared/Cargo.toml
index 21ddfc1d16b631c9947468595599ddafd3ee48a0..dcad9ee731eb49a6e68b6f84df2c98ca10702a96 100644
--- a/toolkit/library/rust/shared/Cargo.toml
+++ b/toolkit/library/rust/shared/Cargo.toml
@@ -22,7 +22,7 @@ static_prefs = { path = "../../../../modules/libpref/init/static_prefs" }
 profiler_helper = { path = "../../../../tools/profiler/rust-helper", optional = true }
 mozurl = { path = "../../../../netwerk/base/mozurl" }
 webrender_bindings = { path = "../../../../gfx/webrender_bindings" }
-cubeb-coreaudio = { git = "https://github.com/mozilla/cubeb-coreaudio-rs", rev = "b5dc6e24314babd629118add364bce46f791b4db", optional = true }
+cubeb-coreaudio = { git = "https://github.com/mozilla/cubeb-coreaudio-rs", rev = "8bce3b333a920999055397a397e59c2b81a93b9a", optional = true }
 cubeb-pulse = { git = "https://github.com/mozilla/cubeb-pulse-rs", rev="8678dcab1c287de79c4c184ccc2e065bc62b70e2", optional = true, features=["pulse-dlopen"] }
 cubeb-sys = { version = "0.13", optional = true, features=["gecko-in-tree"] }
 audioipc2-client = { git = "https://github.com/mozilla/audioipc", rev = "3495905752a4263827f5d43737f9ca3ed0243ce0", optional = true }
diff --git a/toolkit/modules/Troubleshoot.sys.mjs b/toolkit/modules/Troubleshoot.sys.mjs
index a20e1c132d7f9a3e92ec7efe4864d2ca62dcb79f..e00fcf1da1d01825c37e12417582dc337e572968 100644
--- a/toolkit/modules/Troubleshoot.sys.mjs
+++ b/toolkit/modules/Troubleshoot.sys.mjs
@@ -1087,7 +1087,14 @@ var dataProviders = {
       "resource://services-settings/remote-settings.sys.mjs"
     );
 
-    const inspected = await RemoteSettings.inspect({ localOnly: true });
+    let inspected;
+    try {
+      inspected = await RemoteSettings.inspect({ localOnly: true });
+    } catch (error) {
+      console.error(error);
+      done({ isSynchronizationBroken: true, history: { "settings-sync": [] } });
+      return;
+    }
 
     // Show last check in standard format.
     inspected.lastCheck = inspected.lastCheck