tor-browser

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

commit 5b48f111a19095bb5d1118530b2f059d32340b99
parent 71227cdf20ede210b0a14731e2b52c335f063d8f
Author: Erik Nordin <enordin@mozilla.com>
Date:   Thu, 18 Dec 2025 01:17:26 +0000

Bug 2002127 - Part 07: Implement Speed up translation default state r=fluent-reviewers,bolsson,hjones

This commit adds the default state for the "Speed up translation" section
in the Translations subpage within the about:settings UI, compatible with
the settings redesign initiative.

Differential Revision: https://phabricator.services.mozilla.com/D274224

Diffstat:
Mbrowser/components/preferences/main.js | 88++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
Mbrowser/locales/en-US/browser/preferences/preferences.ftl | 17+++++++++++++++++
2 files changed, 104 insertions(+), 1 deletion(-)

diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js @@ -654,6 +654,39 @@ Preferences.addSetting({ }); Preferences.addSetting({ + id: "translationsDownloadLanguagesGroup", +}); + +Preferences.addSetting({ + id: "translationsDownloadLanguagesRow", +}); + +Preferences.addSetting({ + id: "translationsDownloadLanguagesSelect", + _value: "", + get() { + return this._value; + }, + set(val, _deps, setting) { + const newValue = val ?? ""; + if (this._value === newValue) { + return this._value; + } + this._value = newValue; + setting?.emit("change"); + return this._value; + }, +}); + +Preferences.addSetting({ + id: "translationsDownloadLanguagesButton", +}); + +Preferences.addSetting({ + id: "translationsDownloadLanguagesNoneRow", +}); + +Preferences.addSetting({ id: "translationsManageButton", onUserClick(e) { e.preventDefault(); @@ -3702,8 +3735,61 @@ SettingGroupManager.registerGroups({ }, moreTranslationSettings: { inProgress: true, + l10nId: "settings-translations-subpage-speed-up-translation-header", + headingLevel: 2, items: [ - // Will be populated in the following commits. + { + id: "translationsDownloadLanguagesGroup", + control: "moz-box-group", + controlAttrs: { + type: "list", + }, + items: [ + { + id: "translationsDownloadLanguagesRow", + l10nId: "settings-translations-subpage-download-languages-header", + control: "moz-box-item", + controlAttrs: { + style: "--box-label-font-weight: var(--font-weight-semibold);", + }, + items: [ + { + id: "translationsDownloadLanguagesSelect", + control: "moz-select", + controlAttrs: { + slot: "actions", + }, + options: [ + { + value: "", + l10nId: + "settings-translations-subpage-download-languages-select-option", + }, + ], + }, + { + id: "translationsDownloadLanguagesButton", + l10nId: + "settings-translations-subpage-download-languages-button", + control: "moz-button", + controlAttrs: { + slot: "actions", + type: "ghost", + iconsrc: "chrome://browser/skin/downloads/downloads.svg", + }, + }, + ], + }, + { + id: "translationsDownloadLanguagesNoneRow", + l10nId: "settings-translations-subpage-no-languages-downloaded", + 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 @@ -436,6 +436,23 @@ settings-translations-more-settings-button = settings-translations-subpage-header = .heading = More translation settings +settings-translations-subpage-speed-up-translation-header = + .label = Speed up translation + .description = Download complete languages for faster translations and to translate offline. + +settings-translations-subpage-download-languages-header = + .label = Download languages + +settings-translations-subpage-download-languages-select-option = + .label = Select language + +settings-translations-subpage-download-languages-button = + .aria-label = Download language + .title = Download language + +settings-translations-subpage-no-languages-downloaded = + .label = No languages downloaded + # Variables: # $localeName (string) - Localized name of the locale to be used. use-system-locale =