commit 798f8febaf31bc3e73af37bb402c5467e0e64744
parent c98984eee22212b4b12be660b34d47bcc0b05c5c
Author: Erik Nordin <enordin@mozilla.com>
Date: Thu, 18 Dec 2025 01:17:26 +0000
Bug 2002127 - Part 09: Implement Never translate sites default state r=fluent-reviewers,bolsson,hjones
This commit adds the default state for the "Never translate sites" section
in the Translations subpage within the about:settings UI, compatible with
the settings redesign initiative.
Differential Revision: https://phabricator.services.mozilla.com/D274226
Diffstat:
2 files changed, 75 insertions(+), 0 deletions(-)
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
@@ -653,6 +653,31 @@ Preferences.addSetting({
pref: "browser.translations.automaticallyPopup",
});
+function createNeverTranslateSitesDescription() {
+ const description = document.createElement("span");
+ description.dataset.l10nId =
+ "settings-translations-subpage-never-translate-sites-description";
+
+ for (const [name, src] of [
+ ["translations-icon", "chrome://browser/skin/translations.svg"],
+ ["settings-icon", "chrome://global/skin/icons/settings.svg"],
+ ]) {
+ const icon = document.createElement("img");
+ icon.src = src;
+
+ icon.dataset.l10nName = name;
+ icon.style.verticalAlign = "middle";
+
+ icon.setAttribute("role", "presentation");
+ icon.setAttribute("width", "16");
+ icon.setAttribute("height", "16");
+
+ description.appendChild(icon);
+ }
+
+ return description;
+}
+
Preferences.addSetting({
id: "translationsDownloadLanguagesGroup",
});
@@ -753,6 +778,18 @@ Preferences.addSetting({
});
Preferences.addSetting({
+ id: "translationsNeverTranslateSitesGroup",
+});
+
+Preferences.addSetting({
+ id: "translationsNeverTranslateSitesRow",
+});
+
+Preferences.addSetting({
+ id: "translationsNeverTranslateSitesNoneRow",
+});
+
+Preferences.addSetting({
id: "translationsManageButton",
onUserClick(e) {
e.preventDefault();
@@ -3894,6 +3931,34 @@ SettingGroupManager.registerGroups({
},
],
},
+ {
+ id: "translationsNeverTranslateSitesGroup",
+ control: "moz-box-group",
+ controlAttrs: {
+ type: "list",
+ },
+ items: [
+ {
+ id: "translationsNeverTranslateSitesRow",
+ l10nId:
+ "settings-translations-subpage-never-translate-sites-header",
+ control: "moz-box-item",
+ controlAttrs: {
+ style:
+ "--box-label-font-weight: var(--font-weight-semibold);",
+ ".description": createNeverTranslateSitesDescription(),
+ },
+ },
+ {
+ id: "translationsNeverTranslateSitesNoneRow",
+ l10nId: "settings-translations-subpage-no-sites-added",
+ control: "moz-box-item",
+ controlAttrs: {
+ class: "text-deemphasized",
+ },
+ },
+ ],
+ },
],
},
{
diff --git a/browser/locales/en-US/browser/preferences/preferences.ftl b/browser/locales/en-US/browser/preferences/preferences.ftl
@@ -449,6 +449,13 @@ settings-translations-subpage-always-translate-header =
settings-translations-subpage-never-translate-header =
.label = Never translate these languages
+settings-translations-subpage-never-translate-sites-header =
+ .label = Never translate these sites
+
+# The icon placeholders show the translations button and the settings gear in the urlbar panel.
+settings-translations-subpage-never-translate-sites-description =
+ To add a site, open the <img data-l10n-name="translations-icon"/> translation panel, select <img data-l10n-name="settings-icon"/> translation settings, then choose “Never translate this site”
+
settings-translations-subpage-language-select-option =
.label = Add language
@@ -468,6 +475,9 @@ settings-translations-subpage-no-languages-downloaded =
settings-translations-subpage-no-languages-added =
.label = No languages added
+settings-translations-subpage-no-sites-added =
+ .label = No sites added
+
# Variables:
# $localeName (string) - Localized name of the locale to be used.
use-system-locale =