tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 5a99bf38a776f86b36fe40efafa31aec6679f59b
parent 0a7435d55fa36fcb8f05c01929bc8bae39ecce2d
Author: Erik Nordin <enordin@mozilla.com>
Date:   Thu, 18 Dec 2025 15:42:05 +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:
Mbrowser/components/preferences/main.js | 65+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mbrowser/locales/en-US/browser/preferences/preferences.ftl | 10++++++++++
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 =